from sklearn.datasets import load_breast_cancer
data = load_breast_cancer()
X = data.data
y = 1 - data.target
#Invertieren Sie 0 und 1 auf dem Etikett
X = X[:, :10]
from sklearn.linear_model import LogisticRegression
model_lor = LogisticRegression(max_iter=1000)
model_lor.fit(X, y)
y_pred = model_lor.predict(X)
・ 2 Zeilen x 2 Spalten werden angezeigt ・ Eine Matrix aus tatsächlichen Daten und vorhergesagten Daten wird erstellt ・ Oben links ist (0, 0), unten rechts ist (1, 1)
from sklearn.metrics import confusion_matrix
cm = confusion_matrix(y, y_pred)
print(cm)
・ Prozentsatz der korrekten Vorhersagen für alle Vorhersageergebnisse
from sklearn.metrics import accuracy_score
accuracy_score(y, y_pred)
・ Prozentsatz dessen, was als positiv vorhergesagt wurde, zu dem, was als positiv vorhergesagt wurde (Rechte Spaltenseite)
from sklearn.metrics import precision_score
precision_score(y, y_pred)
・ Verhältnis von Dingen, von denen richtig vorhergesagt werden kann, dass sie positiv sind, zu denen, die tatsächlich positiv sind (Absteigende Seite)
from sklearn.metrics import f1_score
f1_score(y, y_pred)
・ Harmonisierter Durchschnitt von Rückruf und Präzision ・ Es gibt einen Kompromiss zwischen Präzision und Rückruf
from sklearn.metrics import f1_score
f1_score(y, y_pred)
・ Eine Methode zum Ausdrücken, ob sie durch einen kontinuierlichen Wert von 0-1 als 0 oder 1 klassifiziert ist (wenn sie hinzugefügt wird, wird sie gleich 1). ・ 0,5 ist standardmäßig als Schwellenwert für Scilit-Learn festgelegt.
#model_lor.predict_proba(X)
import numpy as np
y_pred2 = (model_lor.predict_proba(X)[:, 1]>0.1).astype(np.int)
print(confusion_matrix(y, y_pred2))
print(accuracy_score(y, y_pred2))
print(recall_score(y, y_pred2))
・ AUC: Fläche unter der Kurve ・ ROC: Betriebsmerkmale des Empfängers ・ AUC ist der untere Bereich der ROC-Kurve ・ ROC-Kurve ・ ・ ・ Horizontale Achse: False Positive Rate, FP Vertikale Achse: True Positive Rate, TP
from sklearn.metrics import roc_curve
probas = model_lor.predict_proba(X)
fpr, tpr, thresholds = roc_curve(y, probas[:, 1])
%matplotlib inline
import matplotlib.pyplot as plt
plt.style.use('fivethirtyeight')
fig, ax = plt.subplots()
fig.set_size_inches(4.8, 5)
ax.step(fpr, tpr, 'gray')
ax.fill_between(fpr, tpr, 0, color='skyblue', alpha=0.8)
ax.set_xlabel('False Positive Rate')
ax.set_ylabel('True Positive Rate')
ax.set_facecolor('xkcd:white')
plt.show()
from sklearn.metrics import roc_auc_score
roc_auc_score(y, probas[:, 1])
Recommended Posts