首页 > 编程语言 >Python人工智能经典算法之线性回归

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

时间:2022-10-14 11:39:08浏览次数:58  
标签:交叉 验证 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,梯度,样本,下降,人工智能,算法,--
From: https://blog.51cto.com/u_15829196/5755947

相关文章

  • Python爬虫之数据提取概述
    数据提取概述知识点了解响应内容的分类了解xml和html的区别1.响应内容的分类在发送请求获取响应之后,可能存在多种不同类型的响应内容;而且很多时候,我们只需要响应内容中的......
  • Python爬虫之数据提取-selenium定位获取标签对象并提取数据
    selenium提取数据知识点:了解driver对象的常用属性和方法掌握driver对象定位标签元素获取标签对象的方法掌握标签对象提取文本和属性值的方法1.driver对象的常用属性和方......
  • Python爬虫之scrapy的日志信息与配置
    scrapy的日志信息与配置学习目标:了解scrapy的日志信息掌握scrapy的常用配置掌握scrapy_redis配置了解scrapy_splash配置了解scrapy_redis和scrapy_splash配合使用的配置1......
  • Python爬虫之数据提取-selenium的其它使用方法
    selenium的其它使用方法知识点:掌握selenium控制标签页的切换掌握selenium控制iframe的切换掌握利用selenium获取cookie的方法掌握手动实现页面等待掌握selenium控制浏......
  • Python爬虫之mongodb的聚合操作
    mongodb的聚合操作学习目标了解mongodb的聚合原理掌握mongdb的管道命令掌握mongdb的表达式1mongodb的聚合是什么聚合(aggregate)是基于数据处理的聚合管道,每个文档通过......
  • Python爬虫之mongodb的索引操作
    Mongodb的索引操作学习目标掌握mongodb索引的创建,删除操作掌握mongodb查看索引的方法掌握mongodb创建唯一索引的方法1.为什么mongdb需要创建索引加快查询速度进行数据的......
  • Python爬虫之scrapy构造并发送请求
    scrapy数据建模与请求学习目标:应用在scrapy项目中进行建模应用构造Request对象,并发送请求应用利用meta参数在不同的解析函数中传递数据1.数据建模通常在做项目的过程中,......
  • Python爬虫之scrapy模拟登陆
    scrapy模拟登陆学习目标:应用请求对象cookies参数的使用了解start_requests函数的作用应用构造并发送post请求1.回顾之前的模拟登陆的方法1.1requests模块是如何实现模......
  • Python爬虫之scrapy_redis原理分析并实现断点续爬以及分布式爬虫
    scrapy_redis原理分析并实现断点续爬以及分布式爬虫学习目标了解scrapy实现去重的原理了解scrapy中请求入队的条件掌握scrapy_redis基于url地址的增量式单机爬虫掌握scr......
  • Python爬虫之scrapy_redis概念作用和流程
    scrapy_redis概念作用和流程学习目标了解分布式的概念及特点了解scarpy_redis的概念了解scrapy_redis的作用了解scrapy_redis的工作流程在前面scrapy框架中我们已经能够......