Работа над проблемой классификации с использованием python scikit, ее данных медицинской диагностики, имеющих 6 функций и 2 цели. Я попытался с одной целью, обучил модель с использованием алгоритма KNN, точность прогноза составляет 100% с этой моделью.Прогнозирование исхода нескольких целей в SciKit-Learn
Теперь вы хотите расширить это на вторую цель, хотите предсказать результат двух значений y для одного и того же набора функций (6 столбцов).
Ниже приведен мой код, где Im способен точно предсказать результат цели 1 («Результат1-Мочевой пузырь»). Как я могу расширить, чтобы предсказать результат второй цели (результат 2-нефрит-почечная).
X = Feature_set
y = Target1['Outcome1-Urinary-bladder'].values
from sklearn.neighbors import KNeighborsClassifier
from sklearn import metrics
knn = KNeighborsClassifier(n_neighbors=1)
knn.fit(X,y)
y_predictor = knn.predict(X)
print metrics.accuracy_score(y,y_predictor)
Click here to view the dataset
Какие изменения должны быть внесены в код, чтобы предсказать исход 2 целевых значений ('Outcome1-Мочевой пузыря' & Outcome2-Нефрит-оф-почечной)?
Пожалуйста, помогите мне. Заранее спасибо.
'KNeighborsClassifier' поддерживает несколько выходов. – yangjie
Вне темы, но вы должны понимать, что точность должна оцениваться с использованием кросс-валидации для значимого обобщения; в вашем коде выше вы оцениваете производительность своей модели, используя тот же набор, который вы обучили – Ryan
В частности, используя KNeighborsClassifier с n_neighbors = 1, вы всегда будете иметь 100% -ную точность в своем учебном наборе, не изучая ничего. –