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

news2024/11/28 2:51:59

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024年生成式AI芯片市场规模将达500亿美元

1月24日,德勤发布《2024科技、传媒和电信行业预测》中文版报告,2024年是科技、传媒和电信行业关键的一年,不少科技公司正利用生成式AI升级软件和服务,预计今年全球生成式人工智能芯片销售额可能达到500亿美元以上。 2024年将有许…

量子计算帮助解锁对衰老和疾病的理解

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

初探unity中的ECS

ECS是一种软件架构模式,就像MVC一样。ECS最早在游戏《守望先锋》中提及到的相关链接。ECS具体是指实体(entity)、 组件(component)和系统(system): 实体:实体是一个ID&a…

IDEA如何进行远程Debug调试(二)解决jar包运行报错的问题

一、解决jar包运行报错的问题 上文提到在进行debug远程调试的时候,打包后的jar包本地无法运行,报如下的错误 ​​​​​​​IDEA如何进行远程Debug调试-CSDN博客 查看报错是找不到对应的类,那么我们使用jd-gui的反编译工具,看看…

opencv中使用cuda加速图像处理

opencv大多数只使用到了cpu的版本,实际上对于复杂的图像处理过程用cuda(特别是高分辨率的图像)可能会有加速效果。是否需要使用cuda需要思考: 1、opencv的cuda库是否提供了想要的算子。在CUDA-accelerated Computer Vision你可以…

Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(三)

原文:Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow 译者:飞龙 协议:CC BY-NC-SA 4.0 第六章:决策树 决策树是多功能的机器学习算法,可以执行分类和回归任务,甚至多输出任务。它们…

Android BitmapShader setLocalMatrix缩放Bitmap高度重新onMeasure,Kotlin

Android BitmapShader setLocalMatrix缩放Bitmap高度重新onMeasure&#xff0c;Kotlin <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:tools"http://sc…

Kubernetes基础(十一)-CNI网络插件用法和对比

1 CNI概述 1.1 什么是CNI&#xff1f; Kubernetes 本身并没有实现自己的容器网络&#xff0c;而是借助 CNI 标准&#xff0c;通过插件化的方式来集成各种网络插件&#xff0c;实现集群内部网络相互通信。 CNI&#xff08;Container Network Interface&#xff0c;容器网络的…

JavaScript原型和原型链是什么

JavaScript原型和原型链是Web前端技术中的重要概念&#xff0c;了解它们可以帮助开发者更好地理解JavaScript对象的创建和继承机制。本文将深入探讨JavaScript原型和原型链&#xff0c;并提供相关的示例代码和解析。 首先&#xff0c;让我们了解一下JavaScript中的原型。每个J…

ubuntu 18.04修改网卡名称

1.原来网卡配置 现在要把enp3s0的名称改为eth0 2. 总共修改三个文件 第一个修改 sudo vi /etc/default/grub 添加最后一行 GRUB_CMDLINE_LINUX"net.ifnames0 biosdevname0" 第二个修改sudo vi /etc/udev/rules.d/70-persistent-net.rules 如果没有就新建文件&a…

用通俗易懂的方式讲解:12 个大模型 RAG 痛点及解决方案

受 Barnett 等人的论文《工程检索增强生成系统时的七个失败点》启发&#xff0c;让我们在本文中探讨论文中提到的七个失败点以及开发 RAG 管道时的五个常见痛点。 论文&#xff1a;https://arxiv.org/pdf/2401.05856.pdf 更重要的是&#xff0c;我们将深入探讨这些 RAG 痛点的…

vue基本语法总结大全

vue基本语法 文章目录 vue基本语法基本用法内容渲染指令属性绑定指令使用js表达式事件绑定指令条件渲染指令v-else和v-else-if指令列表渲染指令v-for中的key 组件化开发安装详细讲解 第三方组件1. 组件间的传值2. element-ui介绍3. 组件的使用4. 图标的使用 Axios网络请求1. Ax…

Redis-缓存问题及解决方案

本文已收录于专栏 《中间件合集》 目录 概念说明缓存问题缓存击穿问题描述解决方案 缓存穿透问题描述解决方案 缓存雪崩问题描述解决方案提高缓存可用性过期时间配置熔断降级 总结提升 概念说明 Redis是一个开源的内存数据库&#xff0c;也可以用作缓存系统。它支持多种数据结构…

网络攻防模拟与城市安全演练 | 图扑数字孪生

在数字化浪潮的推动下&#xff0c;网络攻防模拟和城市安全演练成为维护社会稳定的不可或缺的环节。基于数字孪生技术我们能够在虚拟环境中进行高度真实的网络攻防模拟&#xff0c;为安全专业人员提供实战经验&#xff0c;从而提升应对网络威胁的能力。同时&#xff0c;在城市安…

UE中对象创建方法示例和类的理解

对象创建方法示例集 创建Actor示例 //创建一个护甲道具 AProp* armor GetWorld()->SpawnActor<AProp>(pos, rotator); 创建Component示例 UCapsuleComponent* CapsuleComponent CreateDefaultSubobject<UCapsuleComponent>(TEXT("CapsuleComponent&qu…

【HarmonyOS应用开发】HTTP数据请求(十四)

文章末尾含相关内容源代码 一、概述 日常生活中我们使用应用程序看新闻、发送消息等&#xff0c;都需要连接到互联网&#xff0c;从服务端获取数据。例如&#xff0c;新闻应用可以从新闻服务器中获取最新的热点新闻&#xff0c;从而给用户打造更加丰富、更加实用的体验。 那么…

【Linux网络编程三】Udp套接字编程网络应用场景

【Linux网络编程三】Udp套接字编程网络应用场景 应用场景一&#xff1a;远程命令执行应用场景二&#xff1a;与Windos端相互通信应用场景三&#xff1a;简单聊天1.多线程化2.输入输出分开 应用场景一&#xff1a;远程命令执行 简单的服务器上一篇已经完成&#xff0c;接下来我…

前端小案例——动态导航栏文字(HTML + CSS, 附源码)

一、前言 实现功能: 这案例是一个具有动态效果的导航栏。导航栏的样式设置了一个灰色的背景&#xff0c;并使用flex布局在水平方向上平均分配了四个选项。每个选项都是一个li元素&#xff0c;包含一个文本和一个横向的下划线。 当鼠标悬停在选项上时&#xff0c;选项的文本颜色…

flask+pyinstaller实现mock接口,并打包到exe运行使用postman验证

flask代码 from flask import Flask, request, jsonifyapp Flask(__name__)app.route("/login", methods[POST]) def login():username request.json.get("username").strip() # 用户名password request.json.get("password").strip() # 密…

FastAdmin青动CRM-E售后

应用介绍 一款基于FastAdminThinkPHP和uniapp开发的CRM售后管理系统&#xff0c;旨在助力企业销售售后全流程精细化、数字化管理&#xff0c;主要功能&#xff1a;客户、合同、工单、任务、报价、产品、库存、出纳、收费&#xff0c;适用于&#xff1a;服装鞋帽、化妆品、机械机…