** Logistische Regression, die eine Klassifizierung in mehreren Klassen ermöglicht **
Ein Modell, das versucht, einen linearen Prädiktor so zu transformieren, dass der Wertebereich [0,1] und die Summe 1 beträgt.
Weitgehend unterteilt in ** "Name Logistic Return" ** und ** "Order Logistic Return" **
(1) Namenslogistik: Klassifizierung mehrerer Klassen, wenn zwischen den Klassen keine spezielle Reihenfolge besteht ** ex) Männer = 0, Frauen = 1 **
(2) Auftragslogistik: Klassifizierung mehrerer Klassen, wenn zwischen den Klassen eine spezielle Reihenfolge besteht. ** ex) Like = 0, ich mag es nicht so sehr = 1, ich hasse = 2 **
** Dieses Mal möchte ich anhand des Datensatzes der sklearn-Bibliothek analysieren. ** **.
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_digits
digits = load_digits()
X=digits.data
y=digits.target
images_with_labels = list(zip(digits.images,digits.target))
plt.figure(figsize=(15,6))
for idx,(image,label) in enumerate(images_with_labels[:10]):
plt.subplot(2,5,idx+1)
plt.imshow(image,cmap=plt.cm.gray_r,interpolation="nearest")
plt.title("{}".format(label),fontsize=25)
plt.show()
from sklearn.metrics import confusion_matrix
from sklearn.linear_model import LogisticRegression
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
scaler=StandardScaler()
X_scaled=scaler.fit_transform(X)
X_train,X_test,y_train,y_test=train_test_split(X_scaled,y,random_state=0)
print(log_reg.score(X_train,y_train))
print(log_reg.score(X_test,y_test))
prediction=log_reg.predict(X_test)
confusion = confusion_matrix(prediction,y_test) #Erzeugung einer gemischten Matrix
print(confusinon)
Recommended Posts