【发布时间】:2013-06-04 03:18:06
【问题描述】:
我正在使用 scikit-learn 0.13.1 参加 Kaggle 的比赛。我正在使用决策树分类器,为了评估我的估计器,我遵循通过 train_test_split 拆分训练数据或使用 cross_val_score 进行交叉验证的技术。任何一种技术都将表明估计器的准确率约为 90%。但是,当我在实际测试数据上使用估计器时,获得的准确度会降低 30% 左右。假设训练数据很好地代表了测试数据。
我还能做些什么来评估估算器的准确性?
clf = tree.DecisionTreeClassifier( )
...
X_train, X_test, y_train, y_test = train_test_split(train, target, test_size=0.3, random_state=42)
...
clf.fit(X_train, y_train)
print "Accuracy: %0.2f " % clf.score(X_test, y_test)
...
scores = cv.cross_val_score(clf, train, target, cv=15)
print "Accuracy: %0.2f (+/- %0.2f)" % (scores.mean(), scores.std() / 2)
【问题讨论】:
标签: python-2.7 scikit-learn kaggle