机器学习day03

本文深入探讨了回归分析,包括线性回归、欠拟合与过拟合的解决方案,如岭回归。线性回归介绍了sklearn库的使用,如LinearRegression和SGDRegressor。逻辑回归用于分类任务,讲解了其原理、损失函数及评估指标。此外,还讨论了模型保存与加载的方法。无监督学习中,重点阐述了k-means聚类算法,包括聚类评估标准如轮廓系数,并给出应用案例。
摘要由CSDN通过智能技术生成

回归与聚类

1.线性回归
回归问题:目标值是连续型的数值

线性关系一定是线性模型,线性模型不一定是线性关系

线性回归的损失和优化原理:

损失函数
优化方法:正规方程----直接求到最好的结果
         梯度下降----试错、改进

线性回归API

sklearn.linear_model.LinearRegression(fit_intercept=True)

sklearn.linear_model.SGDRegressor(loss="squared_loss", fit_intercept=True, learning_rate ='invscaling', eta0=0.01)

案例:波士顿房价预测
1)获取数据集
2)划分数据集
3)特征工程:标准化
4)线性回归预估器流程
5)模型评估:均方误差(Mean Squared Error)MSE)评价机制:

					sklearn.metrics.mean_squared_error(y_true, y_pred)
									均方误差回归损失
									y_true:真实值
									y_pred:预测值
									return:浮点数结果

在这里插入图片描述
在这里插入图片描述

2.欠拟合和过拟合
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 欠拟合:学习到的特征过少 。解决:增加数据的特征数量

  • 过拟合:原始特征过多,存在一些嘈杂特征。解决:正则化----尽量减少高次项特征的影响 调查

3.岭回归:线性回归的改进

岭回归,其实也是一种线性回归。只不过在算法建立回归方程时候,加上正则化的限制,从而达到解决过拟合的效果

sklearn.linear_model.Ridge(alpha=1.0, fit_intercept=True,solver="auto", normalize=False)

Ridge方法相当于SGDRegressor(penalty=‘l2’, loss=“squared_loss”)

sklearn.linear_model.RidgeCV(_BaseRidgeCV, RegressorMixin)

4.分类算法:逻辑回归

逻辑回归的原理:

  • 输入
    逻辑回归的输入就是一个线性回归的输出。
    在这里插入图片描述

  • 激活函数:sigmoid函数
    逻辑回归的结果输入到sigmoid函数当中
    输出结果:[0, 1]区间中的一个概率值,默认为0.5为阈值,小于0.5为一个类别,大于0.5为一个类别。

逻辑回归的损失,称之为对数似然损失

在这里插入图片描述

sklearn.linear_model.LogisticRegression(solver='liblinear', penalty=‘l2’, C = 1.0)

LogisticRegression方法相当于 SGDClassifier(loss="log", penalty=" "),SGDClassifier实现了一个普通的随机梯度下降学习,也支持平均随机梯度下降法(ASGD),可以通过设置average=True。而使用LogisticRegression(实现了SAG)

案例:癌症分类预测-良/恶性乳腺癌肿瘤预测
1)获取数据
2)数据处理—处理缺失值
3)数据集划分,先筛选特征值和目标值
4)特征工程----无量纲化:标准化
5)逻辑回归预估器
6)模型评估

分类的评估方法

  • 精确率与召回率

     混淆矩阵:在分类任务下,预测结果(Predicted Condition)与正确标记(True Condition)之间存在四种不同的组合,构成混淆矩阵(适用于多分类)
    

    在这里插入图片描述

    sklearn.metrics.classification_report(y_true, y_pred, labels=[], target_names=None )

  • F1-score,反映了模型的稳健型
    在这里插入图片描述

  • ROC曲线与AUC指标

    AUC只能用来评价二分类
    AUC非常适合评价样本不平衡中的分类器性能

5.模型保存与加载

sklearn模型的保存和加载API

from sklearn.externals import joblib
		保存:joblib.dump(rf, 'test.pkl')
		加载:estimator = joblib.load('test.pkl')

6. 无监督学习:k-means算法
在这里插入图片描述

sklearn.cluster.KMeans(n_clusters=8,init=‘k-means++’)

案例:k-means对Instacart Market用户聚类
降维之后的数据:
1)预估器流程
2)看结果
3)模型评估

  • Kmeans性能评估指标
    在这里插入图片描述
    如果b_i>>a_i:趋近于1效果越好
    b_i<<a_i:趋近于-1效果不好
    轮廓系数的值介于【-1,1】

     sklearn.metrics.silhouette_score(X, labels)
    
  • K-means总结

    特点分析:采用迭代式算法,直观易懂并且非常实用
    缺点:容易收敛到局部最优解(多次聚类)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值