Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,因此它是on-topic,用于堆栈溢出。
                        
                        3年前关闭。
                                                                                            
                
        
我有一个由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/中的步骤进行操作

最佳答案

您永远无法完全消除它,尤其是对于这么小的样本。

首先交叉验证-您已经在执行此操作。其次使用默认参数。如果使用交叉验证的输出来更改参数,则可能会过拟合。

最后,查看整个混淆矩阵或度量,例如f1而不是准确性,该度量总结了这一点。如果有99%的人没有癌症,那么可以预测没有人有癌症的模型可以达到99%的准确率,但效果不是很好。

关于python - 小于200个样本的小型数据集的二进制分类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41603503/

10-12 19:37