Spark与机器学习入门篇

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

1、Spark MLlib

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

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

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

 

 

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

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

简单的例子:

1、初始数据集的构建

 

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

3、组装并构建模型 

 

4、构建测试数据

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

 

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

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

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

 

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

过程描述:

1、以一组句子开始

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

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

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

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

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

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

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

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

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

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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值