0

J'ai un jeu de données composé de 181 échantillons et 10 caractéristiques et une variable cible. Les 10 caractéristiques sont numériques et continues dans la nature. Je dois effectuer une classification binaire. Je l'ai fait les travaux suivants: -Classification binaire sur un petit jeu de données <200 échantillons

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 

S'il vous plaît me guider comment pourrais-je choisir le meilleur modèle pour cette taille de jeu de données et assurez-vous que mon modèle n'est pas surapprentissage? J'ai suivi les étapes de la carte sklearn http://scikit-learn.org/stable/tutorial/machine_learning_map/

+1

Il ne s'agit pas vraiment de programmation. Essayez de poster ceci sur [cross-validated] (http://stats.stackexchange.com/) ou [data science] (http://datascience.stackexchange.com/) – gobrewers14

Répondre

1

Vous ne pouvez jamais l'éliminer complètement, surtout avec un si petit échantillon. Premièrement, effectuez une validation croisée, ce que vous faites déjà. Deuxièmement, utilisez les paramètres par défaut. Si vous utilisez la sortie de la validation croisée pour modifier les paramètres, vous risquez de surenchérir. Enfin, regardez l'ensemble de la matrice de confusion ou une métrique qui résume ceci, comme f1 plutôt que la précision. Si 99% des gens n'ont pas de cancer, alors un modèle qui prédit que personne n'a un cancer est précis à 99% mais pas très utile.