Der wesentliche Leitfaden zum Verständnis und zur Verwendung von Korrelationen beim maschinellen Lernen
Maschinelles Lernen ist ein beliebtes Forschungsgebiet, das mithilfe von Algorithmen Modelle erstellt, die auf der Grundlage von Daten Vorhersagen oder Entscheidungen treffen können. Eines der wichtigsten Konzepte beim maschinellen Lernen ist die Korrelation. Korrelation ist ein statistisches Maß, das die Beziehung zwischen zwei Variablen beschreibt. In diesem Artikel werden wir untersuchen, was Korrelation ist, warum sie beim maschinellen Lernen wichtig ist und wie man sie in Python verwendet.
Es ist wichtig zu beachten, dass Korrelation keine Kausalität bedeutet. Nur weil zwei Variablen korrelieren, heißt das nicht, dass die eine die andere verursacht. Korrelation ist nur ein Werkzeug in unserem Werkzeugkasten für maschinelles Lernen, mit dem wir bessere Modelle erstellen können.
Mein Identify ist Mohit Mishra und ich bin ein Blogger, der faszinierende Inhalte erstellt, die bei den Lesern Lust auf mehr machen. Wer sich für maschinelles Lernen und Datenwissenschaft interessiert, sollte sich meinen Weblog ansehen. Mein Schreiben ist darauf ausgelegt, Sie mit einem regelmäßigen Veröffentlichungsplan für alle zwei Tage mit einem neuen Stück zu beschäftigen und zu faszinieren. Folgen Sie uns für ausführliche Informationen, die Lust auf mehr machen!
Wenn Ihnen der Artikel gefallen hat, bitte klatschen Und folgen mich, denn es wird mich dazu bringen, mehr und bessere Inhalte zu schreiben. Ich habe auch mein GitHub-Konto und mein Portfolio am Ende des Blogs zitiert.
Korrelation ist ein statistisches Maß, das die Stärke und Richtung der Beziehung zwischen zwei Variablen beschreibt. Der häufigste Korrelationstyp ist der Pearson-Korrelationskoeffizient, der die lineare Beziehung zwischen zwei Variablen misst. Der Korrelationskoeffizient nach Pearson liegt zwischen -1 und 1, wobei -1 eine perfekte adverse Korrelation angibt, 0 keine Korrelation angibt und 1 eine perfekte constructive Korrelation angibt.
Es gibt auch andere Arten von Korrelationskoeffizienten, beispielsweise den Rangkorrelationskoeffizienten nach Spearman und den Tau-Korrelationskoeffizienten nach Kendall. Diese Koeffizienten werden verwendet, wenn die Beziehung zwischen Variablen nicht linear ist.
„Korrelation ist eine notwendige, aber nicht hinreichende Bedingung für die Kausalität.“ — Judäa-Perle
Die Verwendung von Korrelation beim maschinellen Lernen bietet mehrere Vorteile:
- Es kann Ihnen helfen, wichtige Merkmale zu identifizieren. Indem Sie die Korrelation zwischen verschiedenen Funktionen verstehen, können Sie die Funktionen identifizieren, die für Ihr maschinelles Lernmodell am wichtigsten sind. Dies kann Ihnen helfen, die Größe Ihres Datensatzes zu reduzieren und die Leistung Ihres Modells zu verbessern.
- Es kann Ihnen helfen, eine Überanpassung zu vermeiden. Überanpassung tritt auf, wenn ein Modell für maschinelles Lernen das Rauschen in den Daten lernt und nicht die zugrunde liegenden Muster. Mithilfe der Korrelation können Sie Merkmale identifizieren, die mit der Zielvariablen korrelieren, aber nicht wirklich informativ sind. Dies kann Ihnen helfen, eine Überanpassung Ihres Modells zu vermeiden.
- Es kann Ihnen bei der Auswahl des richtigen Algorithmus für maschinelles Lernen helfen. Verschiedene Algorithmen für maschinelles Lernen eignen sich besser für unterschiedliche Datentypen. Wenn Sie die Korrelation zwischen verschiedenen Funktionen verstehen, können Sie den richtigen Algorithmus für maschinelles Lernen für Ihre Aufgabe auswählen.
Wenn wir beispielsweise ein Modell erstellen, um den Preis eines Hauses vorherzusagen, können wir Merkmale wie die Anzahl der Schlafzimmer, die Quadratmeterzahl des Hauses und den Standort des Hauses einbeziehen. Indem wir die Korrelation zwischen diesen Merkmalen verstehen, können wir bestimmen, welche Merkmale für die Vorhersage des Hauspreises am wichtigsten sind.
Korrelation kann sich auf verschiedene Weise auf die Modellierung maschinellen Lernens auswirken. Erstens können stark korrelierte Merkmale zu einer Überanpassung führen. Überanpassung tritt auf, wenn ein Modell zu komplex ist und die Trainingsdaten zu genau anpasst, was zu einer schlechten Leistung bei neuen Daten führt. Stark korrelierte Merkmale können ein Modell zu komplex machen und zu einer Überanpassung führen.
Zweitens können stark korrelierte Merkmale Multikollinearität verursachen. Multikollinearität tritt auf, wenn zwei oder mehr Merkmale stark miteinander korrelieren. Dies kann beim Erstellen linearer Regressionsmodelle zu Problemen führen, da es schwierig sein kann, die Auswirkung jedes Merkmals auf die Zielvariable zu bestimmen.
Schließlich kann uns das Verständnis der Korrelation zwischen Options dabei helfen, die besten Options für unser Modell auszuwählen. Durch die Auswahl von Merkmalen, die stark mit der Zielvariablen korrelieren, aber nicht stark miteinander korrelieren, können wir genauere Modelle erstellen.
Python bietet mehrere Bibliotheken zur Berechnung von Korrelationskoeffizienten. Die am weitesten verbreitete Bibliothek ist NumPy, die Folgendes bereitstellt corrcoef()
Funktion zur Berechnung des Korrelationskoeffizienten nach Pearson. Hier ist ein Beispiel:
import numpy as np# Create two arrays
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 6, 8, 10])
# Calculate Pearson's correlation coefficient
corr_coef = np.corrcoef(x, y)[0, 1]
print(corr_coef)
Dieser Code wird ausgegeben 1.0
was auf eine perfekte constructive Korrelation zwischen hinweist x
Und y
.
Um den Rangkorrelationskoeffizienten nach Spearman oder den Tau-Korrelationskoeffizienten nach Kendall zu berechnen, können wir verwenden spearmanr()
Und kendalltau()
Funktionen aus der SciPy-Bibliothek:
from scipy.stats import spearmanr, kendalltau# Create two arrays
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 6, 8, 10])
# Calculate Spearman's rank correlation coefficient
spearman_coef = spearmanr(x, y)[0]
# Calculate Kendall's tau correlation coefficient
kendall_coef = kendalltau(x, y)[0]
print(spearman_coef)
print(kendall_coef)
Dieser Code wird ausgegeben 1.0
sowohl für den Rangkorrelationskoeffizienten nach Spearman als auch für den Tau-Korrelationskoeffizienten nach Kendall.
„Korrelation kann irreführend sein.“ — Hans Rosling
Es gibt drei Arten von Korrelationen: constructive Korrelation, adverse Korrelation und Nullkorrelation.
Eine constructive Korrelation liegt vor, wenn zwei Variablen gemeinsam steigen oder fallen. Wenn beispielsweise die Außentemperatur steigt, steigt auch die Anzahl der verkauften Eistüten. Hier ist ein Beispiel für die Berechnung der positiven Korrelation in Python:
import numpy as np# Create two arrays with constructive correlation
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 6, 8, 10])
# Calculate Pearson's correlation coefficient
corr_coef = np.corrcoef(x, y)[0, 1]
print(corr_coef)
Dieser Code wird ausgegeben 1.0
was auf eine perfekte constructive Korrelation zwischen hinweist x
Und y
.
Eine adverse Korrelation tritt auf, wenn sich zwei Variablen in entgegengesetzte Richtungen bewegen. Wenn beispielsweise der Preis eines Produkts steigt, sinkt die Nachfrage nach diesem Produkt. Hier ist ein Beispiel für die Berechnung der negativen Korrelation in Python:
import numpy as np# Create two arrays with adverse correlation
x = np.array([1, 2, 3, 4, 5])
y = np.array([10, 8, 6, 4, 2])
# Calculate Pearson's correlation coefficient
corr_coef = np.corrcoef(x, y)[0, 1]
print(corr_coef)
Dieser Code wird ausgegeben -1.0
was auf eine perfekte adverse Korrelation zwischen hinweist x
Und y
.
Eine Nullkorrelation liegt vor, wenn zwischen zwei Variablen keine Beziehung besteht. Beispielsweise gibt es keinen Zusammenhang zwischen der Anzahl der Schuhe, die eine Individual besitzt, und ihrer Körpergröße. Hier ist ein Beispiel für die Berechnung der Nullkorrelation in Python:
import numpy as np# Create two arrays with zero correlation
x = np.array([1, 2, 3, 4, 5])
y = np.array([10, 9, 7, 11, 8])
# Calculate Pearson's correlation coefficient
corr_coef = np.corrcoef(x, y)[0, 1]
print(corr_coef)
Dieser Code wird ausgegeben 0.052
was darauf hindeutet, dass keine Korrelation zwischen x
Und y
.
Hier sind einige der am häufigsten verwendeten Korrelationsmethoden beim maschinellen Lernen:
- Pearson-Korrelationskoeffizient
- Rangkorrelationskoeffizient nach Spearman
- Kendalls Tau-Korrelationskoeffizient
„Korrelation ist ein mächtiges Werkzeug, aber es ist wichtig, es mit Bedacht einzusetzen.“ — David Hand
Der Pearson-Korrelationskoeffizient ist ein Maß für die lineare Beziehung zwischen zwei Variablen. Er reicht von -1 bis 1, wobei -1 eine perfekte adverse Korrelation angibt, 0 keine Korrelation angibt und 1 eine perfekte constructive Korrelation angibt.
So berechnen Sie den Pearson-Korrelationskoeffizienten in Python:
import pandas as pd# Load the info
information = pd.read_csv('information.csv')
# Calculate the Pearson correlation coefficient
corr = information['x'].corr(information['y'], methodology='pearson')
print('Pearson correlation coefficient:', corr)
Der Rangkorrelationskoeffizient nach Spearman ist ein Maß für die monotone Beziehung zwischen zwei Variablen. Er reicht von -1 bis 1, wobei -1 eine perfekte adverse monotone Beziehung angibt, 0 keine monotone Beziehung angibt und 1 eine perfekte constructive monotone Beziehung angibt.
So berechnen Sie den Rangkorrelationskoeffizienten nach Spearman in Python:
import pandas as pd# Load the info
information = pd.read_csv('information.csv')
# Calculate the Spearman's rank correlation coefficient
corr = information['x'].corr(information['y'], methodology='spearman')
print('Spearman's rank correlation coefficient:', corr)
Der Tau-Korrelationskoeffizient von Kendall ist ein Maß für die ordinale Beziehung zwischen zwei Variablen. Er reicht von -1 bis 1, wobei -1 eine perfekte adverse Ordnungsbeziehung angibt, 0 keine Ordnungsbeziehung angibt und 1 eine perfekte constructive Ordnungsbeziehung angibt.
„Korrelation ist ein launisches Biest.“ — Andrew Gelman
So berechnen Sie den Kendall-Tau-Korrelationskoeffizienten in Python:
import pandas as pd# Load the info
information = pd.read_csv('information.csv')
# Calculate the Kendall's tau correlation coefficient
corr = information['x'].corr(information['y'], methodology='kendall')
print('Kendall's tau correlation coefficient:', corr)
Korrelation ist ein wichtiges Konzept beim maschinellen Lernen, das uns hilft, die Beziehung zwischen verschiedenen Merkmalen in unserem Datensatz zu verstehen. Durch das Verständnis der Korrelation zwischen Merkmalen können wir genauere Modelle erstellen, die bessere Vorhersagen treffen. Python bietet mehrere Bibliotheken zur Berechnung verschiedener Arten von Korrelationskoeffizienten. Durch die Verwendung dieser Bibliotheken und das Verständnis der verschiedenen Arten der Korrelation können wir genauere Modelle für maschinelles Lernen erstellen.
„Korrelation reicht nicht aus, aber es ist ein Anfang.“ – Gary Marcus