老饼讲解-机器学习 机器学习 神经网络 深度学习
逻辑回归

一个简单的逻辑回归例子

作者 : 老饼 日期 : 2022-06-26 10:09:23 更新 : 2024-01-29 05:48:36
本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com


逻辑回归一般用来作二分类问题,

本文展示一个使用sklearn的实现逻辑回归的Demo例子



   01. 逻辑回归例子-问题与数据说明   



本节描述本例子需要解决的问题



  问 题  


已采集150组 乳腺癌数据:包含四个特征和乳腺癌类别。
现在需要我们可以通过数据,
 训练一个逻辑回归,用于预测乳腺癌是良性还是恶性



   数 据   


具体数据如下:
 
特征:平均平滑度、平均紧凑度、平均凹面、平均凹点,类别:0-恶性、1-良性
 即以sk-learn中的breast_cancer的数据,breast_cancer原数据中有30个特征,为方便讲解,我们这里只选4个






   02. sklearn-逻辑回归Demo代码   



本节展示调用sklearn训练一个逻辑回归的DEMO代码



      代码简介     


1. 数据归一化(用sklearn的逻辑回归一般要作数据归一化)
2. 用归一化数据训练逻辑回归模型                                      
3. 用训练好的逻辑回归模型预测                                          




   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]  #这里我们只选择4个变量进行建模
y    = data.target
#----数据归一化------
xmin=X.min(axis=0)
xmax=X.max(axis=0)
X_norm=(X-xmin)/(xmax-xmin)

#-----训练模型--------------------
clf = LogisticRegression(random_state=0)            
clf.fit(X_norm,y)

#------模型预测-------------------------------
pred_y      = clf.predict(X_norm)              # 预测类别
pred_prob_y    = clf.predict_proba(X_norm)[:,1]   # 预测属于1类的概率

print( "模型系数(对应归一化数据):",clf.coef_[0])
print( "模型阈值(对应归一化数据):",clf.intercept_)
print( "模型准确率:",(pred_y== y).sum()/len(y))



     运行结果    


运行结果如下:
模型系数(对应归一化数据): [ 0.18783816 -1.11495824 -3.6342363  -7.06872446] 
模型阈值(对应归一化数据): [3.27959399]                                                                
模型准确率: 0.8980667838312829                                                                         

✍️注意:这里的模型系数是归一化后数据对应的模型系数






以上就是用sklearn实现逻辑回归的一个最简例子







 End 





联系老饼