![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spark
暮之雪
这个作者很懒,什么都没留下…
展开
-
基于spark2的推荐引擎(上)
简要讨论几种推荐方式,介绍spark ALS原创 2017-08-28 16:23:13 · 1023 阅读 · 0 评论 -
Spark特征工程
按照惯例,先附上业界那句名言“数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已”。特征工程是指用一系列工程化的方式从原始数据中筛选出更好的数据特征,以提升模型的训练效果。简而言之,就是为算法提供更友好的输入,以最大化地发挥算法的作用。同时,特征工程虽然是一种技术,但其前提是对数据以及产生这些数据的具体业务场景有比较深入的理解。一般的,python的sklearn、spark的mll...原创 2018-11-17 18:45:06 · 2403 阅读 · 0 评论 -
spark Word2Vec+LSH相似文本推荐(scala)
在上一篇博客,我们使用spark CountVectorizer与IDF进行了关键词提取,博客地址:spark CountVectorizer+IDF提取中文关键词(scala)本篇博客在上一篇博客的基础上,介绍如何根据关键词获取文档的相似度,进行相似文本的推荐。在这里我们需要使用到两个算法:Word2Vec与LSH。其中Word2Vec即将词转换为词向量,这样词之间的关系就可以向量距...原创 2018-09-15 19:50:22 · 6701 阅读 · 22 评论 -
spark CountVectorizer+IDF提取中文关键词(scala)
在提取关键词中,TF-IDF是比较常用的算法,spark mlib中也提供了TF以及IDF的方法,但是由于spark提供的TF算法是不可逆的,即无法获取TF的结果对应的原句子的文字,所以需要采用 CountVectorizer。提取关键词的过程如下:1、中文分词以及去掉停用词:中文分词使用的是ansj:maven如下: <!--ansj--> <dep...原创 2018-08-22 22:42:45 · 4193 阅读 · 11 评论 -
spark udf传入复杂结构参数
笔者在使用LSH 获取相似文本时,遇到返回的Dataframe的结果比较复杂,如下:现在想使用UDF函数处理datasetA和datasetB的内容,但是由于数据结构复杂,无法直接写参数,所以需要使用Row,代码如下: val getIdFun = udf((input:Row)=> { input(0).toString.toInt; ...原创 2018-07-03 23:42:54 · 4243 阅读 · 1 评论 -
spark dataframe 一列分隔多列,一列分隔多行(scala)
关于spark dataframe ,这里介绍三种实用中实现可能比较麻烦的操作,首先上原始数据集 mRecord:一,合并content列,将name相同的content合并到一行,用逗号隔开: mRecord.createOrReplaceTempView("test"); val Df1 = sparkSQL.sql("select name,concat_ws(...原创 2018-06-17 23:26:18 · 26839 阅读 · 8 评论 -
spark Failed to execute user defined function(anonfun$3: (array<string>, vector) => string)
笔者通过udf创建spark sql 函数,代码如下: val getKeyWordsFun = udf((con:Array[String],fea:Vector)=>{ //函数内容 });使用如下:idfDf.withColumn("keywords",getKeyWordsFun(col("contents"),col("idf...原创 2018-06-07 22:57:33 · 8019 阅读 · 0 评论 -
scala spark dataframe添加序号(id)列
在spark的开发中,经常会出现需要为dataframe添加id列的地方,特别对于一些需要存到关系型数据库中的结果,话不多说,下面直接上代码。1、初始化: val sparks = SparkSession.builder .master("local[4]") .appName("test1") ...原创 2018-05-20 00:37:09 · 15296 阅读 · 1 评论 -
spark对ALS结果使用k-means聚类
首先,k-means聚类的原理很多地方都有资料了,这里就不重复谈了,这里主要介绍推荐引擎中,将ALS的结果用k-means进行聚类:在基于spark的推荐引擎的文章中,链接:基于spark2的推荐引擎(上)的文章中,我们介绍了spark的ALS。经过ALS计算后,我们的聊天记录矩阵会被分解为两个矩阵。这两个矩阵分别是用户-特征矩阵,项目-特征矩阵。而k-means用作聚类的,也是使用特征向原创 2017-10-07 23:29:03 · 1249 阅读 · 0 评论 -
spark2 dataframe map报错
在spark2中使用dataframe的map操作时候报错:Error:(34, 20) Unable to find encoder for type stored in a Dataset. Primitive types (Int, String, etc) and Product types (case classes) are supported by importing spar原创 2017-10-06 23:03:47 · 2135 阅读 · 0 评论 -
基于spark2的推荐引擎(下)
通过代码介绍spark2 ALS的使用原创 2017-08-29 10:40:04 · 817 阅读 · 0 评论 -
Spark MLPC神经网络应用实例(scala)
在Spark中,目前包括的神经网络方面的算法仅有MLPC,即MultilayerPerceptronClassifier(多层感知分类器)。它在MLlib的Classification and regression(分类与回归)中。MLPC是基于前馈人工神经网络(ANN)的分类器,属于全连接神经网络,其中隐藏层的激活函数是sigmoid函数,输出层是softmax函数。关于MLPC的原理,网络上有...原创 2018-12-23 17:38:14 · 2036 阅读 · 1 评论