Как добавить значения заполнителя для 10 объектов? - PullRequest
0 голосов
/ 22 апреля 2019

Я пытаюсь добавить значения объектов-заполнителей для моей границы нелинейного решения SVM. Я получил эту ошибку Column(s) [1 5 6 7 8] need to be accounted for in either feature_index or filler_feature_values.

Вот мой код:

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

autism = pd.read_csv('10-features-uns.csv')

X = autism.drop(['TARGET'], axis = 1)  
y = autism['TARGET']
x_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.30, random_state=1)

clf = svm.SVC(C=1.0, kernel='rbf', gamma=0.8)
clf.fit(X_test.values, y_test.values) 

value=1.5
width=0.75

# Plot Decision Region using mlxtend's awesome plotting function
plot_decision_regions(X=X_test.values, 
                      y=y_test.values,
                      clf=clf,
                      feature_index=[0,9],
                      filler_feature_values={2: value, 3:value, 4:value},
                      filler_feature_ranges={2: width, 3: width, 4: width}, 
                      legend=2)

# Update plot object with X/Y axis labels and Figure Title
plt.xlabel(X_test.columns[0], size=14)
plt.ylabel(X_test.columns[1], size=14)
plt.title('SVM Decision Region Boundary', size=16)
plt.show()

У меня есть 2 выходных класса; класс 1 и класс 0. Вот мой входной файл. Input

1 Ответ

0 голосов
/ 22 апреля 2019

Вы строите объект 0 против объекта 9 (feature_index) и заполняете значения объектов 2, 3 и 4 (filler_feature_values). Нигде вы не указываете, что делать с функциями 1, 5, 6, 7, 8, поэтому вы получаете ошибку. Добавление их к filler_feature_values / filler_feature_ranges должно решить эту проблему.

{1:value, 2: value, 3:value, 4:value, 5:value, 6: value, 7:value, 8:value}

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