首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有一种方法可以在python中使用数据集中的变量计数作为预测变量来运行线性回归?

有没有一种方法可以在python中使用数据集中的变量计数作为预测变量来运行线性回归?
EN

Stack Overflow用户
提问于 2019-11-01 11:05:39
回答 1查看 73关注 0票数 0

我正在尝试创建一个线性模型来预测给定年份的犯罪量。

数据集设置如下:

示例:-

每个数据点都指向给定日期的一项犯罪

代码语言:javascript
复制
Date      Crime
12-31-15   yes
12-15-15   yes
11-14-13   yes
03-15-11   yes

我想运行一个线性回归,我的预测变量是年份,预测变量是每年的犯罪量。

我所做的,是计算每年的犯罪数量,基本上给出了我:

代码语言:javascript
复制
df['countsofarrests'] = df.groupby('year')['year'].transform('count')

x (2011, 2012, 2013... 2018) the years

y (4123, 2312, 3231... 1231)每年的犯罪数量

我的问题是,我是否可以这样做,这样我就可以预测2019年的犯罪,并且必须按年组合?这样做,我觉得我丢失了很多数据。

代码语言:javascript
复制
from sklearn.linear_model import LinearRegression

regressor = LinearRegression()

model = regressor.fit(x, y)

model.predict(2019)
EN

回答 1

Stack Overflow用户

发布于 2019-11-01 11:36:01

您所要做的就是:):

代码语言:javascript
复制
model.predict([[2019]])
代码语言:javascript
复制
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])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58653611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档