Próba utworzenia drzewa decyzyjnego z walidacją krzyżową za pomocą sklearn i panad.sprawdzanie poprawności + drzewa decyzyjne w sklearn
Moje pytanie znajduje się w poniższym kodzie, sprawdzanie poprawności dzieli dane, które następnie wykorzystuję zarówno do szkolenia, jak i do testowania. Będę próbował znaleźć najlepszą głębokość drzewa, odtwarzając go n razy z różnymi ustawionymi maksymalnymi głębokościami. Czy przy używaniu sprawdzania krzyżowego powinienem używać K fałdowego CV, a jeśli tak, to w jaki sposób użyć tego kodu?
import numpy as np
import pandas as pd
from sklearn import tree
from sklearn import cross_validation
features = ["fLength", "fWidth", "fSize", "fConc", "fConc1", "fAsym", "fM3Long", "fM3Trans", "fAlpha", "fDist", "class"]
df = pd.read_csv('magic04.data',header=None,names=features)
df['class'] = df['class'].map({'g':0,'h':1})
x = df[features[:-1]]
y = df['class']
x_train,x_test,y_train,y_test = cross_validation.train_test_split(x,y,test_size=0.4,random_state=0)
depth = []
for i in range(3,20):
clf = tree.DecisionTreeClassifier(max_depth=i)
clf = clf.fit(x_train,y_train)
depth.append((i,clf.score(x_test,y_test)))
print depth
Oto link do danych, których używam w przypadku, który pomaga każdemu. https://archive.ics.uci.edu/ml/datasets/MAGIC+Gamma+Telescope
To było dokładnie to, czego szukałem; dziękuję – razeal113
Dobrze to słyszeć. Czy możesz zaakceptować odpowiedź? – Dimosthenis
+1 za udzielenie odpowiedzi na zadane pytanie, a także sugerowanie wyszukiwania w sieci, co jest zdecydowanie lepszą praktyką w tego typu problemach. – dsal1951