【发布时间】:2021-01-12 04:56:56
【问题描述】:
我正在尝试使用线性回归模型来预测一个值。但是,当我使用 sklearn 中的 .predict 时,我找不到一种方法来插入 X 的数据而不会出现数据类型错误。
from sklearn import linear_model
KitchenQual_X = KitchenQual_df[["OverallQual", "YearBuilt", "YearRemodAdd", "GarageCars", "GarageArea"]]
KitchenQual_Y = KitchenQual_df["dummy_KitchenQual"]
regr_KitchenQual = linear_model.LinearRegression()
regr_KitchenQual.fit(KitchenQual_X, KitchenQual_Y)
print("Predicted missing KitchenQual value: " + regr_KitchenQual.predict(df_both[["OverallQual", "YearBuilt", "YearRemodAdd", "GarageCars", "GarageArea"]].loc[[1555]]))
在我的 kaggle 笔记本中运行代码时,我收到以下错误:
---------------------------------------------------------------------------
UFuncTypeError Traceback (most recent call last)
<ipython-input-206-1f022a48e21c> in <module>
----> 1 print("Predicted missing KitchenQual value: " + regr_KitchenQual.predict(df_both[["OverallQual", "YearBuilt", "YearRemodAdd", "GarageCars", "GarageArea"]].loc[[1555]]))
UFuncTypeError: ufunc 'add' did not contain a loop with signature matching types (dtype('<U37'), dtype('<U37')) -> dtype('<U37')
如果有任何帮助,我将不胜感激 :)
【问题讨论】:
-
您的数据中似乎有文本。
-
dtype('<U37')是字符串,scikit 无法处理字符串。
标签: python pandas machine-learning scikit-learn linear-regression