【数据分析】学习笔记day1

embedded/2024/9/24 16:32:12/

sklearn与经典机器学习算法

      • 机器学习的利器——sklearn
          • 机器学习的7个流程:
          • sklearn的功能主要分为六大部分:

目标:
1、掌握sklearn的基本用法
2、掌握线性回归的原理,并进行实践操作
3、理解监督学习经典算法、如K-近邻算法
4、理解非监督学习经典算法

机器学习的利器——sklearn

机器学习的7个流程:

1、数据处理
2、分割数据
3、训练模型
4、验证模型
5、测试模型
6、使用模型
7、调优模型

 数据处理:从磁盘中读取数据,并对数据进行预处理(如归一化、标准化、正则化、属性缩放、特征编码、插补缺失值、生成多项式特征等。
分割数据:将数据随机分割成三组:训练集、验证集(有时为可选项)、测试集
训练模型:针对选取好的特征,使用训练数据来构建模型,即拟合数据,寻找最优的模型参数。
(这里的拟合数据,主要是指使用各种机器学习算法来学习数据中的特征,拟合出损失函数最小化参数)
验证模型:使用验证集的数据接入模型。我们将模型在验证集上的表现作为模型参数优化和选择的依据。
(常用的方法有:Holdout验证、留一验证等)
测试模型:在优化模型的参数以后,使用测试数据验证模型的表现,可以评估模型泛化性能。拓展:
在有些场景下,测试模型和验证模型是有区别的。
如果我们不设置验证集,而不断地使用相同的测试集来评估模型性能,久而久之,作为“裁判”的测试集,其角色慢慢就会“蜕变”成训练集,从而让模型陷入过拟合状态。
为了解决这个问题,有时就把数据集一分为三:一部分用于训练,即作为训练集;一部分用于模型优化,即作为验证集;一部分用于评估模型的泛化误差,即作为测试集,通常不参与模型的优化。
使用模型:模型训练完毕后,在全新数据集上进行预测。(所有机器学习算法的终极价值,都体现在对新数据的预测上)
调优模型:当我们不断使用更多的数据(包括预测的新数据)时,就会得到反馈,然后根据反馈重新调整数据使用策略(包括收集更为全面的数据、使用不同的特征、调整过往模型参数等,以此来迭代优化模型)

实际上以上1~7可以算作一个无限循环、迭代升级的过程。

sklearn的功能主要分为六大部分:

1、分类
2、回归
3、聚类
4、数据降维
5、模型选择
6、数据预处理

分类:如果定性输出预测(预测变量是离散值),可称之为分类。比如预测花的品类、顾客是否购买商品等。
(sklearn中已实现的经典分类算法包括:支持向量机(SVM)、最近邻算法、Logistic回归、随机森林、决策树、多层感知机(MLP)等)
回归:如果定量输出预测(预测变量是连续值),则称之为回归。比如预测花的长势、房价的涨势等。
(目前sklearn中已经实现的回归算法包括:线性回归、支持向量回归(SVR)、岭回归、Lasso回归、贝叶斯回归等)
(常见的应用场景:股价预测等。)
聚类:聚类的功能是将相似的对象自动分组。
(sklearn中常用的聚类算法包括:k均值聚类、谱聚类(spectral clustering)、均值漂移(Mean Shift)等)
(常用的应用场景:客户细分、实验结果分组、数据压缩等)
数据降维:数据降维的目的在于减少要考虑的随机变量的数量。
(sklearn中常见的数据降维算法有:主成分分析(PCA)、特征选择、非负矩阵分解等)
(常见的应用场景:数据压缩、模型优化等)
模型选择:模型选择是指评估与验证模型,对模型参数进行选择与平衡。
(sklearn中常见的功能模块:模型度量(metrics)、网格搜索(grid search)、交叉验证(cross validation)等)
(其目的在于:通过调整模型参数来提高模型性能(预测准确度、泛化误差等))
数据预处理:数据预处理的功能在于,把输入数据(如文本、图形图像等)转换为机器学习算法适用的数据,主要包括数据特征的提取和归一化。
(sklearn中常用模块有:数据预处理(preprocessing)、特征抽取(feature extraction)等)

sklearn中常见的数据集

导入数据的函数名称对应的数据集
load_boston()波士顿房价数据集
load_breast_cancer()乳腺癌数据集
load_iris()鸢尾花数据集
load_diabetes()糖尿病数据集
load_digits()手写数字数据集
load_linnerud()体能训练数据集
load_wine()红酒品类数据集

http://www.ppmy.cn/embedded/12160.html

相关文章

mac电脑搭建vue环境(上篇)

第一步:mac电脑要有homebrew,如何安装homebrew 点击下方 MAC安装homebrew-CSDN博客 第二步:homebrew安装node.js 第三步:安装npm 第四步:安装webpack 第五步:安装vue脚手架 第六步:可以在…

爬虫中怎么判断一个网页是否包含ajax请求

1、前言 在用爬虫抓取数据的时候,如果一个网页包含ajax请求,由于数据时动态加载的,直接根据网址是不能获取到想要的数据。因此,在爬虫需要首先判断一个网页是否包含ajax请求数据。 2、ajax请求 2.1 什么是ajax请求 AJAX Asynch…

世媒讯提供海内外媒体宣发服务,引领企业新媒体发展之路

在这个信息化的时代,软文发稿已经成为企业发展不可或缺的重要工具。随着社会的快速发展,消费者需要更多定制化、个性化的信息。利用软性推广,凭借其细致入微的信息传递,可以迅速抓住消费者的注意力,从而进一步推动企业…

基于SpringBoot的“幼儿园管理系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“幼儿园管理系统”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统功能结构图 个人信息界面图 缴费信息管理界…

1.MyBatis初始

1.1 什么是MyBatis MyBatis是一款优秀的持久层框架,它能够帮助Java开发者将业务逻辑与数据访问代码分离,具有简单、灵活和高效的特点。MyBatis使用XML或注解方式描述Java对象及其SQL语句之间的映射关系,它支持多种数据库和操作方式&#xff0…

k8s的资源对象Deployment该如何使用?

k8s的资源对象Deployment该如何使用? Kubernetes(k8s)是一个开源的容器编排系统,用于自动化应用程序部署、扩展和管理。在k8s中,Deployment是管理Pod副本的一种方式,它确保了指定数量的Pod副本始终运行。本…

关于Modbus TCP 编码及解码方式分析

一.Modbus TCP 基本概念 1.基本概念 ①Coil和Register   Modbus中定义的两种数据类型。Coil是位(bit)变量;Register是整型(Word,即16-bit)变量。 ②Slave和Master与Server和Client   同一种设备在不同…

Leetcode算法训练日记 | day34

专题九 贪心算法 一、K次取反后最大化的数组和 1.题目 Leetcode:第 1005 题 给你一个整数数组 nums 和一个整数 k ,按以下方法修改该数组: 选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。 重复这个过程恰好 k 次。可以多次选择同一个…