算法应用

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

作者 : 老饼 发表日期 : 2022-06-26 10:10:10 更新日期 : 2024-03-25 16:27:12
本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com



在建好模型后,我们往往需要提取出逻辑回归模型的表达式,

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



  01. sklearn提取逻辑回归模型系数   



本节讲解在sklearn中提取逻辑回归模型系数的方法



   sklearn提取逻辑回归模型系数的方法    


sklearn在使用LogisticRegression训练好逻辑回归模型后,往往需要提取模型的系数,
在从LogisticRegression训练好的逻辑回归模型中提取模型系数的方法如下:
模型对象clf里就已经存放了系数和阈值,
只需直接使用 clf.coef_[0] 和 clf.intercept_提取 即可
其中 clf.coef_[0]是模型的系数,clf.intercept_是模型的阈值





  02.  sklearn提取逻辑回归模型系数-实例讲解   



本节以一个实例讲解如何提取逻辑回归的模型系数,

并展示最终的逻辑回归模型表达式



   sklearn提取逻辑回归模型系数Demo代码   


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]
y    = data.target
#-----训练模型--------------------
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) ))     # 用公式预测
#------------打印信息--------------------------
print("\n------模型参数-------")     
print( "模型系数:",w)
print( "模型阈值:",b)
print("提取公式计算的概率与sklearn自带预测概率的最大误差", abs(pred_prob_y-self_prob_y).max())




     运行结果     


运行结果如下:
------模型参数-------                                                                                              
模型系数: [-0.53024026 -3.48636783 -6.89132654 -4.37965412]                         
模型阈值: [1.80112869]                                                                                          
提取公式计算的概率与sklearn自带预测概率的最大误差 5.551115123125783e-17  




   最终模型表达式  


将结果中的
   模型系数:[-0.53024026 -3.48636783 -6.89132654 -4.37965412]   
   模型阈值:[1.80112869]                                                                    

代入逻辑回归模型表达式:
 

可得到最终的模型为:
 
  











 End 





联系老饼