从组合中估计概率

一些分类算法缺乏输出结果为概率的能力,比如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) # 概率校正

 

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