逻辑回归-应用教程

【示例】sklearn提取逻辑回归模型系数

作者 : 老饼 发表日期 : 2022-06-26 10:10:10 更新日期 : 2025-04-05 00:53:51
本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com




sklearn可以通过LogisticRegression来构建一个逻辑回归模型,实现二分类

在建好模型后,我们往往需要提取出逻辑回归模型的表达式,即模型中的w和b参数

本文讲解在使用sklearn建模后,如何得到逻辑回归模型的表达式





  01. 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 





内容纠正