我有一个由181个样本和10个特征以及一个目标变量组成的数据集。 10个功能本质上是数字和连续的。我必须执行二进制分类。我做了以下工作: -
I have performed 3 Fold cross validation and got following accuracy results using various models:-
LinearSVC:
0.873
DecisionTreeClassifier:
0.840
Gaussian Naive Bayes:
0.845
Logistic Regression:
0.867
Gradient Boosting Classifier
0.867
Support vector classifier rbf:
0.818
Random forest:
0.867
K-nearest-neighbors:
0.823
请指导我如何为这个大小的数据集选择最佳模型并确保我的模型不会过度拟合?我已经按照sklearn地图http://scikit-learn.org/stable/tutorial/machine_learning_map/
的步骤进行操作答案 0 :(得分:1)
你永远不能完全消除它,尤其是如此小的样本。
首先交叉验证 - 您已经在做了。其次使用默认参数。如果您使用交叉验证的输出来更改参数,那么您可能会过度拟合。
最后,看看整个混淆矩阵或总结这一点的指标,如f1而不是精度。如果99%的人没有患癌症,那么预测没有人患有癌症的模型准确率达到99%但不是很有帮助。