| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 数据挖掘实战(贝叶斯,神经网络和决策树) -> 正文阅读 |
|
[人工智能]数据挖掘实战(贝叶斯,神经网络和决策树) |
目录 数据特征描述数据来源该数据集由kaggle网站提供,Bike Sharing Demand数据集,里面包括三个csv文件,这里我选取里面的train.csv文件来进行数据挖掘与分析。 数据描述train.csv提供了某城市的共享单车2011年到2012年的数据集,该数据集包括了租车日期,租车季节,租车天气,租车气温,租车空气湿度等数据。 ? 其中各类具体数据代表意义如下: season :1=春天2=夏天3=秋天4=冬天holiday :是否是节假日 首先进行数据探索,分析数据集的特性 首先导入相关的包 再读取数据集,这里读取数据集的部分列(2到6列) 查看数据集大小 含有10086条数据。 查看数据集信息: ?图形可视化观察各因素之间的关系Violinplot数据分布代码如下:先设置颜色主题,然后布置画板,里面包含四个小图。 图形如图所示。 可以看出workingday和temp和atemp之间的相差幅度较大,和holiday和weather之间的幅度较小。 ?Pointplot数据斜率代码如下: 先设置颜色主题,然后布置画板,里面包含四个小图。 回归分析可视化下面分别基于temp和atemp做线性回归的可视化,代码如下: 图形如下图所示 可以发现workingday为1比为0时更加密集。 数据预处理先导入包 变量映射处理把数据集中"season","weather"字段属于定性变量,将定性变量的数值取值,做映射处理,转化为描述性取值 处理结果如下: 缺失值处理? 可以看出,该数据集没有缺失值。 如果数据集中有缺失值,在缺失值处理中,一般会删除缺失值。pandas模块中,提供了将包含NaN值的行删除的方法dropna(),处理缺失值最好的办法是“用最接近的数据替换它” 对于数值型数据,可用该列的数据的均值或者中位数进行替换。 对于分类型数据,可利用该列数据的出现频数最多的数据(众数)来填充。 决策树分类算法选取其中部分列进行决策树算法。 读取train.csv文件并进行数据处理:将season为3和4的值变成1 将weather为3和4的值变成1 将temp大于10的值变为1 然后进行决策树的生成 上图所示代码生成了1.dot文件保存在桌面 查看1.dot文件 再将其变成决策树图形。 生成1.png图片的决策树如下图所示。 ? ?可以看出节假日和没有工作的日子里借用共享单车的数目较多。 贝叶斯分类算法朴素贝叶斯分类算法是应用最为广泛的分类算法之一,是以贝叶斯定理为基础,并且假设特征条件之间相互独立的方法。先通过已给定的训练集,以特征词之间独立作为前提假设,学习从输入到输出的联合概率分布,再基于学习到的模型,输入X求出使得后验概率最大的输出Y。 具体代码如下: 测试数据集: 生成矩阵和维度: 得到结果如下图所示 ?可以得到,模型的准确度非常高。 神经网络分类算法采用BP算法。BP算法的基本思想是:学习过程由信号的正向传播与误差反向传播两个过程组成。正向传播时,输入样本从输入层传入,经过各隐层逐层处理后,传向输出层。若输出层的实际输出与期望输出不符,则转入误差的反向传播阶段。误差反向传播是将输出误差以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层的误差信号,此误差信号即作为修正单元权值的依据。这种信号正向传播与误差反向传播的各层权值调整过程周而复始的进行,权值不断调整的过程,也就是网络学习训练的过程,此过程一直进行到网络输出的误差减少到可接受的程度,或进行到预先设定的学习次数为止。 ? ?得到以下准确度的结果: 处理1000次以后 ,准确率逐渐稳定,可以得到准确率为0.9904 结果分析?一般情况下,假日的平均租车人数比非假日多。 寒冷的天气下,非假日的租车人数比假日多 秋天和夏天租车人数最多 春天租车人数显著低于其他季节 总体上,天气越好,租车的人数越多(晴天 > 多云、阴天 > 雨天) 周六和周天租车高峰期在下午期间,工作日租车的高峰期是上下班高峰期。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 3:49:48- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |