随笔分类 - Spark
摘要:选取了10个文档,其中4个来自于一篇论文,3篇来自于一篇新闻,3篇来自于另一篇新闻。 首先在pom文件中加入mysql-connector-java: main函数: 运行结果:
阅读全文
摘要:1. 神经网络基础知识 1.1 神经元 神经网络(Neural Net)是由大量的处理单元相互连接形成的网络。神经元是神经网络的最小单元,神经网络由若干个神经元组成。一个神经元的结构如下: 上面的神经元x1,x2,x3和1是输入,hw,b(x)是输出。 其中f(x)是激活函数,常用的激活函数有sig
阅读全文
摘要:协同过滤(Collaborative Filtering,CF)算法是一种常用的推荐算法,它的思想就是找出相似的用户或产品,向用户推荐相似的物品,或者把物品推荐给相似的用户。怎样评价用户对商品的偏好?可以有很多方法,如用户对商品的打分、购买、页面停留时间、保存、转发等等。得到了用户对商品的偏好,就可
阅读全文
摘要:1. Alternating Least Square ALS(Alternating Least Square),交替最小二乘法。在机器学习中,特指使用最小二乘法的一种协同推荐算法。如下图所示,u表示用户,v表示商品,用户给商品打分,但是并不是每一个用户都会给每一种商品打分。比如用户u6就没有给商
阅读全文
摘要:关联规则挖掘最典型的例子是购物篮分析,通过分析可以知道哪些商品经常被一起购买,从而可以改进商品货架的布局。 1. 基本概念 首先,介绍一些基本概念。 (1) 关联规则:用于表示数据内隐含的关联性,一般用X表示先决条件,Y表示关联结果。 (2) 支持度(Support):所有项集中{X,Y}出现的可能
阅读全文
摘要:KMenas算法比较简单,不详细介绍了,直接上代码。 运行结果:
阅读全文
摘要:1. 决策树基本知识 决策树就是通过一系列规则对数据进行分类的一种算法,可以分为分类树和回归树两类,分类树处理离散变量的,回归树是处理连续变量。 样本一般都有很多个特征,有的特征对分类起很大的作用,有的特征对分类作用很小,甚至没有作用。如决定是否对一个人贷款是,这个人的信用记录、收入等就是主要的判断
阅读全文
摘要:1. SVM基本知识 SVM(Support Vector Machine)是一个类分类器,能够将不同类的样本在样本空间中进行分隔,分隔使用的面叫做分隔超平面。 比如对于二维样本,分布在二维平面上,此时超平面实际上是一条直线,直线上面是一类,下面是另一类。定义超平面为: f(x)=w0+wTx 可以
阅读全文
摘要:1. 贝叶斯定理 条件概率公式: 这个公式非常简单,就是计算在B发生的情况下,A发生的概率。但是很多时候,我们很容易知道P(A|B),需要计算的是P(B|A),这时就要用到贝叶斯定理: 2. 朴素贝叶斯分类 朴素贝叶斯分类的推导过程就不详述了,其流程可以简单的用一张图来表示: 举个简单的例子来说,下
阅读全文
摘要:保序回归即给定了一个无序的数字序列,通过修改其中元素的值,得到一个非递减的数字序列,要求是使得误差(预测值和实际值差的平方)最小。比如在动物身上实验某种药物,使用了不同的剂量,按理说剂量越大,有效的比例就应该越高,但是如果发现了剂量大反而有效率降低了,这个时候就只有把无序的两个元素合并了,重新计算有
阅读全文
摘要:逻辑回归本质上也是一种线性回归,和普通线性回归不同的是,普通线性回归特征到结果输出的是连续值,而逻辑回归增加了一个函数g(z),能够把连续值映射到0或者1。 MLLib的逻辑回归类有两个:LogisticRegressionWithSGD和LogisticRegressionWithLBFGS,前者
阅读全文
摘要:线性回归算法,是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。 1. 梯度下降法 线性回归可以使用最小二乘法,但是速度比较慢,因此一般使用梯度下降法(Gradient Descent),梯度下降法又分为批量梯度下降法(Batch Gradient Desce
阅读全文
摘要:1. Aggregate Aggregate即聚合操作。直接上代码: acc即(0,0),number即data,seqOp将data的值累加到Tuple的第一个元素,将data的个数累加到Tuple的第二个元素。由于没有分区,所以combOp是不起作用的,这个例子里面即使分区了,combOp起作用
阅读全文
摘要:K-Means算法是一种基于距离的聚类算法,采用迭代的方法,计算出K个聚类中心,把若干个点聚成K类。 MLlib实现K-Means算法的原理是,运行多个K-Means算法,每个称为run,返回最好的那个聚类的类簇中心。初始的类簇中心,可以是随机的,也可以是KMean||得来的,迭代达到一定的次数,或
阅读全文
摘要:7. 图的聚合操作 图的聚合操作主要的方法有: (1) Graph.mapReduceTriplets():该方法有一个mapFunc和一个reduceFunc,mapFunc对图中的每一个EdgeTriplet进行处理,生成一个或者多个消息,并且将这些消息发送个Edge的一个或者两个顶点,redu
阅读全文
摘要:5. 图的转换操作 图的转换操作主要有以下的方法: (1) Graph.mapVertices():对图的顶点进行转换,返回一张新图; (2) Graph.mapEdges():对图的边进行转换,返回一张新图。 代码: 运行结果: 6. 图的结构操作 图的结构操作主要有: (1) Graph.sub
阅读全文
摘要:Spark GraphX是一个分布式的图处理框架。社交网络中,用户与用户之间会存在错综复杂的联系,如微信、QQ、微博的用户之间的好友、关注等关系,构成了一张巨大的图,单机无法处理,只能使用分布式图处理框架处理,Spark GraphX就是一种分布式图处理框架。 1. POM文件 在项目的pom文件中
阅读全文
摘要:出现这个错误可能有两种情况,Jar文件没有传上去,或者Build Path里面包含的Jar文件和Spark的运行环境有冲突。 对于第一种情况,需要在SparkConf语句后面加上Jar文件的路径: 对于第二种情况,需要把Build Path里面的Jar文件删除,因为Spark运行环境已经有这些文件了
阅读全文
摘要:1. 首先安装Scala插件,File->Settings->Plugins,搜索出Scla插件,点击Install安装; 2. File->New Project->maven,新建一个Maven项目,填写GroupId和ArtifactId; 3. 编辑pom.xml文件,添加项目所需要的依赖:
阅读全文
摘要:以Spark-Client模式运行,Spark-Submit时出现了下面的错误: 意思是说Container要用2.2GB的内存,而虚拟内存只有2.1GB,不够用了,所以Kill了Container。 我的SPARK-EXECUTOR-MEMORY设置的是1G,即物理内存是1G,Yarn默认的虚拟内
阅读全文