首页 > 解决方案 > 具有两类预测变量的 svm 预测误差

问题描述

我想将 SVM 分类器应用于预测向量有两个类的问题。当我尝试输入这样的预测向量时,SVM 将错误显示为“错误输入”。是否可以向 SVM 提供这样的输入?如果没有,如何应对这个问题?

Y = np.zeros((len(y), max(y)+1))
for i in range(len(y)):  
Y[i, y[i]] = 1

from sklearn.model_selection import KFold    
kf = KFold(n_splits=3)
kf.get_n_splits(X)
print(kf)
KFold(n_splits=3, random_state=None, shuffle=False)
for train_index, test_index in kf.split(X):      
X_train, X_test = X[train_index], X[test_index]
y_train, y_test = Y[train_index], Y[test_index]
from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test)
classifier = SVC(kernel = 'linear', random_state = 0)
classifier.fit(X_train, y_train)
y_pred = classifier.predict(X_test)

矩阵 Y 如下所示

在此处输入图像描述

标签: pythonmachine-learningsvmone-hot-encoding

解决方案


推荐阅读