Mittelwert der K-Fold-Cross-Validation anzeigen lassen

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
Luke_Beginner
User
Beiträge: 2
Registriert: Samstag 20. Juni 2020, 15:36

Hi liebe Community,

wie kann ich mir den Mittelwert von (n_split = 4) ausgeben lassen. Ich weis man könnte diesen Code etwas anders schreiben, würde den Code aber erstmal gerne so beibehalten. Auch müsste diese mean Funktion mit numpy funktionieren, jedoch waren meine Versuche bis jetzt nicht erfolgreich.
Bis jetzt bekomme ich es nur hin, mir den Genauigkeitswert anzeigen zu lassen, aber eben für jedes (n_split = 4). Kann mir da jemand helfen, ich komme da einfach nicht weiter...



Eingabe:

]X =df [["seat_comfort", "cabin_service","food_bev", "entertainment", "ground_service", "value_for_money"]].values
y= df [["recommended"]].values

from sklearn.model_selection import cross_val_score
from sklearn.model_selection import KFold
from sklearn.tree import DecisionTreeClassifier

import numpy as np


kf = KFold(n_splits = 4)#, shuffle = True)

for train_index, test_index in kf.split(X):
print("train" + str(train_index))
print("test" + str(test_index))
print("------------------------------------------------------")
X_test = X[test_index]
X_train = X[train_index]

y_test = y[test_index]
y_train = y[train_index]


model = DecisionTreeClassifier(criterion = "entropy", min_samples_leaf = 100, max_depth = 10)
model.fit(X_train, y_train)

print (model.score(X_test, y_test))



Ausgabe:

train[16110 16111 16112 ... 64437 64438 64439]
test[ 0 1 2 ... 16107 16108 16109]
------------------------------------------------------
0.9315332091868405
train[ 0 1 2 ... 64437 64438 64439]
test[16110 16111 16112 ... 32217 32218 32219]
------------------------------------------------------
0.9271880819366853
train[ 0 1 2 ... 64437 64438 64439]
test[32220 32221 32222 ... 48327 48328 48329]
------------------------------------------------------
0.9303538175046555
train[ 0 1 2 ... 48327 48328 48329]
test[48330 48331 48332 ... 64437 64438 64439]
------------------------------------------------------
0.9538795779019242


Ich danke.

LG

Luke
Antworten