【发布时间】:2020-01-04 21:12:03
【问题描述】:
我已经检查了这个问题的其他解决方案,但找不到答案。我正在使用 Python 开发 sklearn 库,但我有一个错误:
ValueError: 错误的输入形状 (1460, 80)
这是我的代码:
import pandas as pd
from sklearn.preprocessing import LabelEncoder
data = pd.read_csv("train.csv")
x,y = data.drop(['SalePrice'], axis=1), data['SalePrice']
le = LabelEncoder()
le.fit(x)
我该如何解决?对不起,我有点新手,谢谢你的帮助
EDIT1
这是错误的完整代码:
> Traceback (most recent call last): File "houseai.py", line 11, in
> <module>
> le.fit(x) File "C:\Users\UTKU\AppData\Local\Programs\Python\Python37\lib\site-packages\sklearn\preprocessing\label.py",
> line 219, in fit
> y = column_or_1d(y, warn=True) File "C:\Users\UTKU\AppData\Local\Programs\Python\Python37\lib\site-packages\sklearn\utils\validation.py",
> line 760, in column_or_1d
> raise ValueError("bad input shape {0}".format(shape)) ValueError: bad input shape (1460, 80)
【问题讨论】:
-
你能把x&y的形状放上来吗?你可以使用 x.shape & y.shape
-
首先提供一些必要的信息。就像回溯一样,我们知道错误发生在哪里。如果可能,确定哪个输入的形状错误。应该是什么形状?您可能需要提供其他变量的形状。
-
好的,我现在编辑
-
正如LabelEncoder docs 中所说的,应该使用“类似数组的形状(n_samples,)”。您提供了形状为
(1460, 80)的数据框作为参数。 -
出现错误之后的代码永远不会运行,与问题无关,并且应该不被包含(只会造成不必要的混乱);不相关的导入也是如此 - 看看现在代码的可读性和简洁性(编辑)。
标签: python pandas scikit-learn