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

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.模型评估

你可能感兴趣的:(python,机器学习)