Veri kümelerimde makine öğrenme algoritması uygulamak için Scikit kullanıyorum. Bazen etiketlerin/sınıfların kendilerine ait etiket/sınıf olasılıklarına sahip olmam gerekir. E-postaların etiketleri olarak Spam/Spam Olmama yerine, sadece bir örneğe sahip olmak isterim: 0.78 olasılık, belirli bir e-posta Spam'dir.RandomForestClassifier'ın predict_proba() işlevini güvenli ve doğru şekilde kullanma
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)
Ve bu sonuçları aldık: Bu amaçla
, ben şöyle RandomForestClassifier ile predict_proba() kullanıyorum İkinci sütun sınıfa ait[ 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]
: Spam. Bununla birlikte, kendime güvenmediğim sonuçlarla iki ana sorunum var. İlk konu, sonuçların, verilerimin büyüklüğünden etkilenmeden etiketlerin olasılıklarını temsil ettiğidir. İkinci konu, sonuçların sadece 0.701 olasılığının 0.708'den çok farklı olduğu bazı durumlarda çok spesifik olmayan sadece bir rakam göstermesidir. Örneğin sonraki 5 rakamı almanın bir yolu var mı?
Bu iki sorunu ve sorularını okuma zamanınız için şimdiden çok teşekkürler.
Sebastien ile aynı fikirdeyim, tahmin dizinizdeki belirli bir dizini arayın, muhtemelen daha hassas olacaksınız. Tahminler dizisindeki sonucun alfabetik olarak kategorinin adıyla sıralandığını kesinleştirmek istedim. – RPresle
Sevgili PRresle, yorumunuz için teşekkürler. – Clinical