Kaggle项目之旧金山犯罪类型预测

 一 项目简介

在1934到1963年间,旧金山因为它的高犯罪率而臭名昭著

我们这个项目的数据集包括了近12年的在旧金山发生的犯罪报告,给定了具体的时间和位置,我们的目标是预测出具体的犯罪种类。

二 数据概览

这个数据集中数据的特征并不多,但是样本量有一点大。特征有以下这些:

  • Dates - 案发的具体时间
  • Category - 案件的种类,也是我们要去预测的
  • Descript - 案件描述(仅在训练集中有)
  • DayOfWeek - 星期几
  • PdDistrict - 属于哪个片区管辖
  • Resolution - 案件如何解决(仅在训练集中有)
  • Address - 具体案发地址
  • X - 案发地x坐标
  • Y - 案发地y坐标

三 数据预处理

import pandas as pd
import numpy as np
import seaborn as sns
train=pd.read_csv(r'...\Kaggle\sf-crime\train.csv')
test=pd.read_csv(r'...\Kaggle\sf-crime\test.csv')

先读取一下数据

  • 0
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
以下是基于Kaggle上的"San Francisco Crime Classification"数据集的预测分析代码,使用了Python和经典的机器学习算法。 ```python #导入必要的库 import pandas as pd import numpy as np from sklearn.preprocessing import LabelEncoder #读取数据 train = pd.read_csv('train.csv', parse_dates=['Dates']) test = pd.read_csv('test.csv', parse_dates=['Dates']) #数据预处理 le_category = LabelEncoder() train['Category'] = le_category.fit_transform(train['Category']) train['DayOfWeek'] = train['Dates'].dt.dayofweek train['Hour'] = train['Dates'].dt.hour train['Month'] = train['Dates'].dt.month test['DayOfWeek'] = test['Dates'].dt.dayofweek test['Hour'] = test['Dates'].dt.hour test['Month'] = test['Dates'].dt.month #特征选择 features = ['X', 'Y', 'DayOfWeek', 'Hour', 'Month'] X_train = train[features] X_test = test[features] y_train = train['Category'] #模型训练与预测 from sklearn.ensemble import RandomForestClassifier rfc = RandomForestClassifier(n_estimators=100) rfc.fit(X_train, y_train) y_pred = rfc.predict_proba(X_test) #生成提交结果数据 submission = pd.DataFrame(y_pred, columns=le_category.classes_) submission.set_index(test['Id'], inplace=True) submission.to_csv('submission.csv', index_label='Id') ``` 在这里,我们使用了一个随机森林分类器,对犯罪类型进行预测。在数据预处理中,我们将分类变量编码为数字,并添加了一些新的特征。在特征选择中,我们选择了X、Y坐标、星期几、小时和月份作为特征。通过训练和预测,我们得到了一个预测矩阵,它包含了每个测试样本属于每种犯罪类型的概率。最后,我们将结果保存到submission.csv文件中,以便提交给Kaggle竞赛。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值