本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com
在建好模型后,我们往往需要提取出逻辑回归模型的表达式,
本文讲解在使用sklearn建模后,如何得到逻辑回归模型的表达式
本节讲解在sklearn中提取逻辑回归模型系数的方法
sklearn提取逻辑回归模型系数的方法
sklearn在使用LogisticRegression训练好逻辑回归模型后,往往需要提取模型的系数,
在从LogisticRegression训练好的逻辑回归模型中提取模型系数的方法如下:
模型对象clf里就已经存放了系数和阈值,
只需直接使用 clf.coef_[0] 和 clf.intercept_提取 即可
其中 clf.coef_[0]是模型的系数,clf.intercept_是模型的阈值
本节以一个实例讲解如何提取逻辑回归的模型系数,
并展示最终的逻辑回归模型表达式
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