本文分为 理论介绍 和 Python 代码实现 两部分
👉 点此直接跳转到代码实现
LogisticRegression
LogisticRegression 中将参数 multi_class 设为 "multinomial" 则表示使用 softmax 回归方法。
LogisticRegression 的构造函数中有三个常用的参数可以设置:
solver:{'newton-cg' , 'lbfgs', 'sag', 'saga'},分别为几种优化算法。
C:正则化系数的倒数,默认为 1.0,越小代表正则化越强。
max_iter:最大训练轮数,默认为 100。
和 sklearn 中其他分类器一样,LogisticRegression 类中的 fit 函数用于训练模型,fit 函数有两个向量输入:
X:大小为 [样本数量,特征数量] 的 ndarray,存放训练样本
Y:值为整型,大小为 [样本数量] 的 ndarray,存放训练样本的分类标签
LogisticRegression 类中的 predict 函数用于预测,返回预测标签,predict 函数有一个向量输入:
X:大小为 [样本数量,特征数量] 的 ndarray,存放预测样本
LogisticRegression 的使用代码如下:
1
|
softmax_reg = LogisticRegression(multi_class="multinomial") softmax_reg.fit(X_train, Y_train) result = softmax_reg.predict(X_test)
|
Python 代码实现
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
from sklearn.linear_model import LogisticRegression
def softmax_reg(train_data, train_label, test_data):
'''
input: train_data (ndarray): 训练数据
train_label (ndarray): 训练标签
test_data (ndarray): 测试数据
output: predict (ndarray): 预测结果
'''
# 创建一个轻量级图模型并设置为 softmax 图
model = LogisticRegression(multi_class='multinomial', solver='lbfgs', max_iter=1000)
# 训练模型
model.fit(train_data, train_label)
# 进行测试数据的预测
predict = model.predict(test_data)
return predict
|