Spark MapReduce
- 使用Spark transformations actions 操作構(gòu)建代碼
- 使用配置信息進(jìn)行任務(wù)分發(fā),不關(guān)注其具體調(diào)度過程
Jupyter 應(yīng)該架于Spark集群上層,調(diào)用Spark完成MapReduce操作后返回結(jié)果
goldersgreen 后端服務(wù)可以調(diào)用Spark
- MLlib: 機(jī)器學(xué)習(xí)庫,提供大量機(jī)器學(xué)習(xí)工具
- SQL: 提供了查詢結(jié)構(gòu)化數(shù)據(jù)及計(jì)算結(jié)果等信息的接口
- Streaming: 實(shí)時數(shù)據(jù)流的處理
MLlib
- 特征的提取,轉(zhuǎn)化和選擇
特征提取:TF-IDF,Word2Vec, CountVectorizer
特征變換:Tokenizer, StopWordsRemover, n-gram,Binarizer
特征選擇: VectorSlicer, RFormula, ChiSqSelector
局部敏感哈希:Locality Sensitive Hashing operations and alorithms - 分類和回歸
分類:Logistic Regression, Decision tree classifier,Random forest classifier
回歸:Linear regression, Generalized linear regression,Decision tree regression - 聚類
k - means,Latent Dirichlet allocation,高斯混合模型(GMM) - 協(xié)同過濾
- 超參數(shù)調(diào)整
CrossValidator, TrainValidationSplit
CrossValidator(本機(jī)示例程序)
設(shè)想
用戶在機(jī)器學(xué)習(xí)是調(diào)用某個算法,通過jupyter連接到Spark完成該算法的分布式計(jì)算,反饋結(jié)果。 算法分布式計(jì)算需要預(yù)先寫好Spark的python代碼。
計(jì)劃
研究關(guān)于超參數(shù)調(diào)整知識
實(shí)現(xiàn)超參數(shù)調(diào)整范例
Spark TensorFlow
using Spark’s built-in broadcasting mechanism
https://databricks.com/blog/2016/01/25/deep-learning-with-apache-spark-and-tensorflow.html
自己構(gòu)建代碼實(shí)現(xiàn),需要對Spark和機(jī)器學(xué)習(xí)算法有深度的理解才能實(shí)現(xiàn)。
http://go.databricks.com/hubfs/notebooks/TensorFlow/Test_distributed_processing_of_images_using_TensorFlow.html
演示了對于不同數(shù)量的神經(jīng)元,繪制關(guān)于學(xué)習(xí)率的測試性能,代碼實(shí)現(xiàn)較為復(fù)雜,可能自己Spark, tensorflow,機(jī)器學(xué)習(xí)不夠了解TensorFlowOnSpark 雅虎今年2月份開源的框架
https://github.com/yahoo/TensorFlowOnSpark
提供了一個范例,通過部分代碼替換,實(shí)現(xiàn)distributed MNIST training
https://github.com/yahoo/TensorFlowOnSpark/wiki/GetStarted_standalone
sparkmagic
interactively working with remote Spark clusters through Livy, a Spark REST server, in Jupyter notebooks
通過jupyter 發(fā)送restful api 控制集群
結(jié)論: 暫時沒有應(yīng)用到我們項(xiàng)目的價值(優(yōu)先級低)
具體計(jì)劃
確定好架構(gòu)后研究Spark RDD操作,將需要實(shí)現(xiàn)的model進(jìn)行map reduce操作
同時研究MLlib機(jī)器學(xué)習(xí)庫,提供額外的機(jī)器學(xué)習(xí)方法