栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

9.5.1、Spark Mllib

9.5.1、Spark Mllib

1、机器学习

从数据中提取出模型,并可以利用模型对未知的数据做出预测

2、分类

(1)有监督学习

输入数据是由输入特征值和目标值所组成
–分类: 分类:输出是有限个离散值(eg:1,2,3,4)
回归:函数的输出可以是一个连续的值(eg:y=kx+b) 分类的算法: k-近邻算法、贝叶斯分类、决策树与随机森林、逻辑回归、神经网络
回归的算法:线性回归、岭回归

(2)无监督学习(告诉你学生分2组,只需要结果2组就可以了,不管怎末分)
输入数据是由输入特征值所组成
算法:聚类(k-means)

3、机器学习的流程

对原始数据进行数据特征工程:就是将数据进行清洗,转化,归一化,转成机器可以识别的二进制数据(使用向量表示)
—数据使用向量表示之后,分成70%训练集数据用于建立模型,30%测试集数据用于测试产生的模型
—选择合适的算法,使用70%的数据进行建模(就是生成某一套的算法,用于预测)
—生成模型之后,使用30%的数据用于测试,(30%的数据中包含标准答案),测试后会返回一个预测的答案
—然后可以计算预测的准确率,看看模型是否可靠,不可靠可以重新训练,合格就可以预测更多数据了

4、算法

(1)K-近邻算法(KNN)
如果一个样本在特征空间中的k个最相似(特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别(找距离哪个点最近)
(2)贝叶斯分类算法
条件概率、联合概率计算方式与特征独立的关系去预测(概率)
(3)决策树算法
通过多层特征,并且选择特征有优先级(多个层级的判断)

(4)随机森林算法
一个包含多个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数而定(多个决策树,去一个概率众数)
(5)逻辑回归算法
逻辑回归就是解决二分类问题的利器(好不好看,下不下雨)

5、向量的建立分类

数据需要使用向量表示(稠密向量,稀疏向量)
导包:


    org.apache.spark
    spark-mllib_2.11
    2.4.5

—向量 :有方向,有值
—稠密向量:将全部的值全部写出来
—稀疏向量:就是将稠密向量中的0去除,0太多没有用,需要填入总的个数,原数据非0的索引位置和数据

—稠密向量转成稀疏向量 toSparse
—稀疏向量转成稠密向量 toDense

object Demo01Vector {

  def main(args: Array[String]): Unit = {
    
    //稠密向量:将全部的值全部写出来
    val dense_vec: linalg.Vector = Vectors.dense(Array(1.0, 0.0, 3.1, 0.0, 0.0, 0.0, 2.1, 0.0, 0.0, 4.5, 0.0))
    println(dense_vec)

    //稀疏向量:就是将稠密向量中的0去除,0太多没有用,需要填入总的个数,原数据非0的索引位置和数据
    val parse_vec: linalg.Vector = Vectors.sparse(11, Array(0, 2, 6, 9), Array(1.0, 3.1, 2.1, 4.5))
    println(parse_vec)

    println("-" * 50)

    //稠密向量转成稀疏向量
    println(dense_vec.toSparse)

    //稀疏向量转成稠密向量
    println(parse_vec.toDense)
  }

}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/671233.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号