我正在尝试创建一个线性模型来预测给定年份的犯罪量。
数据集设置如下:
示例:-
每个数据点都指向给定日期的一项犯罪
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) the years
y (4123, 2312, 3231... 1231)每年的犯罪数量
我的问题是,我是否可以这样做,这样我就可以预测2019年的犯罪,并且必须按年组合?这样做,我觉得我丢失了很多数据。
from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
model = regressor.fit(x, y)
model.predict(2019)发布于 2019-11-01 11:36:01
您所要做的就是:):
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
print(df)
Date Crime year
0 2015-12-31 yes 2015
1 2015-12-15 yes 2015
2 2013-11-14 yes 2013
3 2011-03-15 yes 2011
df = (df.groupby('year').Crime.count()).reset_index()
df
year Crime
0 2011 1
1 2013 1
2 2015 2
X = df['year'].values.reshape(-1,1)
y = df['Crime']
from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
model = regressor.fit(X, y)
model.predict([[2019]])
array([2.83333333])https://stackoverflow.com/questions/58653611
复制相似问题