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

news/2025/2/15 19:38:02/

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

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.ppmy.cn/news/1344161.html

相关文章

大华智慧园区综合管理平台 /ipms/barpay/pay RCE漏洞复现

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

基于BiLSTM-CRF模型的分词、词性标注、信息抽取任务的详解,侧重模型推导细化以及LAC分词实践

基于BiLSTM-CRF模型的分词、词性标注、信息抽取任务的详解,侧重模型推导细化以及LAC分词实践 1.GRU简介 GRU(Gate Recurrent Unit)门控循环单元,是[循环神经网络](RNN)的变种种,与 LSTM 类似通过门控单元解决 RNN 中不能长期记忆和反向传播中的梯度等问题。与 LSTM 相…

Webpack插件浅析

常用的webpack插件功能介绍: 1.HotModuleReplacementPlugin 模块热更新插件。Hot-Module-Replacement的热更新是依赖于webpack-dev-server,有时是在打包文件改变时更新打包文件或者重新加载刷新整个页面,HMR是只更新修改的部分。 HotModul…

vscode连接ssh报错

关于vscode更新版本至1.86后,导致无法连接服务器问题的记录 原因:vscode1.86更新了对glibc的要求,需要最低2.28版本,导致各种旧版本的linux发行版(比如最常见的centos 7)都无法用remote-ssh来连接了&#…

探索设计模式的魅力:外观模式简化术-隐藏复杂性,提供简洁接口的设计秘密

设计模式专栏:http://t.csdnimg.cn/U54zu 目录 引言:探索简化之路 一、起源和演变 二、场景案例分析 2.1 不用模式实现:用一坨坨代码实现 2.2 问题 2.3 外观模式重构代码 定义 界面 接口 利用外观模式解决问题步骤 外观模式结构和说明 重构…

【从零开始学设计模式】第三章_工厂模式

第三章_工厂模式 1.介绍 1.1定义 定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。 1.2解决的问题 创建者和调用者的耦合,那么代码层面其实就是取消对new的使用。 1.3应用实例 需要一辆汽…

【Java】小白友好的MyBatis基础XML开发学习笔记

目录 MyBatis简介 MyBatis使用流程 配置文件(mybatis-config.xml) 映射文件(UserMapper.xml) DAO 接口(UserMapper.java) 使用 MyBatis Mapper代理 MyBatis核心配置文件 MyBatis参数类型和传递 …

C Primer Plus(第六版)15.9 编程练习 第6题

// // main.c // 15.9-6 // // Created by cjm on 2024/2/5. // #include <stdio.h> #include <stdbool.h> #include <string.h> struct font_style{ unsigned int font_ID : 8; unsigned int font_size : 7; unsigned int alignment : 2;//如果这…