spark之MLlib梗概

机器学习算法尝试根据训练数据使得表示算法行为的数学目标最大化,并以此来进行预测或作出决定。

机器学习问题分为几种,包括分类,回归,聚类,每种都有不一样的目标。

  • 一、MLlib包含一些特有的数据类型,它们位于org.apache.spark.mllib包。
  1.  Vector:一个数学向量。MLlib既支持稠密向量也支持稀疏向量,前者表示向量的每一位都存储下来,后者则只存储非零位以节约空间; 
  2.  LabeledPoint:在诸如分类和回归这样的监督式学习(supervised learning)算法中,LabeledPoint用来表示带标签的数据点。它包含一个特征向量和一个标签(由一个浮点数表示)
  3.  Rating:用户对一个产品的评分,用于产品推荐。
  4.  各种Model类:每个Model都是训练算法的结果,一般有一个predict()方法可以用来对新的数据点或数据点组成的RDD应用该模型进行预测。
  • 二、算法

1 特征提取

1)TF-IDF:词频-逆文档频率是一种用来从文本文档中生成特征向量的简单方法。它为文档中的每个词计算两个统计值:一个是词频(TF),也就是每个词在文档中出现的次数,另一个是逆文档频率(IDF),用来衡量一个词在整个文档语料库中出现的(逆)频繁程度。MLlib有两个算法可以用来计算TF-IDF:HashingTF和IDF,都在mllib.feature包内。

2 统计

1)Statistics.colStats(rdd):保存向量集合中每列的最小值、最大值、平均值和方差。

2)Statistics.corr(rdd,method):计算由向量组成的RDD中的列间相关的矩阵,使用皮尔森相关或斯皮尔曼相关中的一种。(皮尔森相关系数是用来反映两个变量线性相关程度的统计量。相关系数用r表示,其中n为样本量,分别为两个变量的观测值均值。r描述的是两个变量间线性相关强弱的程度。r的绝对值越大表明相关性越强。)

3)Statistics.corr(rdd1,rdd2,method):同上

4)Statistics.chiSqTest(rdd):计算由LabeledPoint对象组成的RDD中每个特征与标签的皮尔森独立性测试结果。

3 分类与回归

1)线性回归是回归中最常用的方法之一,是指用特征的线性组合来预测输出值。

2)逻辑回归是一种二元分类方法,用来寻找一个分隔阴性和阳性示例的线性分割平面。

3)支持向量机(SVM)算法是另一种使用线性分割平面的二元分类算法,同样只预期0或1的标签。

4)朴素贝叶斯(Naive Bayes)算法是一种多元分类算法,它使用基于特征的线性函数计算将一个点分到分类中的得分。这种算法通常用于使用TF-IDF特征的文本分类,以及其他一些应用。MLlib实现了多项朴素贝叶斯算法,需要非负的频次(比如词频)作为输入特征。

5)决策树与随机森林

4 、聚类 

k-means算法

5、协同过滤与推荐

交替最小二乘

6、降维

1)主成成分分析

2)奇异值分解

7、模型评估

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值