多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
> 演示调用SKLearn API,实现逻辑分类及多元逻辑分类。 > 本课学习时长评估:2小时。 > [代码原始链接](https://www.cnblogs.com/yuxiangyang/p/11186809.html) > [代码用的数据链接](https://github.com/LXP-Never/data) ## 前置学习内容 [经典算法-逻辑回归](https://www.kancloud.cn/pumadong/laodong_ml/1685772) ## 代码演示 代码演示部分,点击代码原始链接学习查看即可。 ### 二元逻辑分类 逻辑分类:----底层为线性回归问题 通过输入的样本数据,基于多元线型回归模型求出线性预测方程。 y = w0+w1x1+w2x2 但通过线型回归方程返回的是连续值,不可以直接用于分类业务模型,所以急需一种方式使得把连续的预测值->离散的预测值。 [-oo, +oo]->{0, 1} 逻辑函数(sigmoid):y = 1 / (1+e^(-x)), 该逻辑函数当x>0,y>0.5;当x<0, y<0.5; 可以把样本数据经过线性预测模型求得的值带入逻辑函数的x,即将预测函数的输出看做输入被划分为1类的概率, 择概率大的类别作为预测结果,可以根据函数值确定两个分类。这是连续函数离散化的一种方式。 逻辑回归相关API: import sklearn.linear_model as lm # 构建逻辑回归器 # solver:逻辑函数中指数的函数关系(liblinear为线型函数关系) # C:参数代表正则强度,为了防止过拟合。正则越大拟合效果越小。 model = lm.LogisticRegression(solver='liblinear', C=正则强度) model.fit(训练输入集,训练输出集) result = model.predict(带预测输入集) ### 多元逻辑分类 多元逻辑分类:----底层为线性回归问题 通过多个二元分类器解决多元分类问题。 特征1 特征2 ==> 所属类别 7 ==> A 3.5 8 ==> A 1.2 1.9 ==> B 5.4 2.2 ==> C 若拿到一组新的样本,可以基于二元逻辑分类训练出一个模型判断属于A类别的概率。 再使用同样的方法训练出两个模型分别判断属于B、C类型的概率,最终选择概率最高的类别作为新样本的分类结果。 逻辑回归相关API: import sklearn.linear_model as lm # 构建逻辑回归器 # solver:逻辑函数中指数的函数关系(liblinear为线型函数关系) # C:参数代表正则强度,为了防止过拟合。正则越大拟合效果越小。 model = lm.LogisticRegression(solver='liblinear', C=正则强度) model.fit(训练输入集,训练输出集) result = model.predict(带预测输入集)