cross-Validierung + decision trees in sklearn

Versuch, erstellen Sie einen Entscheidungsbaum mit cross-Validierung mit sklearn und panads.

Meine Frage ist in dem code unten, wird die Kreuzvalidierung teilt die Daten, die ich dann verwenden für training und Prüfung. Ich werde versuchen zu finden, die am besten die Tiefe des Baumes durch neu es n-mal mit unterschiedlichen maximale Tiefe festgelegt. In der cross-Validierung sollte ich stattdessen verwenden k Falten Lebenslauf und wenn ja, wie würde ich das im code habe ich?

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

hier ist ein link zu den Daten, die ich benutze in Fall, dass hilft niemanden. https://archive.ics.uci.edu/ml/datasets/MAGIC+Gamma+Teleskop

InformationsquelleAutor razeal113 | 2016-01-30

Schreibe einen Kommentar