sklearn与逻辑回归-应用
入门简介
一个简单的逻辑回归例子
作者 : 老饼 日期 : 2022-06-26 10:09:23 更新 : 2022-08-03 20:44:35
本站原创文章,转载请说明来自《老饼讲解-机器学习》ml.bbbdata.com


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

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


一.问题


  问 题  


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


   数 据   


具体数据如下:
 
特征:平均平滑度、平均紧凑度、平均凹面、平均凹点,类别:0-恶性、1-良性

即以sk-learn中的breast_cancer的数据,breast_cancer原数据中有30个特征,为方便讲解,我们这里只选4个。




二.流程与代码:


  (一) 流程  


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


  (二) 代码  


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 





联系老饼