首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python人工智能经典算法之线性回归

Python人工智能经典算法之线性回归

作者头像
海仔
发布2020-09-01 15:47:52
4860
发布2020-09-01 15:47:52
举报
文章被收录于专栏:海仔技术驿站海仔技术驿站
1.9 k近邻算法总结[**]
    优点:
        1.简单有效
        2.重新训练代价底
        3.适合类域交叉样本
        4.适合大样本自动分类
    缺点:
        1.惰性学习
        2.类别评分不是规格化
        3.输出可解释性不强
        4.对不均衡的样本不擅长
            样本不均衡:收集到的数据每个类别占比严重失衡
        5.计算量较大
1.10 交叉验证和网格搜索[****]
    1.交叉验证
        1.定义:
            将拿到的训练数据,分为训练和验证集
            *折交叉验证
        2.分割方式:
            训练集:训练集+验证集
            测试集:测试集
        3.为什么需要交叉验证
            为了让被评估的模型更加准确可信
            注意:交叉验证不能提高模型的准确率
    2.网格搜索
        超参数:
            sklearn中,需要手动指定的参数,叫做超参数
        网格搜索就是把这些超参数的值,通过字典的形式传递进去,然后进行选择最优值
    3.api:
        sklearn.model_selection.GridSearchCV(estimator, param_grid=None,cv=None)
            estimator -- 选择了哪个训练模型
            param_grid -- 需要传递的超参数
            cv -- 几折交叉验证
1.11 案例2:预测facebook签到位置[***]
    # 1、获取数据集
    # 2.基本数据处理
    # 2.1 缩小数据范围
    # 2.2 选择时间特征
    # 2.3 去掉签到较少的地方
    # 2.4 确定特征值和目标值
    # 2.5 分割数据集
    # 3.特征工程--特征预处理(标准化)
    # 4.机器学习--knn+cv
    # 5.模型评估
2. 线性回归
2.1 线性回归简介
    1.定义
        利用回归方程(函数)对一个或多个自变量(特征值)和因变量(目标值)之间关系进行建模的一种分析方式
    2.表示方式:
        h(w) = w1x1 + w2x2 + w3x3 + ... + b
            = W转置x + b
    3.分类
        线性关系
        非线性关系
2.2 线性回归api初步使用
    1.api
        sklearn.linear_model.LinearRegression()
            属性:
            LinearRegression.coef_:回归系数

2.4 线性回归的损失和优化[****]
    1.损失
        最小二乘法
    2.优化
        正规方程
        梯度下降法
    3.正规方程 -- 一蹴而就
        利用矩阵的逆,转置进行一步求解
        只是适合样本和特征比较少的情况
    4.梯度下降法 -- 循序渐进
        举例:
            山  -- 可微分的函数
            山底 -- 函数的最小值
        梯度的概念
            单变量 -- 切线
            多变量 -- 向量
        梯度下降法中关注的两个参数
            α  -- 就是步长
                步长太小 -- 下山太慢
                步长太大 -- 容易跳过极小值点(*****)
            为什么梯度要加一个负号
                梯度方向是上升最快方向,负号就是下降最快方向
    5.梯度下降法和正规方程对比:
        梯度下降                 正规方程
        需要选择学习率          不需要
        需要迭代求解            一次运算得出
        特征数量较大可以使用     需要计算方程,时间复杂度高O(n3)
    6.选择:
        小规模数据:
            LinearRegression(不能解决拟合问题)
            岭回归
        大规模数据:
            SGDRegressor
2.5 梯度下降法介绍[###]
    1 全梯度下降算法(FG)
        在进行计算的时候,计算所有样本的误差平均值,作为我的目标函数
    2 随机梯度下降算法(SG)
        每次只选择一个样本进行考核
    3 小批量梯度下降算法(mini-bantch)
        选择一部分样本进行考核
    4 随机平均梯度下降算法(SAG)
        会给每个样本都维持一个平均值,后期计算的时候,参考这个平均值
2.6 api
    正规方程
        sklearn.linear_model.LinearRegression(fit_intercept=True)
    梯度下降法


2.7 案例[**]
    # 1.获取数据
    # 2.数据基本处理
    # 2.1 数据集划分
    # 3.特征工程 --标准化
    # 4.机器学习(线性回归)
    # 5.模型评估
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-08-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档