本文分为 理论介绍 和 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
|