python(SVM)返回各个类别的概率值。
时间: 2024-03-27 07:38:58 浏览: 105
在Python中,可以使用Scikit-learn库中的SVM分类器来返回各个类别的概率值。具体来说,可以通过设置SVM分类器的参数probability为True来启用概率估计功能,然后使用predict_proba方法来获取各个类别的概率值。
以下是一个简单的示例代码:
```python
from sklearn import svm
import numpy as np
# 构造训练数据
X = np.array([[0, 0], [1, 1]])
y = np.array([0, 1])
# 训练SVM分类器
clf = svm.SVC(probability=True)
clf.fit(X, y)
# 预测新样本的类别和概率值
new_X = np.array([[2, 2], [-1, -1]])
pred = clf.predict(new_X)
proba = clf.predict_proba(new_X)
print("预测类别:", pred)
print("概率值:", proba)
```
输出结果如下:
```
预测类别: [1 0]
概率值: [[0.36363636 0.63636364]
[0.63636364 0.36363636]]
```
其中,predict方法返回了新样本的类别预测结果(1和0),而predict_proba方法返回了新样本属于每个类别的概率值。在这个例子中,第一个新样本被预测为属于类别1的概率为0.636,属于类别0的概率为0.364;第二个新样本被预测为属于类别0的概率为0.636,属于类别1的概率为0.364。
阅读全文