




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章回归模型课程学习内容5.1回归模型的概念5.2回归模型的算法原理5.3基于Python的回归建模实例5.4基于Spark的回归建模实例5.1回归模型的概念
回归就是研究一个随机变量y对另一个变量x或一组变量[x1,x2,…,xn]的相依关系的统计分析方法。回归模型用数学语言描述为y=f(x1,x2,…,xn)+ξ,其中x1,x2,…,xn是确定性的或可控的因素,f是映射函数,ξ是不确定或不可控的因素。通过拟合大量的数据,求解映射函数f的具体表达式,就是回归建模的过程。一旦建立回归模型,就能通过该模型进行数据预测。5.2回归模型的算法原理
5.2回归模型的算法原理
5.2回归模型的算法原理
5.2回归模型的算法原理
5.2回归模型的算法原理
5.2回归模型的算法原理
5.2回归模型的算法原理
5.2回归模型的算法原理
5.2回归模型的算法原理
5.2回归模型的算法原理
5.2回归模型的算法原理
5.2回归模型的算法原理
5.2回归模型的算法原理
5.2回归模型的算法原理
5.2回归模型的算法原理
5.2回归模型的算法原理
5.2回归模型的算法原理
5.2回归模型的算法原理
5.2回归模型的算法原理5.2回归模型的算法原理5.2回归模型的算法原理
5.2回归模型的算法原理
5.2回归模型的算法原理
5.2回归模型的算法原理
5.3基于Python的回归建模实例
5.3基于Python的回归建模实例【例5-7】请针对例5-6的分析结果,对线性回归模型进行改进,并再次对销售量进行预测。解:在例5-6的summary()方法输出中,注意到const和x3的P值偏大,而Cond.No.和Warnings[2]说明自变量之间本身就有线性相关关系,所以将其从回归方程中删除改进后的代码如下:5.3基于Python的回归建模实例5.3基于Python的回归建模实例
用sklearn中各种回归函数进行建模,用测试集的rmse和模型评分score来进行性能比较,代码如下:5.3基于Python的回归建模实例
5.3基于Python的回归建模实例
5.3基于Python的回归建模实例
5.3基于Python的回归建模实例
5.3基于Python的回归建模实例
5.3基于Python的回归建模实例5.4基于Spark的回归建模实例5.4基于Spark的回归建模实例5.4基于Spark的回归建模实例5.4基于Spark的回归建模实例谢谢观看第6章关联模型课程学习内容6.1关联模型的概念6.2关联模型的算法原理6.3基于Python的关联建模实例6.4基于Spark的关联建模实例6.1关联模型的概念
数据关联是指若两个或多个事物之间存在的某种规律性。比如人们购买了A商品,就很有可能购买B商品。利用这种购物关联现象,超市可以直接把B商品放在A商品的旁边,以便增加购买量。6.2关联模型的算法原理
典型的关联模型算法有关联规则算法和协同过滤算法,前者适合于传统的实体超市购物场景,超市要调整货架物品摆放位置,使营业额最大。后者则更加适合于新零售和互联网商品推荐场景,针对特定的用户推荐特定的商品。6.2.1关联规则算法
基于关联规则的算法,是由用户预先定义最小支持度min_sup和最小置信度min_conf,筛选出支持度大于min_sup和置信度大于min_conf的规则作为强关联规则。并检验提升度是否大于1,若大于1则为有效的强关联规则。6.2关联模型的算法原理【例6-1】在表6-1中,设置min_sup=50%,min_conf=70%,找出所有的强关联规则,并利用强关联规则布置货架安排。6.2关联模型的算法原理6.2关联模型的算法原理
6.2关联模型的算法原理6.2关联模型的算法原理
6.2关联模型的算法原理6.2关联模型的算法原理
6.2关联模型的算法原理
6.2关联模型的算法原理6.2关联模型的算法原理6.2关联模型的算法原理
6.2关联模型的算法原理
6.3基于Python的关联建模实例
【例6-5】电子商务消费数据集如表6-2所示,利用基于模型的协同过滤算法,编写Python代码,向所有的用户进行商品推荐。解:(1)写出购买记录矩阵RR=[[10110],[10011],[10100],[01011],[11100]](2)假设用户和商品有3个内在特征,即描述用户为3行5列的P矩阵,描述物品为3行5列的Q矩阵,用ALS算法求出P和Q的估计值,使得R近似为PTQ,且误差较小。编写Python代码如下:6.3基于Python的关联建模实例6.3基于Python的关联建模实例6.3基于Python的关联建模实例6.3基于Python的关联建模实例6.4基于Spark的关联建模实例【例6-6】电影推荐系统。从公开数据集/datasets/movielens/下载用户评分文件rating.csv。用Spark的MLlib自带的ALS算法实现向用户推荐电影和向电影推荐用户。解:(1)下载数据集,解压出rating.csv文件,并复制到spark项目目录。(2)编写spark代码,读取文件。6.4基于Spark的关联建模实例(3)将数据集划分为训练集和测试集。训练集用来训练模型,测试集用来判断模型的准确程度:(4)导入ALS算法模型,并设置参数:6.4基于Spark的关联建模实例(5)训练模型,测试模型:(6)对于预测误差进行评估:6.4基于Spark的关联建模实例(7)向用户推荐电影:(8)向电影推荐用户:6.4基于Spark的关联建模实例【例6-7】关联规则分析。根据某超市的顾客消费记录shopping.csv,利用Spark的FPGrowth算法生成强关联规则,对货架布置提出建议。
解:(1)导入数据集,进行初步分析。代码如下:6.4基于Spark的关联建模实例(2)调整数据格式,使其能够适配FPGrowth算法模型。增加代码如下:6.4基于Spark的关联建模实例(3)设置参数,训练模型。增加代码如下:(4)输出频繁项集。增加代码如下:6.4基于Spark的关联建模实例
程序输出了频度最高的10项,以及包含项目大于二项的频度最高的10项,但是根据常识来看,购买塑料袋以及各种刷卡消费记录不能算作正常的商品购买。因此添加额外代码,剔除这一部分记录:6.4基于Spark的关联建模实例(5)生成强关联规则。增加以下代码:
在生成的关联规则表中,antecedent为前项,consequent为后项,confidence为置信度,lift为提升度。表格按照置信度的大小排序,置信度越高越好。提升度lift的值,是置信度confidence除以后项consequent的支持度所得结果,lift越大越有价值。一共获得了6个强关联规则,根据这6个规则调整货架部署。将香满园特等长粒香米、美汁源果粒橙、哈尔滨听装小麦王放置在一起。在临洺关驴肉香肠礼盒和五百居香肠礼盒附近,放置地方特色礼盒。6.4基于Spark的关联建模实例谢谢观看第7章数据降维课程学习内容7.1数据降维的概念7.2数据降维的算法原理7.3基于Python的数据降维实例7.4基于Spark的数据降维实例7.1数据降维的概念
机器学习所面对的数据集大多是以结构化二维表格形式呈现,每一行称之为一条记录,每一列称之为一种属性。如果从矩阵的角度来看,所处理的数据集就是二维矩阵。如果这个矩阵中充斥了一些多余的、有缺陷的、彼此线性相关的行或列,那么既不利于存储,也不利于建模和运算。此时需要进行降维处理,把冗余的行或列去掉,这就是数据降维的概念。
数据降维可以分为行降维和列降维。行降维是把矩阵中有缺陷的行去除掉,即满足下列任一条件的样本将被删除:(1)目标字段值缺失的样本。(2)所有预测属性字段缺失的样本。(3)由用户自定义比例m%,大于等于m%的字段缺失的样本7.1数据降维的概念
7.1数据降维的概念
列降维是把每一列看成是多维空间中的一个坐标轴,在理想情况下,空间维度应该和坐标轴个数相同。例如3维空间要以3个坐标轴XYZ来描述,并且XYZ坐标轴应该彼此正交。但是实际中这些坐标轴存在相关的情况,具体表现在两个方面,一是坐标轴个数多,例如3维空间中有4个坐标轴。二是坐标轴彼此没有正交,即它们的夹角不是90度。此时可以通过降维处理,产生新的坐标系,使坐标轴数量与空间维度吻合,并且彼此正交。
常用的列降维算法有主成分分析、奇异值分解、线性判别分析等,后面的算法分析主要是指列降维算法。7.2数据降维的算法原理7.2.1主成分分析
主成分分析(PCA)是一种经典的、基于线性变换和数理统计的降维方法。对于一个n维的特征变量x=(x1,x2,…xn),通过旋转坐标系,把x表示在新的坐标系中为y=(y1,y2,…,yn),如果新的坐标系中某些轴包含的信息太少,则可以将其省略,达到了降维的目的。二维变量通过坐标旋转变成一维变量7.2数据降维的算法原理
7.2数据降维的算法原理
7.2数据降维的算法原理
7.2数据降维的算法原理7.2数据降维的算法原理7.2数据降维的算法原理
7.2数据降维的算法原理
7.2数据降维的算法原理
7.2数据降维的算法原理
7.2数据降维的算法原理
7.2数据降维的算法原理
7.2数据降维的算法原理
7.2数据降维的算法原理7.2.3线性判别分析 PCA和SVD都是无监督算法,而线性判别分析(LDA)则是典型的有监督算法。LDA的效果要优于PCA,但是LDA需要额外的分类目标字段,主要是面向分类问题,所以适用范围较小。
LDA算法的思想是:既然需要解决分类问题,那么降维以后的分类效果一定要好。样本投影到最佳鉴别矢量空间,投影后保证模式样本在新的子空间有最大的类间距离和最小的类内距离,即模式在该空间有最佳的可分离性。7.2数据降维的算法原理
7.2数据降维的算法原理
7.2数据降维的算法原理
7.2数据降维的算法原理
7.3基于Python的数据降维实例 Python的sklearn中的decomposition模块中含有各种降维算法,可以方便的调用。
【例7-5】导入Python中自带的鸢尾花数据集,利用SVD算法进行降维处理。解:原始数据有4个维度:花萼长度(sepal_length)、花萼宽度(sepal_width)、花瓣长度(petal_length)、花瓣宽度(petal_width)。其实,这4个维度有很大的相关性,可以用更少的维度来描述。降维以后,用SVC算法进行分类测试,代码如下:7.3基于Python的数据降维实例7.3基于Python的数据降维实例7.3基于Python的数据降维实例【例7-6】wine.data文件中记录了葡萄酒的性能参数和分类。其中第一列说明分类情况,共分成3类。后续各个列说明了性能参数,共有13项参数。利用LDA算法进行降维,降成2维数据,并利用logistics算法进行分类。解:首先读入数据集,划分为训练集和测试集。然后用训练集建立LDA模型,用该模型对测试集降维,再利用logistics算法进行分类。代码如下:7.3基于Python的数据降维实例7.3基于Python的数据降维实例7.3基于Python的数据降维实例7.3基于Python的数据降维实例7.4基于Spark的数据降维实例【例7-7】利用org.apache.spark.ml.feature中包含的PCA算法,对鸢尾花数据集进行降维处理,使原始的4维数据降低为2维。解:(1)导入数据集。(2)将数据集的class类型由string,变换为double。增加以下代码:(3)整合鸢尾花的4个特征量,变换为1个特征向量。增加以下代码:7.4基于Spark的数据降维实例(4)将特征向量features进行规范化,变为scaledFeatures。增加以下代码:(5)建立PCA模型。设置输入列为scaledFeatures,输出列为pcaFeatures,降低至2维。增加如下代码:7.4基于Spark的数据降维实例谢谢观看第8章神经网络课程学习内容8.1神经网络的概念8.2神经网络的算法原理8.3基于Python的神经网络实例8.4基于Spark的神经网络实例8.1神经网络的概念
神经元抽象为近似为一个多输入、单输出的系统,它接受多个信号后进行处理,再向外输出。其抽象化的模型如图8.1神经网络的概念
8.1神经网络的概念
现代神经网络是由多个神经元组成的分层网状结构的,由输入层、隐含层和输出层组成,如图所示,每一个圆圈代表一个神经元。通过复杂网络结构,神经网络可以很容易地处理非线性分类问题。与线性分类不同,非线性分类问题的分类边界是非线性函数。面对非线性分类问题,如语言分析、图像识别、视频分析、目标检测、文本语义等领域问题,神经网络有天然的优势。8.2神经网络的算法原理8.2.1多层感知机
MLP由输入层、隐含层和输出层构成。相邻层节点之间由权值连接,但各层内的节点之间相互独立。理论上已经证明,具有单隐含层的MLP就能以任意精度逼近任意的非线性函数。其结构示意如图所示。8.2神经网络的算法原理
BP算法的精髓是误差梯度下降法。其核心思想是,首先将学习样本的输入信号(一般会进行归一化操作)送到输入层,而后经隐含层传递到输出层,经输出层的计算后,输出对应的预测值。当预测值和真实值(期望值)之间的误差达不到预设的目标精度要求时,网络会从输出层逐层向输入层反馈该误差信息,并调整各层间的权值、神经元的偏置,通过反复循环迭代逐步降低网络的输出值与样本的期望输出值之间的误差,直至满足设定的循环次数或精度要求,此时网络的学习过程结束,并获取到优化后的权值、偏置,以此为基础提取未知样本的信息进行输入,即可获得对未知样本的映射(预测)。8.2神经网络的算法原理 MLP设计、训练和测试的步骤如下:(1)网络拓扑结构的确定及相关参数的初始化。(2)将原始数据集归一化,输入到神经网络的输入层。(3)计算网络数据实际输出与样本数据期望输出之间的误差,并依据得到的误差信息反向传播到输入层,同时调整各层之间的权值、偏置。(4)循环迭代(2)、(3)两个过程,逐步降低计算误差,直到误差达到设定的目标误差或循环迭代次数达到设定的最大次数。(5)获取到最优的权值、偏置。(6)提取检测样本的输入信息,借助第(5)步获取到的最优的权值、阈值,便可计算出测试样本的预测输出。8.2神经网络的算法原理8.2神经网络的算法原理8.2神经网络的算法原理8.2.2卷积神经网络CNN
卷积神经网络CNN是目前最热门的神经网络模型之一,因其良好的特征提取能力和分类预测效果,被广泛应用于图像识别、人脸识别和自然语言处理等领域。CNN的局部连接、权值共享和下采样是区别于其他网络模型的显著特征。局部连接是指网络的两层神经元之间是部分连接的,权值共享是指对样本实施卷积运算时卷积核是相同的,下采样是对特征进行局部总结。
CNN主要由输入层、卷积层、池化层、全连接层和输出层构成,CNN的模型结构如图
所示。卷积层的主要功能是提取样本特征,池化层的主要功能是对特征进行降维,全连接层是对经过卷积和池化操作后的特征图进行分类预测。8.2神经网络的算法原理CNN结构图8.2神经网络的算法原理1.卷积层
在卷积过程中,步长(stride)和填充(padding)是影响卷积结果的两个重要参数。步长表示卷积核每次滑动的距离大小,填充描述的是在输入数据的基础上向外围扩充的大小,填充能够保证卷积前后数据的维度大小保持一致,若不进行填充,每次卷积操作后输出特征图的维度都会缩小,经过多次卷积操作后输出特征图的维度将小到难以进行卷积操作。填充的使用就是为了避免在深层卷积神经网络的卷积过程中出现数据维度太小而无法进行卷积的问题。值得注意的是,一个卷积层并不是只有一个卷积核,往往有多个,卷积层输出的特征图数量与卷积核数量相同。
8.2神经网络的算法原理8.2神经网络的算法原理
为了增加网络的非线性表达能力,一般在卷积层之后会接一个激活函数。常接在卷积层之后的激活函数包括:ReLU函数、Sigmoid函数和LeakyReLU函数等。
总结卷积层的2个主要思想:
一是局部连接,通过卷积核逐块对输入数据的分块相乘再求和,考虑了事物的就近相关性,克服了BPNN缺乏空间推理能力的问题。
二是权值共享,通过使用相同的权重矩阵对输入数据的每一个数据块进行卷积,减少了存储权值的空间,降低了计算过程的复杂度,初步克服了BPNN参数爆炸的问题。8.2神经网络的算法原理2.池化层
池化层的主要作用是在卷积层的基础上对局部特征信息进行总结,达到特征降维的目的,从而减少参数和计算量,进一步解决参数爆炸问题。池化操作是在特征图上通过一个大小为s×s的矩阵窗口进行滑动来实现的,但是区别于卷积层的对应位置相乘再相加。常见的两种池化方法为最大池化(MaxPooling)和平均池化(AveragePooling),最大池化是将s×s矩阵窗口中的最大值作为输出,平均池化是将s×s矩阵窗口中的平均值作为输出。8.2神经网络的算法原理3全连接层 CNN的卷积层和池化层只是完成了输入数据的特征提取功能,却无法得出最终的分类预测结果,因此引入了全连接层(FullyConnectedLayer,FC)来解决分类决策问题。FC一般是在CNN模型的最后,紧挨着池化层,该层将池化层输出的特征图压平,转化成一维特征向量进行训练,然后通过Softmax等分类器得到每个类别的概率值。全连接层采用全局连接方式,即每个神经元都与前一层的所有神经元互相连接,因此会产生大量的参数,容易发生过拟合现象。所以,通常会在全连接层中加入dropout模块,随机抛弃部分神经元来避免过拟合的发生。实际上FC层就相当于单隐含层MLP的隐含层8.3基于Python的神经网络实例【例8-3】用sklearn中集成的MLP神经网络分类器MLPClassifier,处理第三章例3-7的鸢尾花分类问题。
解:修改例3-7的代码,将引入决策树的代码,更改为引入神经网络的代码。【例8-4】用sklearn中集成的MLP神经网络回归器,预测例5-6的皮鞋厂第19个月销售额。解:引入MLP神经网络回归器MLPRegressor,代码如下:8.3基于Python的神经网络实例【例8-5】利用TensorFlow2搭建MLP,对著名的手写体数据集MNIST进行分类识别。MNIST数据集来自美国国家标准与技术研究所,训练集共60000个样本,由来自250个不同人手写的数字构成,其中50%是高中学生,50%来自人口普查局(theCensusBureau)的工作人员。测试集共10000个样本,也是同样比例的手写数字数据。通过搭建神经网络,使计算机能够正确识别这些数字。8.3基于Python的神经网络实例8.3基于Python的神经网络实例解:(1)TensorFlow2中集成了MNIST数据集,首先要能够读入数据,包括训练集和测试集。代码如下:8.3基于Python的神经网络实例(2)利用TensorFlow2建立MLP的拓扑。每一次需要输入28*28的矩阵,输入神经元784个。输出需要10个神经元,对应0-9的10个类别。按照式8-5,中间的隐含层需要30个神经元。代码如下:8.3基于Python的神经网络实例(3)训练神经网络并测试。代码如下:8.3基于Python的神经网络实例【例8-6】利用TensorFlow2搭建CNN,对MNIST进行识别。CNN采用LeNet-5架构,同样设置epoch=20,与例8-5的MLP进行性能对比。
解:LeNet-5是1995年提出的一种比较简单的CNN,其结构如图所示8.3基于Python的神经网络实例LeNet-5共有7层,分别是:卷积层1、池化层1、卷积层2、池化层2和3个全连接层。代码如下:8.3基于Python的神经网络实例8.3基于Python的神经网络实例8.4基于Spark的神经网络实例【例8-7】利用SparkMLlib建立MLP,解决例3-12的鸢尾花分类问题。
解:在Spark中,目前被MLlib集成的神经网络是MLPC,即MultilayerPerceptronClassifier(多层感知分类器)。与Python中sklearn的MLPClassifier主要区别是:除了需要指定隐含层神经元的个数,还要指定输入层和输出层神经元的个数。代码如下:8.4基于Spark的神经网络实例8.4基于Spark的神经网络实例8.4基于Spark的神经网络实例8.4基于Spark的神经网络实例谢谢观看第9章项目实战1:食品安全信息处理与识别课程学习内容9.1项目背景9.2数据获取9.3数据预处理9.4机器学习建模与分析9.5项目总结9.1项目背景
本项目致力于在信息集合中识别与食品安全相关的信息,以助力相关部门监管高效精准。对信息数据进行分类,通过模型建立、语义分析等方法筛选出食品安全相关的信息,输出属于食品安全相关的信息编号及信息名称。项目整体架构如图
所示。第一步是从文档数据库MongoDB上获取文本信息记录。第二步是用Pandas进行数据预处理,提取有效字段。将预处理完毕的数据进行建模与分析。第三步是用jieba、Gensim、NLTK将文本转换为数值,再用sklearn支持向量机模型建模。第四步是用Matplotlib的三维散点图呈现模型的分类效果。第五步对项目进行总结和实际应用。9.2数据获取9.2.1用SecureCRT连接MongoDB查看数据1.打开VMware虚拟机,导入DATA01虚拟机镜像,设置虚拟网络编辑器的VMnet8网卡的子网地址为
9.2数据获取2.启动虚拟机,用SecureCRT联机。参数设置如图所示,主机名为“10”,端口为“22”,用户名为“root”,密码为“123456”9.2数据获取3.联机完成后,调整字符编码为UTF-8格式9.2数据获取4.启动MongoDB服务,查看数据。具体命令如下:得到的结果如下:9.2数据获取9.2.2用Python连接MongoDB读取数据
利用pymongo包连接MongoDB,读取mydb库的myCollection集合中的数据,主要代码如下:9.3数据预处理9.3.1数据转换
将列表中的数据转换为pandas的DataFrame,以便进一步处理,主要代码如下:9.3数据预处理9.3.2数据清洗
在上面的df01中,_id和EVENT_ID都是记录的唯一标识符,可以只保留1个,这里保留EVENT_ID。EVENT_NAME和CONTENT都表示信息的内容,可以整合为一个字段。考虑到CONTENT字段有空值、与EVENT_NAME完全相同和与EVENT_NAME不相同3种情况,整合时要以用户自定义函数的形式进行处理。9.3数据预处理主要代码如下:9.4机器学习建模与分析9.4.1将信息集合划分为训练集和测试集
训练集用来训练模型,测试集用来检验模型的分类有效性。划分时要保证涉及食品安全信息的记录,在训练集和测试集中的比重是一致的。主要代码如下:9.4机器学习建模与分析9.4机器学习建模与分析9.4.2将NAME_AND_CONTENT字段数值化
NAME_AND_CONTENT字段是用文字描述的,计算机在处理文字时,要将其转换为数值化的n维向量。具体实现分为以下2个步骤。 1.语句拆分
实词是语句含义特征的主要标志,为了突出这种特征和减少后续计算量,要保留实词,去掉虚词。
主要代码如下:9.4机器学习建模与分析9.4机器学习建模与分析2.将词汇列表转换为数值化的向量
首先用get_corpus_vectors函数,转换训练集为n维度数值化向量集合A,再利用get_new_doc_vector函数,计算测试集在A中的数值化投影向量集合,作为向量集合B。这里用到了语言的两个处理工具:Gensim、NLTK。 Gensim(generatesimilarity)是一个简单高效的自然语言处理Python库,用于抽取文档的语义主题(semantictopics)。 NLTK是一个高效的Python构建的平台,用来处理人类自然语言数据。9.4机器学习建模与分析主要代码如下:9.4机器学习建模与分析9.4机器学习建模与分析9.4机器学习建模与分析9.4机器学习建模与分析9.4.3针对训练集建立分类模型进行训练
采用sklearn库的支持向量机(SVM)模型进行分类,用数值向量化的训练集df_A进行训练。主要代码如下:9.4机器学习建模与分析9.4.4用测试集检验分类模型的性能
用测试集df_B检验分类模型的性能,通过预测值与实际值的比对,计算精确率、召回率和F1分数。主要代码如下:9.4机器学习建模与分析9.4.5结果可视化
主要代码如下:9.5项目总结1.对于信息的识别问题,首要的是定位出关键字段。2.非数值的文本信息,若要调用sklearn库的强大功能,需要首先进行数值化转换。3.在实践中,关系到国计民生的重大问题,在模型选择上要有意选择漏警率较低的模型。4.本项目可以从以下角度探索改进:(1)可以尝试sklearn库的其他分类算法,比较性能优劣(2)文本转换为数值时,可以增加转换维度,以增大计算量为代价,换取分类性能的提升。谢谢观看第10章项目实战2:基于Hive数据仓库的商品推荐课程学习内容10.1项目背景10.2数据获取10.3数据预处理10.4机器学习建模与分析10.5项目总结10.1项目背景
本项目研究利用Hive进行顾客消费记录的转存,并做线下商品推荐和线上商品推荐;采用Spark进行建模与分析,获得商品推荐表,向顾客推荐商品,达到促销的目的。
第1步是数据获取,用Spark连接MySQL获取商品消费记录,存入Hive数据仓库的ODS层。第2步是用SparkSQL进行数据预处理,提取必要的消费信息,存入数据仓库的DW层。第3步建模与分析阶段,用SparkML工具进行数据挖掘,得出商品推荐规则,保存到MySQL的商品推荐表中。第4步是商品推荐10.2数据获取10.2.1用navicat连接数据库查看数据
商业数据存储在MySQL的test数据库的相关表中。其中线下的消费信息保存在表shopping中,用navicat连接数据库查看数据。线上的消费信息保存在表product_browse中
10.2数据获取10.2数据获取10.2.2用Spark获取数据到Hive的ods数据仓库1.Hive数据仓库的结构
本项目仅研究商品推荐问题,故不涉及DM层,仅仅涉及ODS和DW层。先利用SecureCRT联机,输入下面的命令,启动Hadoop平台:
10.2数据获取再输入hive命令,进入hive的客户端,查看数据仓库分层架构和目前现有的数据:
10.2数据获取2.编写Spark程序实现线下(超市购物)消费数据从MySQL保存到hive Spark程序在IDEA工具中开发,在IDEA中建立Maven工程项目test,建立scala单例类aaa04_01,实现把MySQL中的test.shopping线下消
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 尘肺病康复项目执行方案详解
- 运动会医疗保障工作总结范例
- 影视投资合同样本及法律风险分析
- 非无菌医用一次性防护服包装方案设计
- 园林绿化施工方案及预算书
- 幼儿园园艺环境美化设计方案
- 农业机械化操作规程与安全措施
- 高中地理必修教材教案及课件设计
- 物流公司司机安全驾驶培训材料
- 城市地下管网勘查技术手册
- 坚持人民至上 工会研讨发言
- 杭州师范大学2013年841无机化学考研真题
- 美学原理全套教学课件
- 期末复习(课件)新思维英语四年级上册
- 子宫脱垂试题及答案
- 中国政治思想史复习资料
- 高中音乐鉴赏 第一单元 学会聆听 第一节《音乐要素及音乐语言》
- 《中国民间故事》阅读指导课
- 20以内加减法口算题3500道直接打印
- 走好群众路线-做好群众工作(黄相怀)课件
- 北斗卫星导航系统(全套课件208P)
评论
0/150
提交评论