
278
|
第
17
章
支持向量机
17.3
计算预测分类的概率
问题描述
想知道观察值被预测为某个分类的概率。
解决方案
如果使用
scikit-learn
的
SVC
,可以设置
probability=True
,然后训练模型,接着可以使
用
predict_proba
来查看校准后的概率 :
#
加载库
from sklearn.svm import SVC
from sklearn import datasets
from sklearn.preprocessing import StandardScaler
import numpy as np
#
加载数据
iris = datasets.load_iris()
features = iris.data
target = iris.target
#
标准化特征
scaler = StandardScaler()
features_standardized = scaler.fit_transform(features)
#
创建
SVC
对象
svc = SVC(kernel="linear", probability=True, random_state=0)
#
训练分类器
model = svc.fit(features_standardized, target)
#
创建一个新的观察值
new_observation = [[.4, .4, .4, .4]]
#
查看观察值被预测为不同分类的概率
model.predict_proba(new_observation) ...