IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 数据挖掘实战(贝叶斯,神经网络和决策树) -> 正文阅读

[人工智能]数据挖掘实战(贝叶斯,神经网络和决策树)

目录

数据特征描述

数据来源

数据描述

图形可视化观察各因素之间的关系

Violinplot数据分布

?Pointplot数据斜率

回归分析可视化

数据预处理

变量映射处理

缺失值处理

决策树分类算法

贝叶斯分类算法

神经网络分类算法

结果分析


数据特征描述

数据来源

该数据集由kaggle网站提供,Bike Sharing Demand数据集,里面包括三个csv文件,这里我选取里面的train.csv文件来进行数据挖掘与分析。

数据描述

train.csv提供了某城市的共享单车2011年到2012年的数据集,该数据集包括了租车日期,租车季节,租车天气,租车气温,租车空气湿度等数据。

?

其中各类具体数据代表意义如下:

season :1=春天2=夏天3=秋天4=冬天holiday :是否是节假日
workingday : 1=工作日 0=周末
weather :1:晴天,多云2:雾天,阴天3:小雪,小雨4:大雨,大雪,大雾
temp : 气温摄氏度
atemp :体感温度
humidity : 湿度
windspeed : 风速
casual :非注册用户个数
registered : 注册用户个数
count :给定日期时间(每小时)总租车人数

首先进行数据探索,分析数据集的特性

首先导入相关的包

再读取数据集,这里读取数据集的部分列(2到6列)

查看数据集大小

含有10086条数据。

查看数据集信息:

?图形可视化观察各因素之间的关系

Violinplot数据分布

代码如下:先设置颜色主题,然后布置画板,里面包含四个小图。

图形如图所示。

可以看出workingday和temp和atemp之间的相差幅度较大,和holiday和weather之间的幅度较小。

?Pointplot数据斜率

代码如下:

先设置颜色主题,然后布置画板,里面包含四个小图。

回归分析可视化

下面分别基于tempatemp做线性回归的可视化,代码如下:

图形如下图所示

可以发现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

结果分析

?一般情况下,假日的平均租车人数比非假日多。

寒冷的天气下,非假日的租车人数比假日多

秋天和夏天租车人数最多

春天租车人数显著低于其他季节

总体上,天气越好,租车的人数越多(晴天 > 多云、阴天 > 雨天)

周六和周天租车高峰期在下午期间,工作日租车的高峰期是上下班高峰期。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-06-18 23:24:41  更:2022-06-18 23:27:15 
 
开发: 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-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码