Ich versuche, ein Regression
Modell zu erstellen , und suche nach einer Möglichkeit, um zu überprüfen, ob eine Korrelation zwischen Features und Zielvariablen besteht.
Dies ist meine Probe dataset
Loan_ID Gender Married Dependents Education Self_Employed ApplicantIncome\
0 LP001002 Male No 0 Graduate No 5849
1 LP001003 Male Yes 1 Graduate No 4583
2 LP001005 Male Yes 0 Graduate Yes 3000
3 LP001006 Male Yes 0 Not Graduate No 2583
4 LP001008 Male No 0 Graduate No 6000
CoapplicantIncome LoanAmount Loan_Amount_Term Credit_History Area Loan_Status
0.0 123 360.0 1.0 Urban Y
1508.0 128.0 360.0 1.0 Rural N
0.0 66.0 360.0 1.0 Urban Y
2358.0 120.0 360.0 1.0 Urban Y
0.0 141.0 360.0 1.0 Urban Y
Ich versuche, eine LoanAmount
Spalte basierend auf den oben verfügbaren Funktionen vorherzusagen .
Ich möchte nur sehen, ob es eine Korrelation zwischen den Features und der Zielvariablen gibt. Ich habe es versucht LinearRegression
, GradientBoostingRegressor
und ich bekomme kaum eine Genauigkeit von herum 0.30 - 0.40%
.
Irgendwelche Vorschläge zu Algorithmen, Parametern usw., die ich für eine bessere Vorhersage verwenden sollte?
Antworten:
Ihre Daten können mit in einen Pandas DataFrame gestellt werden
Um eine Korrelation zu erhalten, müssen wir unsere kategorialen Merkmale in numerische konvertieren. Natürlich wird die Wahl der Reihenfolge die Korrelation beeinflussen, aber zum Glück scheinen alle unsere Kategorien binär zu sein. Ist dies nicht der Fall, müssen Sie eine benutzerdefinierte Bestellung erstellen.
Jetzt können wir die Korrelation zwischen dem 'LoanAmount' und allen anderen Funktionen erhalten.
Es ist unwahrscheinlich, dass die Verwendung von maschinellem Lernen für diese Daten funktioniert. Es gibt einfach nicht genügend Daten, um relevante Informationen zwischen Ihrer großen Anzahl von Funktionen und dem Darlehensbetrag zu extrahieren.
Sie benötigen mindestens zehnmal mehr Instanzen als Funktionen, um gute Ergebnisse zu erzielen.
Um nur die Korrelation zwischen einem Feature und einer Teilmenge der Features zu erhalten, können Sie dies tun
Dies nimmt eine Teilmenge des DataFrame und wendet dann dieselbe Funktion corr () wie oben an. Stellen Sie sicher, dass die ausgewählte Teilmenge der Spalten die Spalte enthält, mit der Sie die Korrelation berechnen möchten. In diesem Beispiel ist dies "LoanAmount".
quelle
standardscaler
odermin_max_scalar
. Ich möchte eine Klassifizierungsaufgabe ausführen.Methode in Python
Eine Möglichkeit, die Korrelation jedes Features mit der Zielvariablen zu überprüfen, besteht darin, den Code auszuführen:
Die folgende Korrelationsausgabe sollte alle Variablen und ihre Korrelationen zur Zielvariablen auflisten. Die negativen Korrelationen bedeuten, dass die Merkmalsvariable mit abnehmendem Wert der Zielvariablen an Wert zunimmt. (Linear)
Führen Sie den folgenden Code aus, um stattdessen die Korrelationen auf Plots zu zeichnen:
figsize
Geben Sie für das Argument für diescatter_matrix
Funktion die Größe ein, die am besten passt.quelle
Sie können die
pandas.DataFrame.corrwith()
Funktion verwenden, um Korrelationen zu finden:Erstellen des Datensatzes
Konvertieren der kategorialen Variablen in Zahlen
quelle