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

我尝试了这个,但无法让它适用于我的数据: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).我正在尝试进行某种类

我尝试了这个,但无法让它适用于我的数据:
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列的子集作为预测变量来构建模型,也许您的某些列包含较少的空值?

作者: dawei

【声明】:永州站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部