softmax回归python代码实现
时间: 2024-09-12 15:16:06 浏览: 52
Softmax回归,也称为多元逻辑回归,是一种用于分类问题的模型,常用于多分类任务中。它的基本思想是在每个类别上计算一个概率,并将它们归一化到0到1之间,使得所有类别的概率总和为1。以下是Python中使用scikit-learn库实现softmax回归的一个简单例子:
```python
from sklearn.linear_model import LogisticRegression
import numpy as np
# 假设我们有如下数据集
X = np.array([[0, 0], [0, 1], [1, 0], [1, 1]])
y = np.array([0, 1, 1, 0]) # 这里0和1代表两个类别
# 创建softmax回归模型
model = LogisticRegression(multi_class='multinomial', solver='lbfgs')
# 训练模型
model.fit(X, y)
# 预测新样本
new_sample = [[0, 1]] # 一个新的输入向量
prediction = model.predict(new_sample)
probability = model.predict_proba(new_sample) # 获取每个类别的预测概率
print(f"预测类别: {prediction[0]}, 概率分布: {probability[0]}")
```
在这个代码中,`multi_class='multinomial'`指定使用多项式(softmax)解,而`solver='lbfgs'`是求解算法的选择。`predict`用于得到预测的类别,`predict_proba`则返回的是每个类别的预测概率。
阅读全文