我有以下数据框:
A B
40 25 95
40 25 171
40 25 109
...
我想对此运行一个svm分类器。我想A
给定B
。这是我所做的:
我使用以下方法创建训练/测试集:
a_train, a_test, b_train, b_test = train_test_split(df.A,df.B, test_size=0.33)
然后(尝试)训练SVM,如下所示:
classifier = svm.SVC(kernel='linear')
y_pred = classifier.fit(a_train, b_train).predict(b_test)
我得到以下错误。
ValueError: X and y have incompatible shapes.
X has 1 samples, but y has 27766.
谁能帮我调试我做错了什么?
您的特征向量df.A是一维的,但是scikit总是期望X的二维矩阵。请尝试使用重整矩阵:
a_train, a_test, b_train, b_test = train_test_split(df.A.reshape(-1,1),df.B, test_size=0.33)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句