Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (6).

Letztes Mal Kurs für maschinelles Lernen an der Tsukuba University: Lernen Sie sklearn, während Sie das Python-Skript in die Aufgabe aufnehmen (5) https://github.com/legacyworld/sklearn-basic

Herausforderung 4.2 Ridge-Regression und Lassos Regularisierungspfad

Kommentar auf Youtube: 5. (1) Pro 15 Minuten 50 Sekunden Es ist fast dasselbe wie in Übung 4.1, aber dieses Mal ist es ein Problem, den Regularisierungsparameter größer zu schütteln ($ 10 ^ {-3} ~ 10 ^ {6} $) und die Auswirkung auf jeden Koeffizienten zu sehen. Ich denke, es ist eine gute Aufgabe, weil man den Unterschied zwischen Ridge und Lasso deutlich sehen kann. Dies ist der Quellcode.

python:Homework_4.2.py


import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn import linear_model
from sklearn import preprocessing

#scikit-Importieren Sie Weindaten aus Lean
df= pd.read_csv('winequality-red.csv',sep=';')
#Da die Zielwertqualität enthalten ist, erstellen Sie einen abgelegten Datenrahmen
df1 = df.drop(columns='quality')
y = df['quality'].values.reshape(-1,1)
scaler = preprocessing.StandardScaler()
#Regularisierungsparameter
alpha = 10 ** (-4)
X = df1.values
X_fit = scaler.fit_transform(X)
#DataFrame zum Speichern von Ergebnissen
df_ridge = pd.DataFrame(columns=np.append(df1.columns,'alpha'))
df_lasso = pd.DataFrame(columns=np.append(df1.columns,'alpha'))
while alpha <= 10 ** 6 + 1:
    #Ridge kehrt zurück
    model_ridge = linear_model.Ridge(alpha=alpha)
    model_ridge.fit(X_fit,y)
    tmp_se = pd.Series(np.append(model_ridge.coef_[0],alpha),index=df_ridge.columns)
    df_ridge = df_ridge.append(tmp_se,ignore_index=True)
    #Lasso kehrt zurück
    model_lasso = linear_model.Lasso(alpha=alpha)
    model_lasso.fit(X_fit,y)
    tmp_se = pd.Series(np.append(model_lasso.coef_,alpha),index=df_lasso.columns)
    df_lasso = df_lasso.append(tmp_se,ignore_index=True)
    alpha = alpha * 10 ** (0.1)

for column in df_ridge.drop(columns = 'alpha'):
    plt.plot(df_ridge['alpha'],df_ridge[column])
plt.xscale('log')
plt.gca().invert_xaxis()
plt.savefig("ridge.png ")
plt.clf()
for column in df_lasso.drop(columns = 'alpha'):
    plt.plot(df_lasso['alpha'],df_lasso[column])
plt.xscale('log')
plt.gca().invert_xaxis()
plt.savefig("lasso.png ")

Übrigens, während Alpha <= 10 ** 6 + 1: + 1 ist, weil die letzten $ 10 ^ {6} $ nicht ohne sie ausgeführt werden. Ich denke, das liegt daran, dass es mit "alpha = alpha * 10 ** (0.1)" graviert ist.

Dieses Mal habe ich beim Zeichnen zwei Änderungen vorgenommen. Machen Sie nur die X-Achse logarithmisch (quadratisch logarithmisch) plt.xscale ('log') und kehren Sie die X-Achse (auf der rechten Seite kleiner) plt.gca () um. Invert_xaxis ()

Ridge Return (links) Lasso Return (rechts) ridge.jpg

Es gibt einen deutlichen Unterschied zwischen Ridge, wo die Regularisierung allmählich funktioniert, und Lasso, das von dem mit dem kleineren Koeffizienten gegen 0 konvergiert. (Das Problem war von $ 10 ^ {-3} $, aber ich habe es geändert, weil die Gratregression in der Erklärung von $ 10 ^ {-2} $ gezogen wurde.)

Sowohl für Ridge als auch für Lasso sehen wir ein Muster, bei dem der Absolutwert des Koeffizienten zunimmt, während der Regularisierungsparameter zunimmt. Die folgende Grafik wird gezeichnet, indem nur die beweglichen Features extrahiert werden. Der Grat scheint sich stark zu bewegen, aber die Y-Achsen-Skala ist nur zehnmal unterschiedlich. ridge_increase.jpg Ich weiß nicht, ob es sich um eine Bewegung handelt, bei der der Koeffizient einer bestimmten Merkmalsmenge kleiner wird, was bis dahin nicht wahrnehmbar war. Ich dachte nicht, dass es eine solche Bewegung gibt, also war maschinelles Lernen eine gute Aufgabe, die mich denken ließ, dass es nicht einfach war.

Frühere Beiträge

Kurs für maschinelles Lernen an der Tsukuba University: Lernen Sie sklearn, während Sie das Python-Skript in die Aufgabe aufnehmen (1) Kurs für maschinelles Lernen an der Tsukuba University: Lernen Sie sklearn, während Sie das Python-Skript in die Aufgabe aufnehmen (2) Kurs für maschinelles Lernen an der Tsukuba University: Lernen Sie sklearn, während Sie das Python-Skript in die Aufgabe aufnehmen (3) Kurs für maschinelles Lernen an der Tsukuba University: Lernen Sie sklearn, während Sie das Python-Skript in die Aufgabe aufnehmen (4)

Recommended Posts

Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (17).
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (5).
Kurs für maschinelles Lernen an der Tsukuba University: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (10).
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (2).
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (13).
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (9).
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (4).
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript in die Aufgabe aufnehmen (12).
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (1)
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (3).
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (14).
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (6).
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (15).
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen. (8) Erstellen Sie Ihre eigene stochastischste Methode für den steilsten Abstieg
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen. (8) Erstellen Sie Ihre eigene stochastischste Methode für den steilsten Abstieg
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (17).
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (5).
Kurs für maschinelles Lernen an der Tsukuba University: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (10).
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (2).
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (13).
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (9).
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (4).
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript in die Aufgabe aufnehmen (12).
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (1)
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (11).
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (3).
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (14).
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (6).
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (15).
Python & Machine Learning Study Memo ⑤: Klassifikation von Ayame
Python & Machine Learning Study Memo Introduction: Einführung in die Bibliothek
Python & Machine Learning Study Memo ⑤: Klassifikation von Ayame
Python & Machine Learning Study Memo Introduction: Einführung in die Bibliothek
Bildersammlung Python-Skript zum Erstellen von Datensätzen für maschinelles Lernen
Zusammenfassung des grundlegenden Ablaufs des maschinellen Lernens mit Python
Das Ergebnis des maschinellen Lernens von Java-Ingenieuren mit Python www
[Bildbuch zum maschinellen Lernen] Memo, wenn die Python-Übung am Ende des Buches ausgeführt wurde, während die Daten überprüft wurden
Python-Lernnotiz für maschinelles Lernen von Chainer bis zum Ende von Kapitel 2
Python & Machine Learning Study Memo: Vorbereitung der Umgebung
Notizen vom Anfang von Python 1 lernen
Ich habe Python 3.5.1 installiert, um maschinelles Lernen zu studieren
Python-Grundkurs (Ende 15)
Python & maschinelles Lernen Lernnotiz Machine: Maschinelles Lernen durch Rückausbreitung
Notizen vom Anfang von Python 2 lernen
Python & Machine Learning Study Memo ⑥: Zahlenerkennung
Richten Sie die Anzahl der Stichproben zwischen Datenklassen für maschinelles Lernen mit Python aus
Einführung in das Buch "Erstellen einer profitablen KI mit Python", mit dem Sie in kürzester Zeit maschinelles Lernen erlernen können
Maschinelles Lernen eines jungen Ingenieurs Teil 1
[Python] Lesen Sie den Quellcode von Flasche Teil 2
Klassifizierung von Gitarrenbildern durch maschinelles Lernen Teil 1
Maschinelles Lernen beginnend mit Python Personal Memorandum Part2
Die Geschichte, dass die Lernkosten von Python niedrig sind
2016 Todai Mathematik mit Python gelöst
Maschinelles Lernen beginnend mit Python Personal Memorandum Part1
EV3 x Python Maschinelles Lernen Teil 2 Lineare Regression
[Python] Lesen Sie den Quellcode von Flasche Teil 1
Maschinelles Lernen eines jungen Ingenieurs Teil 2
Klassifizierung von Gitarrenbildern durch maschinelles Lernen Teil 2
Python & Machine Learning Study Memo ⑦: Aktienkursprognose
[Python + OpenCV] Malen Sie den transparenten Teil des Bildes weiß
Vorhersage der Zielzeit eines vollständigen Marathons mit maschinellem Lernen - Visual: Visualisierung von Daten mit Python-
Der erste Schritt des maschinellen Lernens ~ Für diejenigen, die versuchen möchten, mit Python zu implementieren ~
[CodeIQ] Ich habe die Wahrscheinlichkeitsverteilung von Würfeln geschrieben (aus dem CodeIQ-Mathematikkurs für maschinelles Lernen [Wahrscheinlichkeitsverteilung]).
[Maschinelles Lernen] "Erkennung von Abnormalitäten und Erkennung von Änderungen" Zeichnen wir die Abbildung von Kapitel 1 in Python.