從組合中估計概率

一些分類算法缺乏輸出結果爲概率的能力,比如rf

這個時候使用calibratedclassifiercv,它使用2種方法將分類結果轉化爲概率

第一種:platte的歸類方法

第二種:isotonic迴歸

import pandas as pd
import matplotlib.pyplot as plt
from sklearn.calibration import CalibratedClassifierCV,calibration_curve
hypothesis = RandomForestClassifier(n_estimators=100,random_state=101)
calibration = CalibratedClassifierCV(hypothesis,method='sigmoid',cv=5)
# sigmoid代表platt方法
covertype_X = covertype_dataset.data[:15000,:]
covertype_y = covertype_dataset.target[:15000]
covertype_test_X = covertype_dataset.data[15000:25000,:]
covertype_test_y = covertype_dataset.target[15000:25000]

hypothesis.fit(covertype_X,covertype_y)
calibration.fit(covertype_X,covertype_y)
prob_raw = hypothesis.predict_proba(covertype_test_X) # 原始的隨機森林概率
prob_cal = calibration.predict_proba(covertype_test_X) # 概率校正

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章