我有这个 12 个月的犯罪数据集,超过 25 万行。我想按日期和地点预测未来的犯罪

数据挖掘 机器学习 scikit-学习 预测建模 熊猫
2022-03-09 22:52:42

我拥有具有这些功能的 250k 数据集

    date_time       FullAddress             call_type priority   lat       long
0   6/14/17 21:54   10 14TH ST\, San Diego\, CA 1151    2.0 32.705449   -117.151870
1   3/29/17 22:24   10 14TH ST\, San Diego\, CA 1016    2.0 32.705449   -117.151870
2   6/3/17 18:04    10 14TH ST\, San Diego\, CA 1016    2.0 32.705449   -117.151870
3   3/17/17 10:57   10 14TH ST\, San Diego\, CA 1151    2.0 32.705449   -117.151870
4   3/3/17 23:45    10 15TH ST\, San Diego\, CA 911P    2.0 32.705722   -117.15035

日期和时间、完整地址、经纬度、电话类型和犯罪严重程度。我想预测未来犯罪发生的时间或预测再次发生的地点。我怎样才能做到这一点,我会使用回归还是分类?我已经预测了优先级,但我如何预测它会发生的时间或位置?

我预测了优先级,但并没有真正给我任何东西。我想预测时间和地点或两者之一。

这是我的优先级预测的一些代码

from sklearn.ensemble import RandomForestClassifier
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)
my_RandomForest = RandomForestClassifier(n_estimators=100, random_state=0)

my_RandomForest.fit(X_train, y_train)
y_predict_fr = my_RandomForest.predict(X_test)
from sklearn.metrics import accuracy_score
print(y_predict_fr)
accuracy_fr = accuracy_score(y_test, y_predict_fr)
print(accuracy_fr)

[4. 3. 2. ... 3. 1. 2.]
0.95100761598545
2个回答

另外我想说想想你的模型的含义(即使它只是一些玩具数据)。

如果您的模型有来自一个位置而不是另一个位置的公开数据,您最终可能会在您的数据中引入一些偏见 - 当局并不总是知道某些犯罪行为。犯罪是一个非常复杂的主题,您的功能与问题相关吗?也许其他一些特征应该在数据集中而不是?

应用在“高风险场景”中的模型经常被讨论,比如人工智能的公平性,应该非常仔细地验证。再一次,这只是一些玩具数据,但我认为这是值得注意的。

所以,记住回归和分类的用途。基本上,如果你想预测一个离散变量,你应该使用分类,如果你想预测一个连续变量,你应该使用回归。如果您在使用某种阈值方法或类似方法后对其进行量化,您也可以将回归用于离散变量。

  • 时间和位置是连续变量,您将使用回归进行预测。

  • call_type 是一个离散变量,您将使用分类对其进行预测。

  • 完整地址取决于经纬度,您可能应该从模型中删除它。