基于 python 实现朴素贝叶斯分类-决策树-PCA人脸识别

简介: 基于 python 实现朴素贝叶斯分类-决策树-PCA人脸识别

PCA 人脸识别


结果可视化32461e792d86db2947509bc88aae5643.png
结果图


c594c9e3a293f9b27b02895270b9bbbd.png


控制台结果图


913109d45c3d538e97501d97cde52b7a.png


朴素贝叶斯分类


使用鸢尾花数据集,由于数据集是连续型数据,因此,假设各个属性是成正态分布的,采用密度函数进行概率计算。

代码写的不怎么简洁,但是把过程思路基本写出来了。


结果图


bc3e62bd33408c534ef07459debe7d7d.png

DecisionTree


决策树分类

实验环境:


  • 系统:Windows 10
  • 语言:Python3.6
  • IDE:Sublime Text3.
  • 数据集:数据集是自己创建的,详情见代码或者是图片“数据集.png”。


实验目的:

了解三种不同决策树的工作原理,使用自己创建的数据集,对数据进行分类,完成决策树的绘制。

实验过程:


学习三种决策树的工作原理,了解到三种决策树的区别如下:


ID3 算法以信息增益为准则来进行选择划分属性,选择信息增益最大的进行划分;

算法先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择增益率最高的;

CART 算法使用“基尼指数”来选择划分属性,选择基尼值最小的属性作为划分属性。


实验数据集:


d009cc11f323f2afb96825d97e9a5944.png


编写代码,此次实验编程语言使用的是 python。详细算法步骤见文件 decision_tree.py 和 treePlot.py 中的注释。decision_tree.py 是用来实现属性划分的,treePlot.py 是用来实现最终决策树绘制的。


实验结果


实验结果如下:


8705cfdd441e9288169a480a81d76e19.png

ID3 决策树:


4f03f6146899668b609d995ea674a94e.png


41110ca21ac3dfecc2dd502d70b1b105.png


决策树:


ad32c74464bec529eff99f4ad5cb4b76.png


49eec23b9ff9d8d7fcf529aaff4cf5ec.png

CART 决策树:


baf97e5e1e8471ba675935bb80ee5a9e.png

d964e68c9beb24357ea47f1c15a7c9a1.png



实验结论:

由以上实验结果我们可以看到,ID3 和 C4.5 决策树的最优索引相同,所绘制出来的决策树是也是相同的,而 CART 绘制出来的决策树与前 2 种不同。


完整代码:https://download.csdn.net/download/qq_38735017/87415806

相关文章
|
7天前
|
机器学习/深度学习 存储 监控
数据分享|Python卷积神经网络CNN身份识别图像处理在疫情防控下口罩识别、人脸识别
数据分享|Python卷积神经网络CNN身份识别图像处理在疫情防控下口罩识别、人脸识别
19 0
|
4天前
|
机器学习/深度学习 数据采集 算法
Python用逻辑回归、决策树、SVM、XGBoost 算法机器学习预测用户信贷行为数据分析报告
Python用逻辑回归、决策树、SVM、XGBoost 算法机器学习预测用户信贷行为数据分析报告
13 1
|
2天前
|
机器学习/深度学习 存储 数据采集
【Python 机器学习专栏】PCA(主成分分析)在数据降维中的应用
【4月更文挑战第30天】本文探讨了主成分分析(PCA)在高维数据降维中的应用。PCA通过线性变换找到最大化方差的主成分,从而降低数据维度,简化存储和计算,同时去除噪声。文章介绍了PCA的基本原理、步骤,强调了PCA在数据降维、可视化和特征提取上的优势,并提供了Python实现示例。PCA广泛应用在图像压缩、机器学习和数据分析等领域,但降维后可能损失解释性,需注意选择合适主成分数量及数据预处理。
|
2天前
|
机器学习/深度学习 算法 数据可视化
Python用KNN(K-近邻)回归、分类、异常值检测预测房价、最优K值选取、误差评估可视化
Python用KNN(K-近邻)回归、分类、异常值检测预测房价、最优K值选取、误差评估可视化
|
2天前
|
机器学习/深度学习 算法 数据可视化
【Python机器学习专栏】决策树算法的实现与解释
【4月更文挑战第30天】本文探讨了决策树算法,一种流行的监督学习方法,用于分类和回归。文章阐述了决策树的基本原理,其中内部节点代表特征判断,分支表示判断结果,叶节点代表类别。信息增益等标准用于衡量特征重要性。通过Python的scikit-learn库展示了构建鸢尾花数据集分类器的示例,包括训练、预测、评估和可视化决策树。最后,讨论了模型解释和特征重要性评估在优化中的作用。
|
2天前
|
机器学习/深度学习 算法 Python
【Python机器学习专栏】逻辑回归在分类问题中的应用
【4月更文挑战第30天】逻辑回归是用于二分类的统计方法,通过Sigmoid函数将线性输出映射到[0,1],以预测概率。优点包括易于理解、不需要线性关系、鲁棒且能输出概率。缺点是假设观测独立、易过拟合及需大样本量。在Python中,可使用`sklearn`的`LogisticRegression`实现模型。尽管有局限,但在适用场景下,逻辑回归是强大且有价值的分类工具。
|
2天前
|
机器学习/深度学习 PyTorch 算法框架/工具
Python用GAN生成对抗性神经网络判别模型拟合多维数组、分类识别手写数字图像可视化
Python用GAN生成对抗性神经网络判别模型拟合多维数组、分类识别手写数字图像可视化
|
4天前
|
机器学习/深度学习 数据采集 算法
Python对中国电信消费者特征预测:随机森林、朴素贝叶斯、神经网络、最近邻分类、逻辑回归、支持向量回归(SVR)
Python对中国电信消费者特征预测:随机森林、朴素贝叶斯、神经网络、最近邻分类、逻辑回归、支持向量回归(SVR)
10 0
|
3月前
|
机器学习/深度学习 监控 算法
m基于深度学习网络的活体人脸和视频人脸识别系统matlab仿真,带GUI界面
m基于深度学习网络的活体人脸和视频人脸识别系统matlab仿真,带GUI界面
39 0
|
21天前
|
存储 算法 Linux
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
45 6

热门文章

最新文章