1.线性回归(linear regression)
是利用回归方程(函数)对一个或者多个自变量(特征值)和因变量(目标值)之间关系进行建模的一种分析方法。
线性模型:
1.线性关系:y = w1x1 + w2x2 ... + wnxn + b (b为偏置)
2.非线性关系
线性关系一定是线性模型,线性模型不一定是线性关系
损失函数/cost/成本函数/目标函数
最小二乘法
优化损失
正规方程
直接求解
梯度下降
试错,改进
波士顿房价预测(在sklearn1.2中已删除,http://lib.stat.cmu.edu/datasets/boston)
1.获取数据集
2.划分数据集
3.特征工程--标准化
4.预估器流程
fit() coef_(权重系数) intercept_(偏置)
5.模型评估
2.欠拟合和过拟合
欠拟合:学习到的数据特征过少
解决方法:增加数据的特征数量
过拟合:原始特征过多,存在一些嘈杂特征,模型过于复杂为了兼顾各个测试数据点
解决方法:正则化
L1
损失函数 + λ惩罚项 (只是绝对值)
LASSO
L2 更常用
损失函数 + λ惩罚项 (数值的平方)
Ridge - 岭回归
3.逻辑回归的改进-岭回归
带有L2正则化的线性回归-岭回归
逻辑回归的应用场景:
广告点击率 是否会被点击/是否为垃圾邮件
是否患病/是否为金融诈骗/ 是否为虚假账号
原理:线性回归的输出就是逻辑回归的输入
激活函数
sigmoid函数 [0,1]区间中的一个概率值,默认为0.5的阈值
1/(1 + e^(-x))
假设函数/线性模型
1/(1 + e^(-(w1x1 + w2x2 ... + wnxn + b)))
损失函数
(y_predict - y_true)平方和/总数
逻辑回归的真实值/预测值 是否属于某个类别
优化损失
4.分类的评估方法
精确率与召回率
1.混淆矩阵
TP = True Possitive
FN = False Negative
2.精确率(Precision)与召回率(Recall)
精确率
召回率 查的全不全
3.F1-score 模型的稳健性
总共有100人,如果99个样本是癌症,1个样本非癌症 --样本不均衡
ROC曲线与AUC指标
TPR与FPR
TPR = TP/(TP + FN) - 召回率
所有真是类别为1的样本中,预测类别为1的比例
FPR = FP / (FP + TN)
所有真是类别为0的样本中,预测类别为1的比例
AUC(Area Under Curve):
被定义为ROC曲线下与坐标轴围成的面积,显然这个面积的数值不会大于1。
又由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围在0.5和1之间。AUC越接近1.0,
检测方法真实性越高;等于0.5时,则真实性最低,无应用价值
1.AUC只能用来评价二分类
2.AUC非常适合评价样本不均衡中的分类器性能
5.模型保存与加载
joblib.dump(estimator, 'my_ridge.pkl')
estimator = joblib.load('my_ridge.pkl')
6.无监督学习(没有目标值) -- K-means算法
聚类:K-means(K均值聚类)
降维:PCA
K-means原理:一种基于划分的无监督聚类算法,其核心思想是将数据集划分为k个簇,使得每个数据点都属于最近的簇,
并且簇的中心是所有数据点的平均值。
开发流程:
降维之后的数据
1.预估器流程
2.看结果
3.模型评估
kmeans性能评估指标
轮廓系数
如果b_i >> a_i 趋近于1效果越好,趋近于-1效果不好
轮廓系数的值介于[-1,1]之间
越趋近于1代表内聚度和分离度都相对较优
kmeans总结:采用迭代式算法,直观易懂并且非常实用
缺点:容易收敛到局部最优解