In Udacitys Intro to Machine Learning-Klasse, ich finde, dass das Ergebnis meines Codes kann jedes Mal ändern, wenn ich es ausführen. Die richtigen Werte sind acc_min_samples_split_2 = .908 und acc_min_samples_split_2 = .912, aber wenn ich mein Skript ausführe, ist manchmal auch der Wert für acc_min_samples_split_2 = .912. Dies geschieht sowohl auf meinem lokalen Rechner als auch auf der Weboberfläche von Udacity. Warum könnte das passieren?Änderung der Entscheidungsgrenze in sklearn jedes Mal, wenn ich Code
Das Programm verwendet die SciKit Learn-Bibliothek für Python. Hier ist der Teil des Codes, die ich schrieb:
def classify(features, labels, samples):
# Creates a new Decision Tree Classifier, and fits it based on sample data
# and a specified min_sample_split value
from sklearn import tree
clf = tree.DecisionTreeClassifier(min_samples_split = samples)
clf = clf.fit(features, labels)
return clf
#Create a classifier with a min sample split of 2, and test its accuracy
clf2 = classify(features_train, labels_train, 2)
acc_min_samples_split_2 = clf2.score(features_test,labels_test)
#Create a classifier with a min sample split of 50, and test its accuracy
clf50 = classify(features_train, labels_train, 50)
acc_min_samples_split_50 = clf50.score(features_test,labels_test)
def submitAccuracies():
return {"acc_min_samples_split_2":round(acc_min_samples_split_2,3),
"acc_min_samples_split_50":round(acc_min_samples_split_50,3)}
print submitAccuracies()