我是OneHotEncoder的新手,正在尝试使用它解决分类问题。 但是,我的测试数据集在形状不同方面给了我错误。我在训练和测试数据集中有相同的列。这是我的代码:
X = pd.read_csv('Svr_good.csv') #Training data
Xt = pd.read_csv('svr_test.csv') #Testing data
X = X.select_dtypes(include=[object])
Xt = Xt.select_dtypes(include=[object])
le = preprocessing.LabelEncoder()
X_2 = X.apply(le.fit_transform)
X_4 = Xt.apply(le.fit_transform)
enc = preprocessing.OneHotEncoder()
enc1 = preprocessing.OneHotEncoder()
enc.fit(X_2)
enc1.fit(X_4)
onehotlabels = enc.transform(X_2).toarray()
onehotlabels1 = enc1.transform(X_4).toarray()
numpy_array = onehotlabels
X = numpy_array[:, 1:]
y = numpy_array[:, 0]
lm = LinearSVC()
model = lm.fit(X, y)
predictions = lm.predict(onehotlabels1)
print predictions
上面的代码给我一个功能不匹配的错误。我该怎么解决?
答案 0 :(得分:0)
问题在于您适合X并预测onehotlabels1,但是X的列少了。
如果您将X = numpy_array[:, 1:]
的{{1}}更改了,是否可行?