Как распечатать отчет о классификации и ROC_AUC_SCORE? - PullRequest
0 голосов
/ 31 января 2019

Я хочу напечатать значенияification_report и roc_auc_score на экране консоли без изменения показателя точности.Я импортировал некоторые библиотеки для других классификаторов, пожалуйста, не обращайте на них внимания.

Я попытался вставить эти строки в мой код:

from sklearn.metrics import classification_report
knn = KNeighborsClassifier()
y_pred = knn.predict(X_test)
print(classification_report(y_test,y_pred))

Но я получил "Not Fitted Error"

NotFittedError: Этот экземпляр KNeighborsClassifier еще не установлен.Вызовите 'fit' с соответствующими аргументами перед использованием этого метода.

Я ожидаю вывод

KNeighborsClassifier,Accuracy,88.70, 10.75;
roc_auc_score= 0. ...

   precision   recall  f1-score  support
0    0. ...     0. ..   0. ..     0. ..
1    0. ...     0. ..   0. ..     0. ..

Однако фактический вывод

KNeighborsClassifier,Accuracy,88.70, 10.75;

import numpy as np
import pandas as pd

data = pd.read_csv("MelanomaData.csv")

from sklearn.preprocessing import StandardScaler
sc_X = StandardScaler()
X =  pd.DataFrame(sc_X.fit_transform(data.drop(["Ouytput_1M"],axis = 1),),
        columns=['H_Mean', 'S_Mean', 'V_Mean', 'H_Max', 'S_Max', 'V_Max', 'H_Std', 'S_Std', 'V_Std',
       'Correlation', 'Energy', 'Homogeneity','Ouytput_1M'])

X.head()

y = data.Ouytput_1M

from sklearn.model_selection import train_test_split
from sklearn.neural_network import MLPClassifier
from sklearn.neighbors import KNeighborsClassifier
from sklearn.svm import SVC
from sklearn.gaussian_process import GaussianProcessClassifier
from sklearn.gaussian_process.kernels import RBF
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier, AdaBoostClassifier
from sklearn.naive_bayes import GaussianNB
from sklearn.discriminant_analysis import QuadraticDiscriminantAnalysis
from sklearn.ensemble import BaggingClassifier
from sklearn.naive_bayes import BernoulliNB
from sklearn.tree import ExtraTreeClassifier
from sklearn.ensemble import GradientBoostingClassifier
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
from sklearn.linear_model import LogisticRegression
from sklearn.svm import NuSVC
from sklearn.linear_model import PassiveAggressiveClassifier
from sklearn.neighbors import  RadiusNeighborsClassifier
from sklearn.model_selection import cross_val_score

crossValidationNumber=3;


X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.4, random_state=42)

names = ["\nKNeighborsClassifier"]

classifiers = [
    KNeighborsClassifier(2)]

results = {}
for name, clf in zip(names, classifiers):#The zip() function take iterables (can be zero or more), 
    #makes iterator that aggregates elements based on the iterables passed, and returns an iterator of tuples.
    scores = cross_val_score(clf, X_test, y_test, cv=crossValidationNumber)#10cv xtest and y_test

    results[name] = scores#results has scores of all classifier methods
for name, scores in results.items():


    print("%20s,Accuracy,%0.2f, %0.2f;" % (name, 100*scores.mean(), 100*scores.std() * 2))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...