文档介绍:2
Hadoop物联网数据挖掘的算法分析
摘要:介绍了物联网数据处理的若干关键技术,如大数据采集、大数据存储、大数据的分析与挖掘等。以Hadoop为平台对物联网数据进行挖掘与分析,为了提高处理浩大数据的实效性,基于MapReduce且合并同一KEY值,再通过Reduce函数化简,最终输出最终结果值。
6
3数据挖掘算法分析
MapReduce架构具有简易性、效率高、靠谱性以及并行的运算方式等特点,同时MapReduce架构的运用广度也有局限性,不能实现全部算法的应用。因此,最关键的是此算法需满足可伸缩性的特点,这里接受三类算法:分类算法、聚类算法和关联规章算法,争论改造并且能够应用到MapReduce架构中。
朴实贝叶斯分类算法[5](NaiveBayesianclassifi-cation,NBC),即将全部数据进行分类,先以一个特定的点定义好类别,建筑一个分类器,其作用是将待定的数据先通过映射,划分到确定的类别。简言之,首先需构建一个分类器,获得某个已知样本的先验概率的前提,再运用贝叶斯公式:()()()()PABPBPBAPA=⑴得出一个后验概率,最终确定后验概率最大的类是对象所属的类。朴实贝叶斯分类算法接受的是扫描式方式,其算法操作如下:⑴Main函数:读取数据集;⑵Map函数:计算离散属性取值的总和、其连续属性的平均值μ以及标准差δ;⑶Reduce函数:整合输出统计值;⑷Main函数:由步骤3的结果生成分类器。
7
-modes聚类算法
K-modes聚类算法[6],即先将对象进行聚集划分成不同的类别和子集,通过静态分类的方法将相像的成员对象分为一类,以区分于其他簇中的对象。由于这种方式不需要进行人工标注处理,因而具有确定的自适应性即无需看管监督的算法。K-modes算法不仅其算法思想简洁实现,而且本身简洁易用,因此成为最常用的聚类算法之一。K-modes算法是K-means算法基础上的延长,不仅可以处理数值型数值,也可以处理分类属性型的数据,这是一个大的改进。K-modes算法可以很好的处理数量少的数据集,同时也可以高效处理浩大的数据集,其算法时间简洁度为O(tnkm),共同准备于迭代数t,数据集中对象数n,划分子类数k,以及属性数量m。K-modes算法中modes可直接描述每一个类的属性和特性,便于解析聚类结果。K-modes算法是收敛的。以上是传统的K-modes算法的优点,其也有缺点。K-modes算法虽然是收敛的,但是Huang证明其只能在局限收敛中实现最小值,在全局收敛中实现不了。聚类算法的好坏取决于相异度度量方法,K-modes算法在呈现两者的差异性不占优势。聚类算法中modes准备了结果的精确度,而此算法的modes不是独一无二的。因此,接受改进的K-modes算法。K-modes聚类算法[7]接受迭代式的方式,其算法操作如下。⑴main函数:读取数据集中的初始中心点。⑵map函数:主要计算差异值、众数和目标函数值。⑶main函数:最终读取和推断目标函数值,若连续两轮的结果无变化,则结束这次过程,得出中心点,反之需要进行下一轮的迭代进程。因此,聚类算法的应用能够将类内对象的相像性达到最大,类间对象的相像性尽量的小,从而可以更好的区分对象间的差别。
7
关联规章挖掘算法的主要作用是找出不同项集之间的关联性,并且应用到大数据中。例如,顾客去便利超市买东西,观看分析顾客的购物车,会发觉商品间的联系。因而调整商品的摆放位置,可以更好的促销商品。ECLAT算法[8]其本质是一种频繁项集挖掘算法,其异于传统的数据结构,是基于垂直数据结构格式。其工作流程如下:首先全面扫描全部数据,然后将数据的格式呈现为垂直的,最终得到一个项集的长度值,即项集支持度的计数。依据算法Apriori的特性,从K=1开头,对频繁K项集的交进行计算,构建备选的K+1项集并且选出第K+1项时,反复操作,将K的值加一,当不能挖掘出频繁项集便结束这个工作。ECLAT频繁项集挖掘算法也是接受迭代式,其算法操作如下。⑴Main函数:读取上一轮的挖掘数据。⑵Map函数:存储垂直K项集。⑶Reduce函数:对垂直K项集挖掘出频繁K项集。⑷Main函数:读取最终的Reduce函数中的结果,假如不是空值,连续进行下一轮挖掘,反之就结束此程序。因此,ECLAT算法的最大优势是更快地找出数据间的关联性,为数据挖掘供应了很好的解决方法。
8
4应用前景
随着物联网技术的进