Spark与机器学习入门篇

视频学习链接:https://study.163.com/course/courseLearn.htm?courseId=1209408816#/learn/video?lessonId=1279281512&courseId=1209408816

1、Spark MLlib

 机器学习利用数据或以往经验,一次优化计算机程序的性能标准

Spark与机器学习入门篇_第1张图片

 其中模型是算法用数据进行训练以后得到模型。

传统机器学习需要从海量数据中进行抽样提取特征,大数据基础下可以对数据进行全量学习。

Spark与机器学习入门篇_第2张图片

 Spark与机器学习入门篇_第3张图片

 Spark与机器学习入门篇_第4张图片

2、机器学习流水线(构建、评估和调整机器学习工作流的工具)

输入的DataFrame(二维表)在每个阶段都会被转换,如下图所示:上一行表示转换器,其中Tokenizer是一个分词器,它对原始输入的文本文件(Raw text输入数据集)的英语单词进行分词,得到很多个单词即下一行的Words。然后再作为HashingTF的输入,把单词转换为特征向量,进行后面的机器学习。特征向量可以拿来在Logistic Regression逻辑斯蒂回归算法(评估器)进行训练,评估器调用.fit()方法进行训练,就可以得到Logistic Regression Model。

Spark与机器学习入门篇_第5张图片

简单的例子:

1、初始数据集的构建

Spark与机器学习入门篇_第6张图片 

2、定义Pipeline阶段:分词器(转换器)、转换器、评估器

Spark与机器学习入门篇_第7张图片

3、组装并构建模型 

Spark与机器学习入门篇_第8张图片 

4、构建测试数据

没有标签列,标签列是预测出来的。

 Spark与机器学习入门篇_第9张图片

 5、调用模型,生成预测结果

Spark与机器学习入门篇_第10张图片

 3、特征抽取:TF-IDF(词频-逆向文件评率)

在文本挖掘中广泛使用的特征向量化方法,体现一个文档中词语在语料库中的重要程度。

Spark与机器学习入门篇_第11张图片

 Spark与机器学习入门篇_第12张图片

 可对IDF输入训练集,调用.fit()得到一个模型。

过程描述:

1、以一组句子开始

2、首先使用分解器Tokenizer把句子划分为单个词语

3、对每一个句子(词袋),使用HashingTF将句子转换为特征向量

4、最后使用IDF重新调整特征向量

Spark与机器学习入门篇_第13张图片

这里面,每一个句子代表一个文档。调用.toDF()构建文档(句子)中的列,得到一个二维表(包括两列),然后对二维表进行转换。

Spark与机器学习入门篇_第14张图片

 分词器的输入列为二维表中的“sentence”列,结果为“words”列。

Spark与机器学习入门篇_第15张图片

输入单词列,将单词进行特征化向量表示。 但是到这里还没有完成调权重的过程。用IDF进行权重调整。

先用IDF评估器进行训练,得到一个IDF模型。

Spark与机器学习入门篇_第16张图片

 输入的是原特征向量rawFeatures,输出的是调整以后的特征向量features。此时里的特征向量列应该是调整以后的内容。

对评估器进行训练 ,用featurizedData数据集作为输入来调用.fit()方法完成idf的训练,得到模型。

Spark与机器学习入门篇_第17张图片

得到的模型对得到的新的特征向量进行调权重的操作。

你可能感兴趣的:(大数据与机器学习)