(4)【Python数据分析进阶】Machine-Learning模型与算法应用-回归、分类模型汇总

线性回归、逻辑回归算法应用请参考:

https://codeknight.blog.csdn.net/article/details/135693621icon-default.png?t=N7T8https://codeknight.blog.csdn.net/article/details/135693621本篇主要介绍决策树、随机森林、KNN、SVM、Bayes等有监督算法以及无监督的聚类算法和应用PCA对数据进行降维的算法的基本原理及应用。

目录

一、Decision Trees(决策树)算法建模及应用

决策树的优点主要包括:

决策树的缺点有:

决策树模型的两种规范(criterion)形式是基尼指数(gini)和熵(entropy):

应用案例——鸢尾花类别分类

1、导入函数库

2、加载数据集

3、划分特征集和响应集

4、划分训练集和测试集

5、加载决策树算法模型

5.1应用决策树模型的基尼指数(gini)规范建模

5.2模型性能评估

5.3决策树图像

5.4应用决策树模型的熵(entropy)规范建模

5.5模型性能评估

5.6决策树图像

二、Random Forests(随机森林)算法建模及应用

以下是随机森林算法的一些主要优点:

然而,尽管随机森林有许多优点,但也存在一些缺点:

应用案例(一)——鸢尾花数据集分类(随机森林处理离散型数据)

1、导入函数库

2、加载数据集

3、划分特征集与响应集

4、划分训练集和测试集

5、模型训练与预测

6、模型评估

7、模型预测

常用技巧1:特征变量权重分析 Feature_Importances_

1、计算权重占比

2、绘制权重占比图像

3、缩减特征变量X(对于成百上千特征变量的大数据集有非常重要的意义)

应用案例(二)——预测汽油的消耗量(随机森林处理连续型数据)

1、加载数据集

2、划分特征集和响应集

3、划分训练集和测试集

常用技巧2:Feature Scaling(特征缩放/标准化)

4、 训练模型与预测

5、模型评估

常用技巧3:调参

直观显示参数与误差之间的关系(寻找一个误差y最小时的参数x)

三、K Nearest Neighbour(KNN最近邻)算法建模及应用

求空间距离的算法总结:

求距离的详细公式:

应用案例——鸢尾花数据分类

1、导入数据集

2、 划分特征集和响应集

3、创建模型评估得分

4、调整模型参数K

5、绘制k与score的图像

常用技巧1:Grid search on KNN classifier

处理过拟合可以采取以下策略:

常用技巧2:Using RandomizedSearchCV

处理过拟合可以采取以下策略:

四、Support Vector Machine(支持向量机)算法建模及应用

应用案例(一)——SVM 对于 Iris 数据集的处理

1、导入函数库

2、加载数据集

3、数据集预处理

4、绘制数据图像

5、建立SVM模型并训练

6、获取模型参数,求出decision boundary和margin

7、绘制分类图像

8、调整参数C控制正则化强度

应用案例(二)——SVM 对于 弯月数据集的处理

1、加载数据集

2、绘制数据图像

3、数据标准化

4、模型训练

 5、调参数C

6、支持向量机模型

案例应用(三)——SVM 对于 direct marketing campaigns (phone calls)数据集的处理

1、加载数据集

2、数据分析

3、实现数据类型转换——map()函数

4、实现数据类型转换——get_dummies()函数

5、划分训练集和测试集

6、模型训练

五、Bayes(贝叶斯)算法建模及应用

贝叶斯定理与公式

举例理解贝叶斯公式

贝叶斯的分类

(1)伯努利朴素贝叶斯

(2)多项式朴素贝叶斯

(3)高斯朴素贝叶斯

贝叶斯应用

应用案例(一)——)应用Gaussian Naive Bayes预测沉船存活人数

1、导入数据集

2、数据预处理

常用技巧1:数据类型转换(object->number)

3、划分训练集与测试集

4、模型训练

5、模型评估

6、模型优化

应用案例(二)——应用Multinomial Naive Bayes处理垃圾邮件

1、加载数据集

2、划分测试集和训练集

3、文本转向量

插曲:CountVectorizer 举例说明

4、模型训练

5、模型评估

插曲:Sklearn Pipeline 使用pipeline替代transform几行代码

六、K Means Clustering(K均值聚类)算法建模及应用

K-Means Clustering是什么?

K值应该怎样选取?

应用案例(二)——年龄与收入聚类分析

1、导入函数库

2、加载数据集

3、绘制数据图像

4、模型训练与预测

调参参考:Python在使用kmeans聚类函数时报错:AttributeError: ‘NoneType‘ object has no attribute ‘split‘_nonetype' object has no attribute 'split-CSDN博客

5、将分类添加到数据表格

6、打印聚类中心点坐标

7、绘制聚类散点图

常用技巧1:数据标准化

MinMaxScaler

Preprocessing using min max scaler

MinMaxScaler和StandardScaler的区别:

Elbow Plot

为什么选取Elbow Plot的突变点作为K?

应用案例(二)——KMeans clustering如何验证K点最佳 silhouette analysis(轮廓分析)

1、导入函数库

2、使用 yellowbrick 判断最佳K值

pip install yellowbrick

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/370189.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

修改UnityEngine dll

修改UnityEngine dll 由于有些版本的dll与热重载并不兼容,需要小幅修改代码。 使用dnspy工具 我们使用 dnspy 来修改 dll文件。而dnspy只能在Win下运行,故哪怕是mac版本dll, 你也得先将相应dll复制到Win下后再修改。下载 dnspy&#xff0c…

C#之linq和lamda表达式GroupBy分组拼接字符串

文章目录 C#之linq和lamda表达式GroupBy分组拼接字符串业务需求核心代码调试 C#之linq和lamda表达式GroupBy分组拼接字符串 业务需求 点击提示信息,如:“售后单【SH001】序列号【001,002,006】;售后单【SH002】序列号…

【Spring】代理模式

文章目录 代理模式对代理模式的理解静态代理动态代理JDK动态代理原理源码优化 CGLIB动态代理使用原理 JDK与CGLIB的对比 面试题JDK动态代理和CGLIB有什么区别?既然有没有接口都可以用CGLIB,为什么Spring还要使用JDK动态代理? 代理模式 对代理…

3 编辑器(Vim)

1.完成 vimtutor。备注:它在一个 80x24(80 列,24 行) 终端窗口看起来效果最好。 2.下载我们提供的 vimrc,然后把它保存到 ~/.vimrc。 通读这个注释详细的文件 (用 Vim!), 然后观察 …

如何在Shopee平台上进行测款选品

在如今竞争激烈的电商市场,选择合适的产品成为卖家们提高销售业绩的重要一环。在Shopee平台上进行测款选品,可以帮助卖家找到符合市场需求的产品,提高销售业绩。本文将介绍一些策略和步骤,帮助卖家在Shopee平台上进行测款选品。 …

javaEE - 20( 18000字 Tomcat 和 HTTP 协议入门 -1)

一: HTTP 协议 1.1. HTTP 是什么 HTTP (全称为 “超文本传输协议”) 是一种应用非常广泛的 应用层协议. HTTP 诞生与1991年. 目前已经发展为最主流使用的一种应用层协议. 最新的 HTTP 3 版本也正在完善中, 目前 Google / Facebook 等公司的产品已经支持了. HTT…

【Python基础021】Python中的何如实现文件的读写

Python中文件的读写在程序运行过程中是一个非常重要的操作,我们通常会将一些大量的临时数据暂时存放到一个临时文件,这就需要用到文件的读取与写入功能。话不多说,我们直接上才艺。 1、文本文件和二进制文件 讲文件读写前,先说说…

sqli.labs靶场(29到40关)

29、第二十九关 id1 id1 尝试发现是单引号闭合, -1 union select 1,2,3-- -1 union select 1,2,database()-- -1 union select 1,2,(select group_concat(table_name) from information_schema.tables where table_schemasecurity)-- -1 union select 1,2,(select…

C#(C Sharp)学习笔记_前言及Visual Studio Code配置C#运行环境【一】

前言 这可以说是我第一次正式的踏入C#的学习道路,我真没想过我两年前是怎么跳过C#去学Unity3D游戏开发的(当然了,游戏开发肯定是没有成功的,都是照搬代码)。而现在,我真正地学习一下C#,就和去年…

STM32--揭秘中断(简易土货版)

抢占优先级响应优先级 视频学习--中断​​​​​​​

队列---数据结构

定义 队列(Queue)简称队,也是一种操作受限的线性表,只允许在表的一端进行插入,而在表的另一端进行删除。向队列中插入元素称为入队或进队;删除元素称为出队或离队。 队头(Front)&a…

单片机的50个电路

单片机 电源 声音模块 收音机 485 蓝牙 光耦 can 光敏电阻 单片机 矩阵 单片机电路 时钟 ADC 接口电路 红外发射 显示模块 红外接收 蜂鸣器驱动 流水灯 usb供电 烧录电路 数码管 EEPROM LCD1602电路 数码管 max485 红外开关 译码器 移位寄存器 步进电机控制 复位电路 下载电路 …

Python之列表的增删改查

列表的查 a ["klvchen", "tom", "jack", "james", "lily", "lucy"] print(a[1:4]) 结果: [tom, jack, james] 注意: 列表的切片的下标以 0 为开始。即: 下标0 --> klvchen…

基于相关向量机和特征选取的短期负荷预测MATLAB程序

微❤关注“电气仔推送”获得资料(专享优惠) 参考文献 相关向量机和特征选取技术在短期负荷预测中的应用——刘刚 运行环境——MATLAB 程序简介 通过改进传统的Relief算法,提出一种短期负荷预测特征输入量的选取方法,并使用相…

【webpack】技巧使用

webpack和TypeScript 安装webpack相关内容安装TS相关内容配置初始化数据初始化运行展示和目录展示报错解决(缺失文件配置) 安装前端必备神奇lodash测试一下entry配置index.html模板配置修改打包出来的index.html的titleinject注入chunks 属性多页面配置 …

C# 信号量(Semaphore)详细使用案例

文章目录 简介信号量的工作原理使用场景使用示例其他使用实例1. 数据库连接池管理2. 文件读写同步3. 生产者消费者问题4. 打印任务队列同步5. Web服务器并发请求限制 简介 在C#中,信号量(Semaphore)是.NET框架提供的一个同步类,位…

【C/Python】Gtk部件ListStore的使用

一、C语言 在GTK中,Gtk.ListStore是一个实现了Gtk.TreeModel接口的存储模型,用于在如Gtk.TreeView这样的控件中存储数据。以下是一个简单的使用Gtk.ListStore的C语言示例,该示例创建了一个列表,并在图形界面中显示: …

【Vue项目中使用videojs播放本地mp4的项目】

目录 以下是一个使用video.js播放本地mp4文件的Vue项目代码示例:1. 首先,在终端中使用以下命令安装video.js和video.js插件:2. 在Vue组件中,引入video.js和videojs-youtube插件:3. 配置video-js.css文件,可…

DS:时间复杂度和空间复杂度

创作不易,感谢三连! 一、算法 1.1 什么是算法 算法(Algorithm):就是定义良好的计算过程,他取一个或一组的值为输入,并产生出一个或一组值作为输出。简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果。…

AI新工具(20240204)pot-desktop - 为用户提供便捷的文字翻译和识别功能;ChatALL - 能够同时向多个AI机器人发送提示

pot-desktop - 为用户提供便捷的文字翻译和识别功能 pot-desktop pot-desktop是一款备受欢迎的跨平台划词翻译和OCR软件,为用户提供便捷的文字翻译和识别功能。 功能点: 划词翻译:用户只需将鼠标光标悬停在需要翻译的文字上,po…