我正在做二进制分类问题。我想把一个阈值.8归类为一个特定的类。如果概率低于.8则归入另一类。怎么办呢。
clf = RandomForestClassifier(n_estimators=10, max_depth=8 ,random_state=0)
classifier = clf.fit(X_train,y_train)
predictions = classifier.predict_proba(X_train)
predict=pd.DataFrame(predictions)
与Probabilty结合后的数据框
Id Gender Age Salary country Mix_ratio Allowance 0 1
3452 M 25 245689 AU 0.46 7880 0.8 0.2
890 F 43 568909 FR 0.23 89076 0.7 0.3
4670 M 29 897643 AU 0.76 7865 0.1 0.9
7423 F 32 235892 IND 0.45 78534 0.2 0.8
94567 F 56 145823 SG 0.67 54123 0.5 0.5
23876 M 56 345122 FR 0.23 8900 0.8 0.2
感谢任何帮助。
答案 0 :(得分:0)
使用您的DataFrame,您可以执行以下操作:
df['outcome'] = np.where(df['1']>=0.8, 'Class A', 'Class B')
df
Out[88]:
Id Gender Age Salary country Mix_ratio Allowance 0 1 outcome
0 3452 M 25 245689 AU 0.46 7880 0.8 0.2 Class B
1 890 F 43 568909 FR 0.23 89076 0.7 0.3 Class B
2 4670 M 29 897643 AU 0.76 7865 0.1 0.9 Class A
3 7423 F 32 235892 IND 0.45 78534 0.2 0.8 Class A
4 94567 F 56 145823 SG 0.67 54123 0.5 0.5 Class B
5 23876 M 56 345122 FR 0.23 8900 0.8 0.2 Class B