mllib

Spark机器学习之MLlib整理分析

 ̄綄美尐妖づ 提交于 2020-04-03 16:46:00
友情提示 : 本文档根据林大贵的《Python+Spark 2.0 + Hadoop机器学习与大数据实战》整理得到,代码均为书中提供的源码(python 2.X版本)。 本文的可以利用pandoc转换为docx文档,点击这里安装下载 pandoc 后,在终端输入以下命令: pandoc youfilename.md -f markdown -t docx -s -o outputfilename.docx Mllib 决策树二元分类 环境准备 这个阶段包括数据的下载和整理,去除缺失的数据,不符合规范的数据(比如乱码等),数据类型转换,将字符串类型映射为数字类型(建立字典),数据类型转患(将字符串类型的数字转换为浮点型的数字)。 导入这个模型我们需要的包 # -*- coding: UTF-8 -*- import sys from time import time import pandas as pd import matplotlib.pyplot as plt from pyspark import SparkConf, SparkContext from pyspark.mllib.tree import DecisionTree from pyspark.mllib.regression import LabeledPoint import numpy as np

Spark大数据分析框架的核心部件

為{幸葍}努か 提交于 2020-03-20 22:28:41
3 月,跳不动了?>>> Spark大数据分析框架的核心部件 Spark大数据分析框架的核心部件包含RDD内存数据结构、Streaming流计算框架、GraphX图计算与网状数据挖掘、MLlib机器学习支持框架、Spark SQL数据检索语言、Tachyon文件系统、SparkR计算引擎等主要部件。这里做一个简单的介绍。 一、RDD内存数据结构 大数据分析系统一般包括数据获取、数据清洗、数据处理、数据分析、报表输出等子系统。Spark为了方便数据处理、提升性能,专门引入了RDD数据内存结构,这一点与R的机制非常类似。用户程序只需要访问RDD的结构,与存储系统的数据调度、交换都由提供者驱动去实现。RDD可以与Haoop的HBase、HDFS等交互,用作数据存储系统,当然也可以通过扩展支持很多其它的数据存储系统。 因为有了RDD,应用模型就与物理存储分离开来,而且能够更容易地处理大量数据记录遍历搜索的情况,这一点非常重要。因为Hadoop的结构主要适用于顺序处理,要翻回去反复检索数据的话效率就非常低下,而且缺乏一个统一的实现框架,由算法开发者自己去想办法实现。毫无疑问,这具有相当大的难度。RDD的出现,使这一问题得到了一定程度的解决。但正因为RDD是核心部件、实现难度大,这一块的性能、容量、稳定性直接决定着其它算法的实现程度。从目前看,还是经常会出现RDD占用的内存过载出问题的情况。

3 分钟学会调用 Apache Spark MLlib KMeans

风格不统一 提交于 2020-02-29 05:38:07
Apache Spark MLlib是Apache Spark体系中重要的一块拼图:提供了机器学习的模块。只是,眼下对此网上介绍的文章不是非常多。拿KMeans来说,网上有些文章提供了一些演示样例程序,而这些程序基本和Apache Spark 官网上的程序片断类似:在得到训练模型后,差点儿都没有展示怎样使用该模型、程序运行流程、结果展示以及举例測试数据等部分。 笔者依据Apache Spark官网上的程序片断。写了一个完整的调用MLlib KMeans库的測试程序,并成功在Spark 1.0 + Yarn 2.2 的环境上运行。因为仅为高速体验目的。本程序里面的非常多细节并未被打磨,但相信已可为对Spark MLlib感兴趣的朋友们提供些许入门级帮助。 [A. 程序主要部分] [B. 測试数据] [C. 运行] 利用 ${SPARK_HOME}/bin/spark-submit 将程序提交给Yarn去运行。 [D. 结果] - Console 返回的结果(最后几行): - Yarn Web Console返回的运行结果: - Yarn Log 中显示 Scala 程序的Output: [E. 总结] - 调用 Spark MLlib 库的过程并不复杂 - 利用MLlib KMeans 训练出来的 Model(KMeansModel),能够方便地对新的数据作出分类预測 来源:

Spark的应用场景

元气小坏坏 提交于 2020-02-17 06:22:58
Spark的生态圈 1.Spark的设计遵循“一个软件栈满足不同应用场景”的理念,逐渐形成一套完整的生态系统 2.Spark可以部署在资源管理器YARN之上,提供一站式大数据解决方案 3.Spark所提供的的生态系统可对应以下三种场景: 复杂的批量数据处理:通常时间跨度在数十分钟到数小时之间 基于历史数据的交互式查询:通常时间跨度在数十秒到数分钟之间 基于实时数据的数据处理:通常时间跨度在数百毫秒到数秒之间 4.Spark生态系统已经成为伯克利数据分析栈(BDAS)中重要的组成部分 5.Spark生态系统主要包括: Spark Core Spark SQL Spark Streaming MLlib GraphX Spark Core提供Spark最基础与最重要的功能,主要包括: SparkContext:通常而言,Driver Application的执行与输出都是通过SparkContext来完成的,在正式提交Application之前,首先需要初始化SparkContext 只需要使用SparkContext提供的 API完成 功能开发 Spark Core中包含了对RDD的API定义 Spark Core提供了创建和操作这些集合的多个API Spark SQL是Spark用来操作结构化数据的程序包 Spark Streaming 支持多种数据源 提供窗口操作

scala-MLlib官方文档---spark.mllib package--classification and regression

ⅰ亾dé卋堺 提交于 2020-01-26 07:55:42
三、Classification and regression Spark.mllib包为二分类、多分类和回归分析提供了多样的支持工具 linear models(线性模型) 1)Mathematical formulation(数学公式) 很多标准的机器学习方法都可以表述为凸优化问题,例如:找到依赖于变量向量w的凸函数f的极小值的任务(在代码中被称为权重),通常含有d个输入。形式上,我们可以将其写为优化问题minw∈ℝdf(w),,具有如下形式的目标方程 这里的向量 这里向量xi∈ℝd 是训练数据示例, 其中1≤i≤n, 并且 yi∈ℝ是他们相应的标签, 也是我们想要预测的。我们称方法是线性的如果L(w;x,y) 可以被表示称方程 wTx and y。spark.mllib的几种分类和回归算法都属于此类,在此进行讨论。 目标方程f具有两部分: The objective function f has two parts: 控制模型复杂度的正则化器,以及测量训练数据上模型误差的损失。损失函数L(w ;.)通常是w中的凸函数。固定的正则化参数λ≥0(代码中的regParam)定义了两个目标之间的权衡,这两个目标是最小化损失(即训练误差)和最小化模型复杂度(即避免过度拟合)。 (1)损失方程 下表总结了spark.mllib支持的方法的损失函数及其梯度或子梯度: 注意

Spark MLlib

前提是你 提交于 2019-12-20 08:17:18
Spark MLlib 一、Spark MLlib 模型选择与调参 CrossValidator TrainValidationSplit MLlib目录结构 MLlib处理流程 MLlib构成 数据类型(Data Type) 数学统计计算库 机器学习管道(pipeline) 机器学习算法 二、Spark MLlib算法库 2.1 推荐算法(AlterNating Least Squares)(ALS) 2.2 ALS:Scala 部分内容原文地址: 掘金:美图数据团队: 从Spark MLlib到美图机器学习框架实践 一、Spark MLlib 在 Spark 官网上展示了逻辑回归算法在 Spark 和 Hadoop 上运行性能比较,从下图可以看出 MLlib 比 MapReduce 快了 100 倍。 Spark MLlib 主要包括以下几方面的内容: 学习算法:分类、回归、聚类和协同过滤; 特征处理:特征提取、变换、降维和选择; 管道(Pipeline):用于构建、评估和调整机器学习管道的工具; 持久性:保存和加载算法,模型和管道; 实用工具:线性代数,统计,最优化,调参等工具。 Spark MLlib 典型流程如下: 构造训练数据集 构建各个 Stage Stage 组成 Pipeline 启动模型训练 评估模型效果 计算预测结果 通过一个 Pipeline

Spark MLlib

给你一囗甜甜゛ 提交于 2019-12-18 16:05:22
MLlib 数据挖掘与机器学习 数据挖掘体系 数据挖掘:也就是data mining,是一个很宽泛的概念,也是一个新兴学科,旨在如何从海量数据中挖掘出有用的信息来。 数据挖掘这个工作BI(商业智能)可以做,统计分析可以做,大数据技术可以做,市场运营也可以做,或者用excel分析数据,发现了一些有用的信息,然后这些信息可以指导你的business,这也属于数据挖掘。 机器学习:machine learning,是计算机科学和统计学的交叉学科,基本目标是学习一个x->y的函数(映射),来做分类、聚类或者回归的工作。之所以经常和数据挖掘合在一起讲是因为现在好多数据挖掘的工作是通过机器学习提供的算法工具实现的,例如广告的ctr预估,PB级别的点击日志在通过典型的机器学习流程可以得到一个预估模型,从而提高互联网广告的点击率和回报率;个性化推荐,还是通过机器学习的一些算法分析平台上的各种购买,浏览和收藏日志,得到一个推荐模型,来预测你喜欢的商品。 深度学习:deep learning,机器学习里面现在比较火的一个topic,本身是神经网络算法的衍生,在图像,语音等富媒体的分类和识别上取得了非常好的效果,所以各大研究机构和公司都投入了大量的人力做相关的研究和开发。 总结:数据挖掘是个很宽泛的概念,数据挖掘常用方法大多来自于机器学习这门学科,深度学习也是来源于机器学习的算法模型

Spark Mllib 流水笔记一 统计

落花浮王杯 提交于 2019-12-17 22:48:40
1、 范数 是具有“长度”概念的函数。在向量空间内,为所有的向量的赋予非零的增长度或者大小。不同的范数,所求的向量的长度或者大小是不同的。 以上内容来自 。 https://blog.csdn.net/lioncv/article/details/43016333 2、spark version <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-mllib_2.11</artifactId> </dependency> 3、 使用的数据样本 1,2,3,4,5 6,7,1,5,9 3,5,6,3,1 3,1,1,5,6 4、spark import org.apache.spark.mllib.linalg.Vectors import org.apache.spark.mllib.stat.Statistics import org.apache.spark.{SparkConf, SparkContext} object StatisticsDemo { def main(args: Array[String]): Unit = { val conf = new SparkConf().setMaster("local").setAppName("stat") val sc = new

用Spark学习FP Tree算法和PrefixSpan算法

核能气质少年 提交于 2019-12-07 19:43:27
 转自 https://www.cnblogs.com/pinard/p/6340162.html    在FP Tree算法原理总结和PrefixSpan算法原理总结中,我们对FP Tree和PrefixSpan这两种关联算法的原理做了总结,这里就从实践的角度介绍如何使用这两个算法。由于scikit-learn中没有关联算法的类库,而Spark MLlib有,本文的使用以Spark MLlib作为使用环境。 1. Spark MLlib关联算法概述     在Spark MLlib中,也只实现了两种关联算法,即我们的FP Tree和PrefixSpan,而像Apriori,GSP之类的关联算法是没有的。而这些算法支持Python,Java,Scala和R的接口。由于前面的实践篇我们都是基于Python,本文的后面的介绍和使用也会使用MLlib的Python接口。      Spark MLlib关联算法基于Python的接口在pyspark.mllib.fpm包中。FP Tree算法对应的类是pyspark.mllib.fpm.FPGrowth(以下简称FPGrowth类),从Spark1.4开始才有。而PrefixSpan算法对应的类是pyspark.mllib.fpm.PrefixSpan(以下简称PrefixSpan类),从Spark1.6开始才有

Spark的39个机器学习库-中文

穿精又带淫゛_ 提交于 2019-12-06 23:17:22
// Apache Spark 本身 // 1.MLlib > AMPLab Spark最初诞生于伯克利 AMPLab实验室,如今依然还是AMPLab所致力的项目,尽管这些不处于Apache Spark Foundation中,但是依然在你日常的github项目中享有相当的地位。 > ML Base Spark本身的MLLib位于三层ML Base中的最底层,MLI位于中间层,ML Optimizer则处于最为抽象的顶层。 2.MLI 3.ML Optimizer (又称 Ghostface) Ghostware这个项目在2014年就开始进行了,不过从未对外公布。在这39个机器学习库中,这是唯一一个雾件,之所以能囊括在这列表中,全凭着AMPLab与ML Base的地位支撑。 // ML Base之外 // 4.Splash 这是近期2015年6月的一个项目,在运行随机梯度下降(SGD)时这套随机学习算法声称在性能上比Spark MLib中快了25%-75%。这是AMPLab实验室的sp标记项目,因此值得我们去阅读。 5.Keystone ML KML将端到端的机器学习管道引进到了Spark中,但在近期Spark版本中管道已经趋于成熟。同样也承诺具有一些计算机视觉能力,我曾经在博客中也提到过这也存在一些局限。 6.Velox 作为一个服务器专门负责管理大量机器学习模型的收集。 7