Сюжет SVM с несколькими характеристическими переменными? - PullRequest
0 голосов
/ 27 января 2020

Возможно ли разместить мой классификатор SVM в наборе данных с 4 характеристическими переменными, а затем отобразить результаты на двухмерной плоскости?

Это код:

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 на y, разделенное на 3 области.

введите описание изображения здесь

Я хочу изменить код так, чтобы классификатор соответствовал 4 переменным (не 2), но точки данных все еще были нанесены на 2D самолет.

Когда я изменяю

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

Я получаю следующую ошибку: значения заполнителя должны быть предоставлены, когда X имеет более 2 обучающих функций

Я попытался установить clf на 4 переменные, затем изменил 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, количество функций во время обучения.

Как это можно сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...