![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
SparkML
记录spark中的机器学习包API
一碗竹叶青
985硕士研究生,AI算法工程师,任职于腾讯,百度等公司,希望充当AI布道者,用最通俗易懂的语言普及AI的原理和内核,让更多人认识AI,学习AI,使用AI。希望交流请VX:tianming608
展开
-
Libsvm格式存储
参考:https://www.it-swarm.net/zh/apache-spark/%E5%A6%82%E4%BD%95%E4%BB%8Edataframe%E5%87%86%E5%A4%87%E6%95%B0%E6%8D%AE%E5%88%B0libsvm%E6%A0%BC%E5%BC%8F%EF%BC%9F/828617867/两个步骤:1.将特征转换为LabeledPoint数据X,或者将采用vectorAssembler将特征转化为稀疏矩阵2.然后以libsvm格式保存X.// 采用v原创 2020-11-04 20:20:40 · 484 阅读 · 0 评论 -
One hot 编码
参考:https://my.oschina.net/kyo4321/blog/2050708https://cloud.tencent.com/developer/article/1021585对于one hot编码首先需要将数据数值化,然后把将数值进行onehot所有的操作都是对dataframe来进行的,参看如何RDD转换dataframe数值化import org.apache.spark.ml.feature.{OneHotEncoder, StringIndexer, VectorAs原创 2020-11-04 20:20:06 · 565 阅读 · 0 评论 -
构建Spark ML推荐模型
将用户数据(u.user)复制到HDFS上hadoop fs -put u.user /home/hadoop/data/查看是否复制成功:hadoop fs -ls /home/hadoop/data/读取数据import org.apache.spark.ml.evaluation.RegressionEvaluatorimport org.apache . spark.ml.recommendation.ALSimport org.apache.spark.sql.SparkSessi原创 2020-11-04 20:18:15 · 505 阅读 · 1 评论 -
构建Spark ML分类模型
数据预处理scala> import org.apache.spark.ml.feature.LabeledPointscala> import org.apache.spark.ml.linalg.Vectorsval data = records.map {r =>val trimmed = r.map (一 .replaceAll (”\””,””})val label= trimmed(r.size - l).torntval features = trimmed.原创 2020-11-04 20:17:03 · 221 阅读 · 0 评论 -
评估指标与api
对2分类或者多分类模型的评估:// Precision by thresholdval precision = metrics.precisionByThresholdprecision.foreach { case (t, p) => println(s"Threshold: $t, Precision: $p")}// Recall by thresholdval recall = metrics.recallByThresholdrecall.foreach { case原创 2020-11-04 20:15:16 · 386 阅读 · 0 评论 -
查看dataframe的缺失值以及选取每个类目下前topN的数据
// 显示每个类目的缺失值data.select(data.columns.map(c => sum(col(c).isNull.cast("int")).alias(c)): _*).showdata.groupBy("cate1").count().show(30)println(data.count()) //3046def SortedCate(df:DataFrame): DataFrame ={// 循环类别赋值label val N = 10 val window =原创 2020-11-04 20:13:54 · 330 阅读 · 1 评论 -
spark dataframe列归一化以及读写
val embddding_seq_data = ss.read.option("sep","\t") .csv("hdfs://ss-sng-dc-v2/stage/outface/SNG/g_sng_weishi_ws_growth/tdw_parkerlin/qq/feature/embedding/bert_embedding/"+endTime_1 +"/") .toDF("feedid","embedding")embddding_seq_data以tfrecode形式写入hdfs原创 2020-11-04 20:12:40 · 1505 阅读 · 0 评论 -
MLlib基本数据类型
https://www.jianshu.com/p/c6f15063d521https://blog.csdn.net/qq_33938256/article/details/52584964#%E8%A1%8C%E7%9F%A9%E9%98%B5rowmatrix简介:MLLib提供了一系列基本数据类型以支持底层的机器学习算法。主要的数据类型包括标注点Labeled Point)、本地向量(Local Vector)、本地矩阵、分布式矩阵等。单机模式存储的本地向量与矩阵,以及基于一个或多个RDD的原创 2020-10-30 13:20:38 · 1373 阅读 · 0 评论