confus au sujet de random_state dans l'arbre de décision de scikit learn
Confus au sujet de random_state
paramètre, ne sais pas pourquoi d'arbre de décision, les besoins de formation du hasard. Mes pensées, (1) est-il lié à la forêt au hasard? (2) est-il lié à la scission de formation jeu de données de test? Si oui, pourquoi ne pas utiliser la formation d'essais méthode de fractionnement directement (http://scikit-learn.org/stable/modules/generated/sklearn.cross_validation.train_test_split.html)?
http://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html
>>> from sklearn.datasets import load_iris
>>> from sklearn.cross_validation import cross_val_score
>>> from sklearn.tree import DecisionTreeClassifier
>>> clf = DecisionTreeClassifier(random_state=0)
>>> iris = load_iris()
>>> cross_val_score(clf, iris.data, iris.target, cv=10)
...
...
array([ 1. , 0.93..., 0.86..., 0.93..., 0.93...,
0.93..., 0.93..., 1. , 0.93..., 1. ])
ce qui concerne,
Lin
Cette question appartient à stats.stackexchange.com
Merci @Merlin, pourquoi? 🙂
DONC, est de la programmation, de regarder de Près. raisons pour Hors-sujet..
Merci @Merlin, pourquoi? 🙂
DONC, est de la programmation, de regarder de Près. raisons pour Hors-sujet..
OriginalL'auteur Lin Ma | 2016-08-26
Vous devez vous connecter pour publier un commentaire.
Ceci est expliqué dans la documentation
Donc, en gros, un sous-optimale de l'algorithme glouton est répété un nombre de fois à l'aide de sélections aléatoires des caractéristiques et des échantillons (une technique utilisée dans les forêts aléatoires). Le
random_state
paramètre permet de contrôler ces choix au hasard.La documentation de l'interface précise:
Donc, l'algorithme aléatoire sera utilisé dans tous les cas. En passant une valeur quelconque (qu'un int, par exemple, de 0, ou un
RandomState
exemple), n'y changera rien. La seule raison pour passer dans un int valeur (0 ou autre) est de rendre le résultat cohérent à travers des appels: si vous appelez cela avecrandom_state=0
(ou toute autre valeur), puis à chaque fois, vous obtiendrez le même résultat.random_state
dois-je choisir. Je vois souvent des gens sélectionner une valeur0
, ça veut dire qu'ils ne veulent pas de l'approximatif, algorithme glouton, mais ils veulent que le NP-complet parfait algorithme?Vous êtes les bienvenus. La valeur spécifique que vous sélectionnez n'est pas vraiment un problème il est tout à fait les résultats cohérents (= déterministe), et ne causera pas de l'aide de l'APN de l'algorithme dans tous les cas. J'ai mis à jour la réponse à montrer que.
Il fonctionne très bien comme vous le souhaitez (à chaque noeud, on retrouve la caractéristique de la "meilleure" divise les échantillons acheminés vers ce nœud), mais voici un lien.
Les 13 premières diapositives sont pertinentes. Ils décrivent l'algorithme glouton, et puis remplissez les détails, pas vraiment fournir des solutions de rechange (la théorie de l'information considérations expliquent que est la meilleure décision à chaque point). Le meilleur de tous.
Merci, vous aussi!
OriginalL'auteur Ami Tavory