模型的保存与加载
from sklearn.externals import joblib
保存:
joblib.dump(rf,'test.pkl')
加载:
estimator = joblib.load('test.pkl')
注:文件格式pkl
加载训练好的模型,就不需要再进行模型训练。
分类算法-逻辑回归
线性回归的式子作为逻辑回归的输入。
逻辑回归是解决二分类问题的利器
sigmoid函数
与y轴交点值为0.5
逻辑回归公式
输出:[0,1]区间的概率值,默认0.5作为阈值
注:g(z)为sigmoid函数,z为线性回归的结果。
逻辑回归的损失函数、优化
与线性回归原理相同,但由于是分类问题,损失函数不一样,只能通过梯度下降求解。
目标值是1类:
均方误差与对数似然损失的对比
均方误差:不存在多个局部最低点,只有一个最小值;
对数似然损失:使用梯度下降求解,存在多个局部最小值。解决办法:1.多次随机初始化,进行比较;2.求解过程中,调整学习率。
sklearn逻辑回归API
sklearn.linear_model.LogisticRegression
- sklearn.linear_model.LogisticRegression(penalty=‘l2’, C = 1.0)
coef_:回归系数
penalty:正则化项的选择。
c:正则化系数λ的倒数,float类型,默认为1.0。
LogisticRegression回归案例
良/恶性乳腺癌肿瘤预测
数据描述:
(1)699条样本,共11列数据,第一列用语检索的id,后9列分别是与肿瘤相关的医学特征,最后一列表示肿瘤类型的数值,2为良性,4为恶性。
(2)包含16个缺失值,用”?”标出。
一般类别数量少的为正例
良/恶性乳腺癌肿分类流程
1、网上获取数据(工具pandas)
2、数据缺失值处理、标准化
3、LogisticRegression估计器流程
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import classification_report
import pandas as pd
import<