绘制具有多个特征变量的SVM?

时间:2020-01-27 02:42:09

标签: python machine-learning data-visualization svm data-science

是否可以将我的SVM分类器拟合到具有4个特征变量的数据集上,然后将结果绘制在2D平面上?

这是代码:

import numpy as np
import pandas as pd
from sklearn import svm
from mlxtend.plotting import plot_decision_regions
import matplotlib.pyplot as plt


X=dataset.iloc[:,0:2].values

Y=dataset.iloc[:,4].values

from sklearn.preprocessing import LabelEncoder
number=LabelEncoder()
Y=number.fit_transform(Y.astype('str'))

clf = svm.SVC(decision_function_shape='ovo')
clf.fit(X, Y) 

plot_decision_regions(X=X, 
                      y=Y.astype(np.integer),
                      clf=clf, 
                      legend=2)

输出为x x y图像,分为3个区域。

enter image description here

我想更改代码,以使分类器适合4个变量(而不是2个),但数据点仍绘制在2D平面上。

当我更改

X=dataset.iloc[:,0:2].valuesX=dataset.iloc[:,0:4].values

我收到以下错误消息:X具有两个以上的训练功能时,必须提供填充值

我尝试对4个变量拟合clf,然后将X更改回 X=dataset.iloc[:,0:2].values,然后运行:

plot_decision_regions(X=X, 
                      y=Y.astype(np.integer),
                      clf=clf, 
                      legend=2)

也没有用。我收到以下错误:X.shape 1 = 2应该等于4,即训练时的要素数量。

任何方法都可以做到吗?

0 个答案:

没有答案