我尝试了这个,但无法让它适用于我的数据:
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_1for 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 Imputerimputer = Imputer()y_imputed = imputer.fit_transform(y)
否则,您可能希望使用74列的子集作为预测变量来构建模型,也许您的某些列包含较少的空值? 总结
以上是内存溢出为你收集整理的python – 使用scikit-learn(sklearn),如何处理线性回归的缺失数据?全部内容,希望文章能够帮你解决python – 使用scikit-learn(sklearn),如何处理线性回归的缺失数据?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)