Cours d'apprentissage automatique à l'Université de Tsukuba: étudier sklearn tout en intégrant le script Python à la tâche (14)

Dernière fois Cours d'apprentissage automatique à l'Université de Tsukuba: étudier sklearn tout en intégrant le script Python au devoir (13) https://github.com/legacyworld/sklearn-basic

Défi 6.4 Prédiction par régression logistique

Cette fois, je n'ai pas utilisé scicit-learn pour la première fois. Le commentaire sur Youtube est le 7 (1) toutes les 25 minutes et 50 secondes Ce n'est pas un problème difficile, mais une mise en garde.

w^T = (w_0,w_1,w_2),
X = \begin{pmatrix}
x_{11}&x_{12}&\cdots&x_{110} \\
x_{21}&x_{22}&\cdots&x_{210} \\
1&1&\cdots&1
\end{pmatrix} \\
w^TX =0 est x_1,x_W dans le plan de 2_0x_1 + w_1x_2 + w_2 =Exprimé comme 0. Transformé\\
x_2 = -\frac{w_2}{w_1} - \frac{w_0}{w_1}x_1

Normalement, $ w_0 $ est la partie section, mais dans ce problème c'est $ w_2 $. Cliquez ici pour le code source

python:Homework_6.4.py


import numpy as np
import matplotlib.pyplot as plt
#Fonction Sigmaid
def sigmoid(w,x):
    return 1/(1+np.exp(-np.dot(w,x)))

# 0.Classé par 5
def classification(a):
    return 1 if a > 0.5 else 0

X = np.array([[1.5,-0.5],[-0.5,-1.0],[1.0,-2.5],[1.5,-1.0],[0.5,0.0],[1.5,-2.0],[-0.5,-0.5],[1.0,-1.0],[0.0,-1.0],[0.0,0.5]])
#Puisque la partie de section est à l'arrière, ajoutez 1 à la fin
X = np.concatenate([X,np.ones(10).reshape(-1,1)],1)
y = np.array([1,0,0,1,1,1,0,1,0,0])
w = np.array([[6,3,-2],[4.6,1,-2.2],[1,-1,-2]])
#Créez une courbe de niveau logit pour la même référence que l'explication
fig = plt.figure(figsize=(20,10))
ax = [fig.add_subplot(2,2,i+1) for i in range(4)]
ax[0].scatter(X[:,0],X[:,1])
x_plot = np.linspace(-1.0,2.0,100)
ax[0].set_ylim(-3,1)
for i in range(0,3,1):
    y_plot = -w[i][2]/w[i][1]-w[i][0]/w[i][1]*x_plot
    ax[0].plot(x_plot,y_plot,label=f"w{i+1}")
ax[0].set_title("Sample Distribution")
ax[0].legend()
ax[0].grid(b=True)

#Données de maillage
xlim = [-2.0,2.0]
ylim = [-3.0,3.0]
n = 100
xx = np.linspace(xlim[0], xlim[1], n)
yy = np.linspace(ylim[0], ylim[1], n)
YY, XX = np.meshgrid(yy, xx)
xy = np.vstack([XX.ravel(), YY.ravel(),np.ones(n**2)])

for i in range(3):
    Z = sigmoid(w[i],xy).reshape(XX.shape)
    interval = np.arange(0,1,0.01)
    #0 est violet, 1 est rouge, gradation entre eux
    m = ax[i+1].contourf(XX,YY,Z,interval,cmap="rainbow",extend="both")
    m = ax[i+1].scatter(X[:,0],X[:,1],c=y)
    ax[i+1].set_title(f"w{i+1} Logit Contour")
    fig.colorbar(mappable = m,ax=ax[i+1])
plt.savefig("6.4.png ")

# w^Calcul de T x
for index,w_i in enumerate(w):
    print(f"w{index+1} {np.dot(w_i,X.T)}")

# sigmoid(w^T x)Calculs de
np.set_printoptions(formatter={'float': '{:.2e}'.format})
for index,w_i in enumerate(w):
    print(f"w{index+1} {sigmoid(w_i,X.T)}")

#Classification
for index,w_i in enumerate(w):
    print(f"w{index+1} {np.vectorize(classification)(sigmoid(w_i,X.T))}")

#probabilité
for index,w_i in enumerate(w):
    print(f"w{index+1} {np.count_nonzero(np.vectorize(classification)(sigmoid(w_i,X.T))==y)*10}%")

C'est la ligne de contour logistique indiquée dans le commentaire. 6.4.png

Cliquez ici pour les résultats d'exécution

w_i^Tx_j (i=1,2,3 j=1,2,...,10)

w1 [ 5.5 -8.  -3.5  4.   1.   1.  -6.5  1.  -5.  -0.5]
w2 [ 4.2 -5.5 -0.1  3.7  0.1  2.7 -5.   1.4 -3.2 -1.7]
w3 [ 0.  -1.5  1.5  0.5 -1.5  1.5 -2.   0.  -1.  -2.5]

\sigma(w_i^Tx_j) (i=1,2,3 j=1,2,...,10)

w1 [9.96e-01 3.35e-04 2.93e-02 9.82e-01 7.31e-01 7.31e-01 1.50e-03 7.31e-01 6.69e-03 3.78e-01]
w2 [9.85e-01 4.07e-03 4.75e-01 9.76e-01 5.25e-01 9.37e-01 6.69e-03 8.02e-01 3.92e-02 1.54e-01]
w3 [5.00e-01 1.82e-01 8.18e-01 6.22e-01 1.82e-01 8.18e-01 1.19e-01 5.00e-01 2.69e-01 7.59e-02]

$ Résultat de classification de x_j par modèle \ sigma (w_i ^ Tx_j) $

w1 [1 0 0 1 1 1 0 1 0 0]
w2 [1 0 0 1 1 1 0 1 0 0]
w3 [0 0 1 1 0 1 0 0 0 0]

Taux de réponse correct

w1 100%
w2 100%
w3 60%

Messages passés

Cours d'apprentissage automatique à l'Université de Tsukuba: étudier sklearn tout en intégrant le script Python au devoir (1) Cours d'apprentissage automatique à l'Université de Tsukuba: étudier sklearn tout en intégrant le script Python au devoir (2) Cours d'apprentissage automatique à l'Université de Tsukuba: étudier sklearn tout en intégrant le script Python au devoir (3) Cours d'apprentissage automatique à l'Université de Tsukuba: étudier sklearn tout en intégrant le script Python au devoir (4) Cours d'apprentissage automatique à l'Université de Tsukuba: étudier sklearn tout en intégrant le script Python au devoir (5) Cours d'apprentissage automatique à l'Université de Tsukuba: étudier sklearn tout en intégrant le script Python au devoir (6) Cours d'apprentissage automatique à l'Université de Tsukuba: Étudiez sklearn tout en intégrant le script Python à la tâche (7) Créez votre propre méthode de descente la plus raide Cours d'apprentissage automatique à l'Université de Tsukuba: Étudiez sklearn tout en intégrant le script Python à la tâche (8) Créez votre propre méthode de descente stochastique la plus raide Cours d'apprentissage automatique à l'Université de Tsukuba: étudier sklearn tout en intégrant le script Python au devoir (9) Cours d'apprentissage automatique à l'Université de Tsukuba: étudier sklearn tout en intégrant le script Python au devoir (10) Cours d'apprentissage automatique à l'Université de Tsukuba: étudier sklearn tout en intégrant le script Python au devoir (11) Cours d'apprentissage automatique à l'Université de Tsukuba: étudier sklearn tout en intégrant le script Python au devoir (12) https://github.com/legacyworld/sklearn-basic https://ocw.tsukuba.ac.jp/course/systeminformation/machine_learning/

Recommended Posts

Cours d'apprentissage automatique à l'Université de Tsukuba: Étudiez sklearn tout en intégrant le script Python à la tâche (17)
Cours d'apprentissage automatique à l'Université de Tsukuba: Étudiez sklearn tout en créant le script Python faisant partie du devoir (5)
Cours d'apprentissage automatique à l'Université de Tsukuba: Étudiez sklearn tout en intégrant le script Python à la tâche (16)
Cours d'apprentissage automatique à l'Université de Tsukuba: Étudiez sklearn tout en intégrant le script Python à la tâche (10)
Cours d'apprentissage automatique à l'Université de Tsukuba: étudier sklearn tout en intégrant le script Python à la tâche (2)
Cours d'apprentissage automatique à l'Université de Tsukuba: Étudiez sklearn tout en intégrant le script Python à la tâche (13)
Cours d'apprentissage automatique à l'Université de Tsukuba: Étudiez sklearn tout en intégrant le script Python à la tâche (9)
Cours d'apprentissage automatique à l'Université de Tsukuba: Étudiez sklearn tout en intégrant le script Python à la tâche (4)
Cours d'apprentissage automatique à l'Université de Tsukuba: Étudiez sklearn tout en intégrant le script Python à la tâche (12)
Cours d'apprentissage automatique à l'Université de Tsukuba: Étudiez sklearn tout en intégrant le script Python à la tâche (1)
Cours d'apprentissage automatique à l'Université de Tsukuba: Étudiez sklearn tout en intégrant le script Python à la tâche (11)
Cours d'apprentissage automatique à l'Université de Tsukuba: Étudiez sklearn tout en intégrant le script Python à la tâche (3)
Cours d'apprentissage automatique à l'Université de Tsukuba: étudier sklearn tout en intégrant le script Python à la tâche (14)
Cours d'apprentissage automatique à l'Université de Tsukuba: Étudiez sklearn tout en créant le script Python faisant partie du devoir (6)
Cours d'apprentissage automatique à l'Université de Tsukuba: Étudiez sklearn tout en intégrant le script Python à la tâche (15)
Cours d'apprentissage automatique à l'Université de Tsukuba: Étudiez sklearn tout en intégrant le script Python à la tâche (7) Créez votre propre méthode de descente la plus raide
Cours d'apprentissage automatique à l'Université de Tsukuba: Étudiez sklearn tout en intégrant le script Python à la tâche (8) Créez votre propre méthode de descente stochastique la plus raide
Mémo d'étude Python & Machine Learning ⑤: Classification d'Ayame
Script Python de collection d'images pour créer des ensembles de données pour l'apprentissage automatique
Résumé du flux de base de l'apprentissage automatique avec Python
Le résultat de l'apprentissage automatique des ingénieurs Java avec Python www
[Livre d'images sur l'apprentissage automatique] Mémo lorsque l'exercice Python à la fin du livre a été effectué lors de la vérification des données
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer jusqu'à la fin du chapitre 2
Mémo d'étude Python & Machine Learning: Préparation de l'environnement
Notes d'apprentissage depuis le début de Python 1
J'ai installé Python 3.5.1 pour étudier l'apprentissage automatique
Cours de base Python (à la fin de 15)
Mémo d'étude Python & Machine Learning ③: Réseau neuronal
Mémo d'étude Python & Machine Learning ④: Machine Learning par rétro-propagation
Notes d'apprentissage depuis le début de Python 2
Mémo d'étude Python & Machine Learning ⑥: Reconnaissance des nombres
Alignez le nombre d'échantillons entre les classes de données pour l'apprentissage automatique avec Python
Présentation du livre "Créer une IA rentable avec Python" qui vous permet d'apprendre l'apprentissage automatique dans le cours le plus court
Mémo d'apprentissage automatique d'un ingénieur débutant Partie 1
Classification des images de guitare par apprentissage automatique Partie 1
Apprentissage automatique à partir de Python Personal Memorandum Part2
Apprentissage automatique à partir de Python Personal Memorandum Part1
EV3 x Python Machine Learning Partie 2 Régression linéaire
[Python] Lire le code source de Bottle Part 1
À propos du contenu de développement de l'apprentissage automatique (exemple)
Touchons une partie de l'apprentissage automatique avec Python
Mémo d'étude Python & Machine Learning ⑦: Prévision du cours de l'action
[Python + OpenCV] Peignez la partie transparente de l'image en blanc
La première étape de l'apprentissage automatique ~ Pour ceux qui veulent essayer l'implémentation avec python ~
[CodeIQ] J'ai écrit la distribution de probabilité des dés (du cours de mathématiques CodeIQ pour l'apprentissage automatique [Distribution de probabilités])
[Apprentissage automatique] "Détection d'anomalies et détection de changement" Dessinons la figure du chapitre 1 en Python.