如何在 python 中拟合数据集? - lr.fit(x_train, y_train) 给我错误

Posted

技术标签:

【中文标题】如何在 python 中拟合数据集? - lr.fit(x_train, y_train) 给我错误【英文标题】:How do I go about fitting a dataset in python? - lr.fit(x_train, y_train) giving me errors 【发布时间】:2021-05-24 07:58:18 【问题描述】:

这是我的代码:

blood_df=pd.read_csv('blood_donation.csv')
x,y=blood_df.iloc[:,:-1], blood_df['Donated2020']
blood_df['Gender'].value_counts()
x_dummies = pd.get_dummies(x)
from sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split(x_dummies,y,random_state=0)

然后,当我尝试使用下面的 lr.fit 时,我开始收到错误。

from sklearn.linear_model import LinearRegression
lr = LinearRegression()
lr.fit(x_train, y_train)

这是错误的屏幕截图,因为它太严重了: error screengrab

【问题讨论】:

Input contains NaN 看起来 LinearRegression 不喜欢 nan 值。您需要估算那些 NaN 值或删除它们。 重新阅读 How to ask,因为您第一次阅读时似乎错过了一些关键点,即“DO NOT发布代码、数据、错误消息等的图像。 - 将文本复制或输入到问题中”(强调原文)。 【参考方案1】:

按照 Quang Hoang 在 cmets 中的建议,添加此方法有效:

#imputing missing values with their mean
blood_df=blood_df.fillna(blood_df.mean())

【讨论】:

以上是关于如何在 python 中拟合数据集? - lr.fit(x_train, y_train) 给我错误的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Python 中应用分段线性拟合?

我们如何在 Python 中拟合 sigmoid 函数?

Python 中的 SVM 拟合数据集时出错

机器学习基础:(Python)训练集测试集分割与交叉验证

Python机器学习中的模型选择和评估

在 SciPy 中拟合分布时如何检查收敛性