我正在尝试创建一个线性模型来预测给定年份的犯罪数量。
数据集设置如下:-
示例:-
每个数据点均指该给定日期的犯罪
Date Crime
12-31-15 yes
12-15-15 yes
11-14-13 yes
03-15-11 yes
我想以我的预测变量为年份,而预测变量为每年的犯罪数量进行线性回归。
[我所做的是计算每年的犯罪计数,基本上给了我:
df['countsofarrests'] = df.groupby('year')['year'].transform('count')
x (2011, 2012, 2013... 2018)
年
y (4123, 2312, 3231... 1231)
每年的犯罪数量
我的问题是,我能否以某种方式做到这一点,以便能够预测2019年的犯罪,并且必须逐年合并?这样,感觉好像丢失了很多数据。
from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
model = regressor.fit(x, y)
model.predict(2019)
您要做的就是这个:):
model.predict([[2019]])
import pandas as pd
Date;Crime
12-31-15;yes
12-15-15;yes
11-14-13;yes
03-15-11;yes
df = pd.read_clipboard(sep=';')
df['Date'] = pd.to_datetime(df['Date'])
df['year'] = df.Date.dt.year
df['countsofarrests'] = df.groupby('year')['year'].transform('count')
X = df['year'].values.reshape(-1,1)
y = df['countsofarrests']
from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
model = regressor.fit(X, y)
model.predict([[2019]])
array([3.])