У меня есть проект, который состоит из использования алгоритма kNN в CSV-файле и отображения выбранных метрик. Но когда я пытаюсь представить некоторые метрики, это выдает несколько ошибок.
При попытке использовать: чувствительность , f1_Score и Точность :
- чувствительность - печать (metrics.recall_score (y_test, y_pred_class))
- F1_score - печать (metrics.f1_score (y_test, y_pred_class))
- Presicion - печать (metrics.precision_score (y_test, y_pred_class))
Pycharm выдает следующую ошибку:
ValueError: Цель мультиклассовая, но средняя = «двоичная» Пожалуйста, выберите другое среднее значение
Ошибка при попытке печати кривой ROC немного отличается:
ValueError: мультиклассовый формат не поддерживается
DATASET
ССЫЛКА НА ДАННЫЕ: https://www.dropbox.com/s/yt3n1eqxlsb816n/Testfile%20-%20kNN.csv?dl=0
Программа
import matplotlib
import pandas as pd
import numpy as np
import math
import matplotlib.pyplot as plt
from matplotlib.dviread import Text
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.neighbors import KNeighborsClassifier
#Tools para teste
from sklearn import metrics
from sklearn.metrics import confusion_matrix
from sklearn.metrics import f1_score
from sklearn.metrics import accuracy_score
def main():
dataset = pd.read_csv('filetestKNN.csv')
X = dataset.drop(columns=['Label'])
y = dataset['Label'].values
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0, test_size=0.34)
Classifier = KNeighborsClassifier(n_neighbors=2, p=2, metric='euclidean')
Classifier.fit(X_train, y_train)
y_pred_class = Classifier.predict(X_test)
y_pred_prob = Classifier.predict_proba(X_test)[:, 1]
accuracy = Classifier.score(X_test, y_test)
confusion = metrics.confusion_matrix(y_test, y_pred_class)
print()
print("Accuracy")
print(metrics.accuracy_score(y_test, y_pred_class))
print()
print("Classification Error")
print(1 - metrics.accuracy_score(y_test, y_pred_class))
print()
print("Confusion matrix")
print(metrics.confusion_matrix(y_test, y_pred_class))
#error
print(metrics.recall_score(y_test, y_pred_class))
#error
print(metrics.roc_curve(y_test, y_pred_class))
#error
print(metrics.f1_score(y_test, y_pred_class))
#error
print(metrics.precision_score(y_test, y_pred_class))
Я просто хотел показать метрики алгоритма на экране.