逻辑回归

介绍

逻辑回归是一个常见的分类模型,他的公式非常简单,是y= 1/(1+e^-(wx+b)),它跟线性回归的区别就是多了一个分类函数 ,cls(x) = 1/(1+e^-x)。

常规任务

一般来说,我们习惯用逻辑回归做分类任务,然后通过precision,recall,accuracy等指标去判断这个模型学习的效果 。如果这些指标学习的不太好,我们可以通过w的各个维度的值来判断模型学习的方向是否符合业务。

数据准备

我们需要的数据是 m行 ,n列 的表格数据, csv 或者是Excel都可以。
我这里用pandas 自带的read excel进行xlsx文件的读取。
注意在机器学习中,n是 维度。那么我们的csv文件应该有一列是 label , 也就是y
其他列都是x。

环境准备

python 3
在命令行输入
pip install pandas
pip install sklearn
基本上完成安装

基本代码

import pandas as pd
df = pd.read_excel('xxx.xlsx')
y = df['label']
features = [....]
X = df[features]

logreg = linear_model.LogisticRegression(C=1e3)
logreg.fit(X,y)
res = logreg.score(X,y)
print(res)

这些代码基本上就训练好一个模型了

参数

逻辑回归模型本身可以调 penalty , 也就是 lasso 和ridge 正则, 还有就是对应的C参数,c越小,表示模型复杂度约束越紧。

模型参数查看

w = model.coef_.tolist()[0]
b = model.intercept_.tolist()[0]
有了这两个, 你就可以根据 wx+b对数据的分数进行排序了。
你会发现, w越大,y越靠近 1/(1+1/(e^ 无穷)) = =1/(1+0)=1 ,也就是概率越大

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容