加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 使用scikit-learn(sklearn),如何处理线性回归的缺失

发布时间:2020-12-16 23:46:11 所属栏目:Python 来源:网络整理
导读:我尝试了这个,但无法让它适用于我的数据: Use Scikit Learn to do linear regression on a time series pandas data frame 我的数据包含2个DataFrame. DataFrame_1.shape =(40,5000)和DataFrame_2.shape =(40,74).我正在尝试进行某种类型的线性回归,但DataF

我尝试了这个,但无法让它适用于我的数据:
Use Scikit Learn to do linear regression on a time series pandas data frame

我的数据包含2个DataFrame. DataFrame_1.shape =(40,5000)和DataFrame_2.shape =(40,74).我正在尝试进行某种类型的线性回归,但DataFrame_2包含NaN缺失的数据值.当我DataFrame_2.dropna(how =“any”)时,形状下降到(2,74).

sklearn中是否存在可以处理NaN值的线性回归算法?

我在sklearn.datasets的load_boston之后对其进行建模,其中X,y = boston.data,boston.target =(506,13),(506,)

这是我的简化代码:

X = DataFrame_1
for col in DataFrame_2.columns:
    y = DataFrame_2[col]
    model = LinearRegression()
    model.fit(X,y)

#ValueError: Input contains NaN,infinity or a value too large for dtype('float64').

我做了上面的格式来获得与矩阵匹配的形状

如果发布DataFrame_2会有所帮助,请在下方发表评论,我会添加它.

最佳答案
您可以使用插补填充y中的空值.在scikit-learn中,使用以下代码片段完成此操作:

from sklearn.preprocessing import Imputer
imputer = Imputer()
y_imputed = imputer.fit_transform(y)

否则,您可能希望使用74列的子集作为预测变量来构建模型,也许您的某些列包含较少的空值?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读