本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com
sklearn可以通过LogisticRegression来构建一个逻辑回归模型,实现二分类
在建好模型后,我们往往需要提取出逻辑回归模型的表达式,即模型中的w和b参数
本文讲解在使用sklearn建模后,如何得到逻辑回归模型的表达式
本节讲解在sklearn中提取逻辑回归模型系数的方法
sklearn提取逻辑回归模型系数的方法
sklearn在使用LogisticRegression训练好逻辑回归模型后,往往需要提取模型的系数,
在从LogisticRegression训练好的逻辑回归模型中提取模型系数的方法如下:
模型对象clf里就已经存放了系数和阈值,
只需直接使用 clf.coef_[0] 和 clf.intercept_提取 即可
其中 clf.coef_[0]是模型的系数,clf.intercept_是模型的阈值
sklearn提取逻辑回归模型系数-代码实例解说
下面展示一个具体的代码实例,讲解如何提取逻辑回归的模型系数
具体代码如下:
from sklearn.datasets import load_breast_cancer
from sklearn.linear_model import LogisticRegression
import numpy as np
#----数据加载------
data = load_breast_cancer() # 加载数据
X = data.data[:,4:8] # 变量X
y = data.target # 输出y
#-----逻辑回归模型训练与预测--------------------
clf = LogisticRegression(random_state=0) # 初始化逻辑回归模型
clf.fit(X,y) # 训练模型
pred_y = clf.predict(X) # 模型的类别预测
pred_prob_y = clf.predict_proba(X)[:,1] # 模型的概率预测
#------------提取系数w与阈值b-----------------------
w = clf.coef_[0] # 模型系数(对应归一化数据)
b = clf.intercept_ # 模型阈值(对应归一化数据)
self_prob_y = 1/(1+np.exp(-(X.dot(w)+ b) )) # 用公式预测
max_e = abs(pred_prob_y-self_prob_y).max() # 公式预测结果与sklearn预测结果的最大差异
#------------打印信息--------------------------
print("\n------模型参数-------") # 打印
print( "模型系数:",w) # 打印模型系数
print( "模型阈值:",b) # 打印模型阈值
print("提取公式计算的概率与sklearn自带预测概率的最大误差", max_e) # 打印误差
运行结果如下:
将结果中的模型系数与阈值代入逻辑回归模型表达式,即可得到最终的模型为:
好了,以上就是如何在sklearn中提取逻辑回归模型的参数与阈值了~
End