À l'aide de la predict_proba() la fonction de RandomForestClassifier dans le coffre-fort et de la bonne façon

Je suis en utilisant Scikit-apprendre à appliquer l'algorithme d'apprentissage automatique sur mon jeux de données. Parfois, j'ai besoin d'avoir les probabilités d'étiquettes/classes instauré des étiquettes/classes elles-mêmes. Au lieu d'avoir de Spam/Non Spam comme les étiquettes d'e-mails, je souhaite que par exemple: 0.78 probabilité un e-mail est un Spam.

À cette fin, je suis en utilisant predict_proba() avec RandomForestClassifier comme suit:

clf = RandomForestClassifier(n_estimators=10, max_depth=None,
    min_samples_split=1, random_state=0)
scores = cross_val_score(clf, X, y)
print(scores.mean())

classifier = clf.fit(X,y)
predictions = classifier.predict_proba(Xtest)
print(predictions)

Et j'ai obtenu ces résultats:

 [ 0.4  0.6]
 [ 0.1  0.9]
 [ 0.2  0.8]
 [ 0.7  0.3]
 [ 0.3  0.7]
 [ 0.3  0.7]
 [ 0.7  0.3]
 [ 0.4  0.6]

Où la deuxième colonne est pour la classe: le Spam. Cependant, j'ai deux problèmes principaux résultats à propos de laquelle je ne suis pas convaincu. Le premier problème est que les résultats représentent les probabilités de les étiquettes, sans être affectée par la taille de mes données? Le deuxième problème est que les résultats ne montrent qu'un seul chiffre qui n'est pas très précis dans certains cas où le 0.701 probabilité est très différent de 0.708. Est-il possible d'obtenir la prochaine à 5 chiffres, par exemple?

Merci beaucoup d'avance pour votre temps à la lecture de ces deux problèmes et leurs questions.

Je suis d'accord avec Sébastien, pour trouver un indice spécifique dans votre prédiction tableau, vous aurez probablement plus de précision. Je voulais préciser que le résultat dans les prédictions tableau sont triés par le nom de la catégorie, par ordre alphabétique.
Chers PRresle, je vous remercie pour votre commentaire.

OriginalL'auteur Clinical | 2015-06-13