如何使用python中的scikit训练SVM?
我有以下数据帧:如何使用python中的scikit训练SVM?,python,scipy,scikit-learn,Python,Scipy,Scikit Learn,我有以下数据帧: 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(ke
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有一个2d矩阵。请尝试重塑矩阵:
a_train, a_test, b_train, b_test = train_test_split(df.A.reshape(-1,1),df.B, test_size=0.33)