
Spark2-mlib
文章平均质量分 80
DemonHunter211
这个作者很懒,什么都没留下…
展开
-
Python之DataFrame数据处理
1. 说明 DataFrame是Pandas库中处理表的数据结构,可看作是python中的类似数据库的操作,是Python数据挖掘中最常用的工具。下面介绍DataFrame的一些常用方法。2. 遍历1) 代码[python] view plain copyimport pandas as pd import math df=pd.DataFrame({'key':['a','b','c']...原创 2018-06-04 14:10:14 · 7411 阅读 · 0 评论 -
GraphX spark
概述GraphX 是 Spark 中用于图形和图形并行计算的新组件。在高层次上, GraphX 通过引入一个新的图形抽象来扩展 Spark RDD :一种具有附加到每个顶点和边缘的属性的定向多重图形。为了支持图计算,GraphX 公开了一组基本运算符(例如: subgraph ,joinVertices 和 aggregateMessages)以及 Pregel API 的优化变体。此外,Grap...原创 2018-06-19 11:28:12 · 395 阅读 · 1 评论 -
十分钟搞定pandas
10 Minutes to pandasThis is a short introduction to pandas, geared mainly for new users. You can see more complex recipes in the Cookbook10分钟搞定pandas这是关于pandas的简短介绍, 主要面向新用户. 可以参阅Cookbook了解更复杂的使用方法.Cu...原创 2018-06-25 19:56:40 · 612 阅读 · 0 评论 -
Apache Spark 2.2.0 官方文档中文版(翻译完成 98%. 除 MLib 外) | ApacheCN
原文链接: http://www.apachecn.org/bigdata/spark/268.htmlApache Spark™ 是一个快速的, 用于海量数据处理的通用引擎.官方网址: http://spark.apache.org中文文档: http://spark.apachecn.org花了大概两周左右的时间,在原来 Spark 2.0.2 中文文档 版本的基础上,终于迭代出该 Spark...原创 2018-06-19 11:50:19 · 251 阅读 · 0 评论 -
频繁模式挖掘Frequent Pattern Mining
频繁模式挖掘(Frequent Pattern Mining):频繁项集挖掘是通常是大规模数据分析的第一步,多年以来它都是数据挖掘领域的活跃研究主题。建议用户参考维基百科的association rule learning 了解更多信息。MLlib支持了一个并行的FP-growth,FP-growth是很受欢迎的频繁项集挖掘算法。 FP-growth:FP-growth算法在论文Han et al...原创 2018-06-19 14:33:50 · 998 阅读 · 0 评论 -
维数约减--Dimensionality Reduction
维数约减属于无监督学习范畴,我们希望使用维数约减的原因可能有:通过数据压缩以减少数据占有内存的大小,为算法运算提高速度,将数据可视化等。数据压缩-data compression 某个物体的长度以x1厘米为单位,另一个x2是它以英寸为单位的长度。这是一个非常冗余的数据,所以与其用两个特征变量x1和x2,但它们都是测量到的长度,或许我们应该把这个数据降到一维,这样一来只用一个长度的数据。 从二维...原创 2018-06-19 15:19:08 · 680 阅读 · 0 评论 -
Collaborative Filtering算法
协同过滤(collaborative filtering CF)技术是当前最为成功和广泛使用的个性化推荐技术,传统的协同过滤技术也叫基于用户的协同过滤,(user—based CF).它是通过相同或相近兴趣的用户对资源的评价向用户推荐信息的.协同过滤技术的优点是能为用户发现更多新的兴趣.但是,传统的协同过滤技术存在3个难于解决的问题:算法的可扩展性、评价数据的稀疏性和初始资源推荐问题 ...原创 2018-06-19 15:20:35 · 1443 阅读 · 0 评论 -
核密度估计Kernel Density Estimation(KDE)
备:密度估计相关知识 密度估计经常在统计学中作为一种基于有限的样本来估计其概率密度函数的方法。 在研究随机变量的过程中,随机变量的概率密度函数的作用是描述随机变量的特性。但是在实际应用中,总体概率密度函数通常是未知的,那么如何来估计总体概率密度呢?一般,我们通过抽样或者采集一定的样本,可以根据统计学知识从样本集合中推断总体概率密度。这种方法统称为概率密度估计,即根据训练样本来确定随机变量的概率分布...原创 2018-06-19 15:31:22 · 11780 阅读 · 0 评论 -
主成份分析(PCA)详解
主成分分析法(Principal Component Analysis)大多在数据维度比较高的时候,用来减少数据维度,因而加快模型训练速度。另外也有些用途,比如图片压缩(主要是用SVD,也可以用PCA来做)、因子分析等。具体怎么用,看个人需求如何,这篇文章主要解释一下PCA的原理。当然应用起来也非常简单,现在常用的语言,python、R、matlab都有直接求解PCA或者SVD的包了。这篇文章主要...原创 2018-06-19 15:56:58 · 1458 阅读 · 1 评论 -
Spark MLlib特征处理:均值、方差、协方差 ---原理及实战
原理向量a→=(x1,x2,x3...xn)a→=(x1,x2,x3...xn),akak是a→a→中的任意元素,k=1,2,3⋯nk=1,2,3⋯n 例如:a→a→代表一个维度(特征)DimA,akak代表特征值。 向量b→=(x1,x2,x3...xn)b→=(x1,x2,x3...xn),bkbk是b→b→中的任意元素,k=1,2,3⋯nk=1,2,3⋯n 例如:b→b→代表一个维度DimB...原创 2018-06-28 18:02:35 · 813 阅读 · 0 评论 -
spark向量矩阵的使用(scala)
向量和矩阵都是做机器学习的基础,下面来介绍下使用 spark的底层的向量和矩阵是基于Breeze的,下面主要介绍下Breeze的使用,下面直接给代码,代码上有注释 需要引入的包import breeze.linalg._import breeze.numerics._import org.apache.log4j.{Level, Logger}import org.apache.spark....原创 2018-07-02 14:08:47 · 844 阅读 · 0 评论 -
scala-for高级用法
/*高级for循环*/ //这个叫守卫 for(i <- 1 until 10 if i%3==0){ //修改步长 println(i) } for(i <- 1 until 10; if i%3==0){ //修改步长.其实是有个分号的 println(i) } //写法1:嵌套for循环for (i <- 1 until 10 reverse){ ...原创 2018-07-02 15:29:29 · 493 阅读 · 0 评论 -
scala--快速了解Breeze
https://github.com/scalanlp/breeze/wiki/Quickstart点击打开链接https://github.com/scalanlp/breeze/wiki/Linear-Algebra-Cheat-Sheet点击打开链接 根据(一)中讲的,我们只需要在sbt命令行下set 包以及链接,就可以引入breeze线性代数包。然后console进入scala交互行。...原创 2018-07-02 16:36:09 · 894 阅读 · 0 评论 -
Spark2.0机器学习系列之2:Logistic回归及Binary分类(二分问题)结果评估
参数设置α:梯度上升算法迭代时候权重更新公式中包含 α : http://blog.youkuaiyun.com/lu597203933/article/details/38468303 为了更好理解 α和最大迭代次数的作用,给出Python版的函数计算过程。# 梯度上升算法-计算回归系数 # 每个回归系数初始化为1# 重复R次:# 计算整个数据集的梯度# 使用α*梯度更新回归系数的向量...原创 2018-07-03 16:39:07 · 621 阅读 · 0 评论 -
【Scala】高阶函数和柯里化
高阶函数在数学和计算机科学中,高阶函数是至少满足下列一个条件的函数:- 接受一个或多个函数作为输入- 输出一个函数在数学中它们也叫做算子(运算符)或泛函。微积分中的导数就是常见的例子,因为它映射一个函数到另一个函数。高阶函数的例子假设有一个函数对给定两个数区间中的所有整数求和:def sumInts(a: Int, b: Int): Int = if(a > b) 0 else a...原创 2018-07-04 11:49:44 · 254 阅读 · 0 评论 -
Scala编程基础
Scala与Java的关系Scala与Java的关系是非常紧密的!!因为Scala是基于Java虚拟机,也就是JVM的一门编程语言。所有Scala的代码,都需要经过编译为字节码,然后交由Java虚拟机来运行。所以Scala和Java是可以无缝互操作的。Scala可以任意调用Java的代码。所以Scala与Java的关系是非常非常紧密的。安装Scala·从Scala官方网站下载,http://www...原创 2018-07-04 14:08:25 · 1333 阅读 · 0 评论 -
Scala容器中的高阶函数 | Hello Code
文章目录1. List1.1. aggregate1.2. andThen1.3. collect1.4. collectFirst1.5. compose1.6. corresponds1.7. count1.8. dropWhile1.9. exists1.10. filter1.11. filterNot1.12. find1.13. flatten1.14. fold1.15. foral...原创 2018-07-04 14:37:05 · 306 阅读 · 0 评论 -
Scala--映射和元组
一、构造映射 val scores = Map("Jim"->10, ("Tom",20), "Sam"->44) //key->value, (key,value)两种方式表示, 不可变映射, val s = scala.collection.mutable.Map("Jim"->10, ("Tom",20), "Sam"-&原创 2018-07-06 15:09:18 · 199 阅读 · 0 评论 -
基于Spark的FPGrowth算法的运用
一、FPGrowth算法理解 Spark.mllib 提供并行FP-growth算法,这个算法属于关联规则算法【关联规则:两不相交的非空集合A、B,如果A=>B,就说A=>B是一条关联规则,常提及的{啤酒}-->{尿布}就是一条关联规则】,经常用于挖掘频度物品集。关于算法的介绍网上很多,这里不再赘述。主要搞清楚几个概念:1)支持度support(A => B)...原创 2018-06-19 11:27:38 · 802 阅读 · 0 评论 -
Spark入门:主成分分析(PCA)
二、主成分分析(PCA)1、概念介绍主成分分析(PCA) 是一种对数据进行旋转变换的统计学方法,其本质是在线性空间中进行一个基变换,使得变换后的数据投影在一组新的“坐标轴”上的方差最大化,随后,裁剪掉变换后方差很小的“坐标轴”,剩下的新“坐标轴”即被称为 主成分(Principal Component) ,它们可以在一个较低维度的子空间中尽可能地表示原有数据的性质。主成分分析被广泛应用在各种统计学...原创 2018-06-19 11:16:53 · 969 阅读 · 0 评论 -
Spark MLlib特征处理:PCA 主成分分析 ---原理及实战
PCA(Principal Component Analysis)即主成分分析。正如其名,PCA可以找出特征中最主要的特征,把原来的n个特征用k(k < n)个特征代替,去除噪音和冗余。PCA是特征提取、数据降维的常用方法。MLlib中PCA的实现思路:1)原始数据3行4列经过转换得到矩阵A3∗4A3∗42)得到矩阵A3∗4A3∗4的协方差矩阵B4∗4B4∗43)得到协方差矩阵B4∗4B4∗...原创 2018-06-19 11:13:46 · 686 阅读 · 0 评论 -
pandas中Dataframe的查询方法([], loc, iloc, at, iat, ix)
pandas为我们提供了多种切片方法,而要是不太了解这些方法,就会经常容易混淆。下面举例对这些切片方法进行说明。数据介绍先随机生成一组数据:In [5]: rnd_1 = [random.randrange(1,20) for x in xrange(1000)] ...: rnd_2 = [random.randrange(1,20) for x in xrange(1000)] ....原创 2018-06-04 14:11:07 · 522 阅读 · 0 评论 -
python pandas dataframe 的按列或者按行合并
concat 与其说是连接,更准确的说是拼接。就是把两个表直接合在一起。于是有一个突出的问题,是横向拼接还是纵向拼接,所以concat 函数的关键参数是axis 。 函数的具体参数是:concat(objs,axis=0,join='outer',join_axes=None,ignore_index=False,keys=None,levels=None,names=None,verigy_in...原创 2018-06-04 14:12:07 · 5988 阅读 · 0 评论 -
Scala基础入门(十一 ) Vector集合容器使用介绍
Vector 是一个容器,可以保存其他数据对象,也称为集合。 Vector 是Scala标准包的一部分,我们可以直接使用,不需要导包。我们以实例来了解 Vector 容器。创建 Vector无需使用new关键字就可以创建 Vector 容器实例。创建实例的同时我们可以放入元素://1. 创建 Vector 对象 var v1 = Vector(1, 2, 3);Vector 索引下标Vector ...原创 2018-06-05 19:34:48 · 823 阅读 · 0 评论 -
Spark应用程序第三方jar文件依赖解决方案
第一种方式操作:将第三方jar文件打包到最终形成的spark应用程序jar文件中应用场景:第三方jar文件比较小,应用的地方比较少第二种方式操作:使用spark-submit提交命令的参数: --jars要求:1、使用spark-submit命令的机器上存在对应的jar文件2、至于集群中其他机器上的服务需要该jar文件的时候,通过driver提供的一个http接口来获取该jar文件的(例如:htt...原创 2018-06-06 10:29:53 · 899 阅读 · 0 评论 -
Apache Spark MLlib学习笔记(一)MLlib数据存储Vector/Matrix/LablePoint
在进行具体算法模型剖析之前,首先要清楚MLlib采用的数据结构,spark官方文档也提供了英文的数据结构介绍,地址如下: http://spark.apache.org/docs/latest/mllib-data-types.htmlMLlib支持单机local vectors 和 matrices以及分布式矩阵。其中local vectors 和 matrices是一种用于公共接口的简单数据结...原创 2018-06-06 13:46:24 · 986 阅读 · 0 评论 -
如何在Scala中使用条件表达式
条件表达式Scala的if/else语法结构和Java或C++一样。不过,在Scala中if/else表达式有值,这个值就是跟在if或else之后的表达式的值。例如:if (x > 0) 1 else -1上述表达式的值是1或−1,具体是哪一个取决于x的值。你可以将if/else表达式的值赋值给变量:val s = if (x > 0) 1 else -1这与如下语句的效果一样:if ...原创 2018-06-06 14:13:10 · 459 阅读 · 0 评论 -
LeastSquaresGradient
LeastSquaresGradient 计算每个样本的梯度和误差作用:对每一个单例样本,计算线性回归的最小二乘损失函数的梯度和损失在LinearRegression.scala的第87行生成了该类的实例该类有两个compute方法1.override def compute(data: Vector, label: Double, weights: Vector) 方法返回两个值 一、梯度值:x...原创 2018-06-06 15:46:51 · 463 阅读 · 0 评论 -
Scala集合类型详解
Scala集合Scala提供了一套很好的集合实现,提供了一些集合类型的抽象。Scala 集合分为可变的和不可变的集合。可变集合可以在适当的地方被更新或扩展。这意味着你可以修改,添加,移除一个集合的元素。而不可变集合类永远不会改变。不过,你仍然可以模拟添加,移除或更新操作。但是这些操作将在每一种情况下都返回一个新的集合,同时使原来的集合不发生改变。 集合中基本结构: 几种常用集合类型示例: [j...原创 2018-06-13 17:41:21 · 3116 阅读 · 0 评论 -
特征降维-PCA(Principal Component Analysis)
在进行图像的特征提取的过程中,提取的特征维数太多经常会导致特征匹配时过于复杂,消耗系统资源,不得不采用特征降维的方法。所谓特征降维,即采用一个低纬度的特征来表示高纬度。特征降维一般有两类方法:特征选择和特征抽取。特征选择即从高纬度的特征中选择其中的一个子集来作为新的特征;而特征抽取是指将高纬度的特征经过某个函数映射至低纬度作为新的特征。常用的特征抽取方法就是PCA。下面着重介绍PCA。PCA原理M...原创 2018-06-21 17:10:49 · 312 阅读 · 0 评论 -
[Spark性能调优] 第一章:性能调优的本质、Spark资源使用原理和调优要点分析
本課主題大数据性能调优的本质Spark 性能调优要点分析Spark 资源使用原理流程Spark 资源调优最佳实战Spark 更高性能的算子 引言我们谈大数据性能调优,到底在谈什么,它的本质是什么,以及 Spark 在性能调优部份的要点,这两点让在进入性能调优之前都是一个至关重要的问题,它的本质限制了我们调优到底要达到一个什么样的目标或者说我们是从什么本源上进行调优。希望这篇文章能为读者带出以下的启...原创 2018-06-01 15:16:34 · 351 阅读 · 0 评论 -
历时半年,Spark 2.2终于脱掉了“实验”的帽子
IT168 编译】敲黑板!!!知识点来了:Apache Spark 2.2终于脱掉了“实验”的帽子,可用于实际生产环境。Spark 2.2最大的亮点就是Structured Streamin,它是用于构建Apache Spark 2.0中引入的连续应用程序的高级API,允许应用程序实时做出决策。 根据博客内容,Databricks公司的目标是“更易于构建端到端的流应用程序,以一致和容错的方式与存储...原创 2018-06-01 15:20:48 · 796 阅读 · 0 评论 -
linux 如何显示一个文件的某几行(中间几行),以及常用命令
【一】从第3000行开始,显示1000行。即显示3000~3999行cat filename | tail -n +3000 | head -n 1000 【二】显示1000行到3000行cat filename| head -n 3000 | tail -n +1000 *注意两种方法的顺序 分解: tail -n 1000:显示最后1000行 tail -n +1000:从100...原创 2018-06-01 15:25:13 · 861 阅读 · 0 评论 -
核密度估计 Kernel Density Estimation(KDE)
写在前面给定一个样本集,怎么得到该样本集的分布密度函数,解决这一问题有两个方法:1.参数估计方法 简单来讲,即假定样本集符合某一概率分布,然后根据样本集拟合该分布中的参数,例如:似然估计,混合高斯等,由于参数估计方法中需要加入主观的先验知识,往往很难拟合出与真实分布的模型; 2.非参数估计 和参数估计不同,非参数估计并不加入任何先验知识,而是根据数据本身的特点、性质来拟合分布,这样能比参数估计方法...原创 2018-06-15 17:21:45 · 3529 阅读 · 1 评论 -
从零开始实现主成分分析(PCA)算法
前面两篇文章详细讲解了线性判别分析LDA,说到LDA,就不能不提到主成份分析,简称为PCA,是一种非监督学习算法,经常被用来进行数据降维、有损数据压缩、特征抽取、数据可视化(Jolliffe, 2002)。它也被称为Karhunen-Loève变换。1. PCA原理PCA的思想是将nn维特征映射到kk维空间上k<nk<n,这kk维特征是全新的正交特征,是重新构造出来的kk维特征,而不是...原创 2018-06-15 17:52:23 · 501 阅读 · 0 评论 -
SparkTask未序列化(Tasknotserializable)问题分析
问题描述及原因分析在编写Spark程序中,由于在map等算子内部使用了外部定义的变量和函数,从而引发Task未序列化问题。然而,Spark算子在计算过程中使用外部变量在许多情形下确实在所难免,比如在filter算子根据外部指定的条件进行过滤,map根据相应的配置进行变换等。为了解决上述Task未序列化问题,这里对其进行了研究和总结。 出现“org.apache.spark.SparkExcept...原创 2018-06-29 17:40:21 · 228 阅读 · 0 评论 -
Scala讲座:类定义和构造函数
本文节选自最近在日本十分流行的Scala讲座系列的第三篇,由JavaEye的fineqtbull翻译。本系列的作者牛尾刚在日本写过不少有关Java和Ruby的书籍,相当受欢迎。序言到这为止牛尾先生作了一下Scala语言的介绍,接下来以微型旅游的形式做一下有关Scala语法特点的探险。如果是初次接触的读者可以大略的读一下第一和第二回的讲座,就可以顺畅地读懂本文了。这次旅行准备访问的是,类定义和构造函...原创 2018-06-25 16:45:18 · 386 阅读 · 0 评论 -
大数据实战:基于Spark SQL统计分析函数求分组TopN
做大数据分析时,经常遇到求分组TopN的问题,如:求每一学科成绩前5的学生;求今日头条各个领域指数Top 30%的头条号等等。Spark SQL提供了四个排名相关的统计分析函数:dense_rank() 返回分区内每一行的排名,排名是连续的。rank() 返回分区内每一行的排名,排名可能不连续。percent_rank() 返回相对百分比排名。row_number() 返回每个分区...原创 2018-08-01 09:58:21 · 3441 阅读 · 0 评论