我正在为 SVC Bernoulli 输出绘制二维图。
从 Avg word2vec 和标准数据转换为向量
拆分数据以进行训练和测试。
通过网格搜索找到最好的C和gamma(rbf)
clf = SVC(C=100,gamma=0.0001)
clf.fit(X_train1,y_train)
from mlxtend.plotting import plot_decision_regions
plot_decision_regions(X_train, y_train, clf=clf, legend=2)
plt.xlabel(X.columns[0], size=14)
plt.ylabel(X.columns[1], size=14)
plt.title('SVM Decision Region Boundary', size=16)
接收错误:-
ValueError: y 必须是一个 NumPy 数组。成立
还尝试将 y 转换为 numpy。然后提示错误
ValueError: y 必须是整数数组。找到对象。尝试将数组作为 y.astype(np.integer) 传递
最后我将它转换为整数数组。
现在是提示错误。
ValueError:当 X 有超过 2 个训练特征时,必须提供填充值。
最佳答案
您可以使用 PCA 将您的数据多维数据缩减为二维数据。然后将得到的结果传入plot_decision_region
并且不需要填充值。
from sklearn.decomposition import PCA
from mlxtend.plotting import plot_decision_regions
clf = SVC(C=100,gamma=0.0001)
pca = PCA(n_components = 2)
X_train2 = pca.fit_transform(X_train)
clf.fit(X_train2, y_train)
plot_decision_regions(X_train2, y_train, clf=clf, legend=2)
plt.xlabel(X.columns[0], size=14)
plt.ylabel(X.columns[1], size=14)
plt.title('SVM Decision Region Boundary', size=16)
关于python-3.x - plot_decision_regions 错误 "Filler values must be provided when X has more than 2 training features.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52952310/