Python ist eine weit verbreitete Programmiersprache und seine leistungsstarken Datenanalyse- und Visualisierungsfunktionen machen es zu einem der bevorzugten Tools für Datenwissenschaftler und Ingenieure für maschinelles Lernen. In diesen Anwendungen ist die Residuenanalyse eine gängige Technik zur Bewertung der Modellgenauigkeit und zur Identifizierung etwaiger Modellverzerrungen. In diesem Artikel stellen wir verschiedene Möglichkeiten zur Verwendung von Restanalysetechniken in Python vor.
Bevor wir Techniken zur Residuenanalyse in Python einführen, wollen wir zunächst verstehen, was Residuen sind. In der Statistik sind Residuen die Unterschiede oder Fehler zwischen tatsächlich beobachteten Werten und vorhergesagten Werten. Nachdem wir ein beliebiges Modell erstellt haben, können wir das Residuum für jede Beobachtung berechnen, was uns hilft zu bewerten, ob das Modell zukünftige Ergebnisse genau vorhersagen kann.
In Python können wir Bibliotheken wie Pandas und NumPy verwenden, um die Residuen zu berechnen. Beziehen Sie sich auf den folgenden Code:
import pandas as pd import numpy as np # 创建数据集 y_true = pd.Series([1, 2, 3, 4, 5]) y_pred = pd.Series([1.2, 2.1, 2.8, 3.7, 4.5]) # 计算残差 residuals = y_true - y_pred print(residuals)
Der obige Code erstellt zwei Objekte der Pandas-Serie, die den wahren Wert bzw. den vorhergesagten Wert darstellen. Berechnen Sie dann ihre Residuen durch Subtraktion und drucken Sie sie aus.
Das Residuen-Streudiagramm ist ein häufig verwendetes Residuenanalysetool zur Visualisierung der Fehlerverteilung eines Modells. Es zeigt die Beziehung zwischen dem Restwert für jede Beobachtung und dem vorhergesagten Wert für diese Beobachtung.
In Python können wir Streudiagramme mit der Funktion „scatter()“ in der Matplotlib-Bibliothek erstellen. Sehen Sie sich den folgenden Code an:
import matplotlib.pyplot as plt # 绘制残差散点图 plt.scatter(y_pred, residuals) plt.title('Residual plot') plt.ylabel('Residuals') plt.xlabel('Fitted values') plt.axhline(y=0, color='r', linestyle='-') plt.show()
Der obige Code verwendet die Funktion Scatter(), um ein Streudiagramm zu erstellen. Die horizontale Achse stellt vorhergesagte Werte dar und die vertikale Achse repräsentiert Residuen. Unter anderem wird die Funktion axhline() verwendet, um eine horizontale Linie im Diagramm zu zeichnen, um uns bei der Beurteilung zu helfen, ob die Verteilung zwischen den vorhergesagten Werten und den Residuen zufällig ist. Wenn die Restwerte zufällig um 0 verteilt sind, kann das Modell als genau angesehen werden.
Neben Streudiagrammen ist das Residuen-Histogramm auch ein wirksames Residuenanalysetool zur Bewertung, ob die Modellfehlerverteilung normalverteilt ist. Im Falle einer Normalverteilung sollten die Residuenwerte zufällig um 0 verteilt sein, sodass wir ein Histogramm verwenden können, um die Verteilung unserer Residuen anzuzeigen.
In Python können wir Histogramme mit der Funktion hist() in der Matplotlib-Bibliothek erstellen. Beziehen Sie sich auf den folgenden Code:
# 绘制残差直方图 plt.hist(residuals, bins=10) plt.title('Residuals distribution') plt.xlabel('Residuals') plt.ylabel('Frequency') plt.show()
Der obige Code verwendet die Funktion hist(), um ein Histogramm zu zeichnen und die relevanten Beschriftungen und Titel festzulegen. Hier passen wir die Granularität der horizontalen Achse an, indem wir den Parameter „bins“ festlegen, um die Verteilung der Residuen besser anzuzeigen.
Q-Q-Diagramm ist ein Tool zum Testen, ob unsere Residuen der Normalverteilung entsprechen. Es wird durch den Vergleich von Quantilen zwischen Stichprobendaten und einer Standardnormalverteilung erstellt. Wenn die Residuen normalverteilt sind, sollten die Datenpunkte im Q-Q-Diagramm auf einer geraden Linie liegen. Wenn die Datenpunkte von dieser Geraden abweichen, können wir davon ausgehen, dass die Residuen nicht normalverteilt sind.
In Python können wir die Funktion probplot() in der Scipy-Bibliothek verwenden, um Q-Q-Diagramme zu zeichnen. Beziehen Sie sich auf den folgenden Code:
from scipy.stats import probplot # 绘制Q-Q图 probplot(residuals, dist='norm', plot=plt) plt.title('Q-Q plot') plt.show()
Der obige Code verwendet die Funktion probplot(), um ein Q-Q-Diagramm zu erstellen, und setzt den dist-Parameter auf „norm“, was bedeutet, dass die Standardnormalverteilung als Vergleichsbenchmark verwendet wird. Wenn die Datenpunkte von der geraden Linie abweichen, können wir durch Untersuchung des gezeichneten Diagramms bestätigen, dass die Residuen normalverteilt sind.
Zusammenfassung
In diesem Artikel haben wir Residuenanalysetechniken in Python vorgestellt und mehrere wichtige Tools vorgestellt, wie z. B. Residuenstreudiagramme, Residuenhistogramme und Q-Q-Diagramme. Diese Techniken werden häufig verwendet, um die Modellgenauigkeit zu bewerten und Modellverzerrungen zu identifizieren. Wenn wir diese Techniken beherrschen, können wir Daten besser verstehen und analysieren und bessere Vorschläge für Verbesserungen und Anpassungen unserer Modelle für maschinelles Lernen machen.
Das obige ist der detaillierte Inhalt vonRestanalysetechniken in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!