cheap medications premarin 1.25mg tablets estrogen contents, cheap medications buy wellbutrin no rx needed, cheap online buy baclofen online, cheap online order flagyl er pay pal online without prescription, pharmacy cheapest where to buy buy doxycycline online, online cheap medications buy overnight delivery lasix fedex, buy cheap purchase diflucan, cheap online buy neurontin online overnight cod, cheap pharmacy fedex acyclovir overnight without a rx, order cheap what is norvasc, buying cheap buy arimidex free consultation,
首页 > AI-BI-ML-DL-NLP, Mesos & DC/OS > Data Science and Machine Learning on DC/OS

Data Science and Machine Learning on DC/OS

2018年7月8日 发表评论 阅读评论

KNIME和H2O是数据科学和机器学习的两个重要的选择。

KNIMEH2O.ai是两个开源的Data Science和 Machine Learning解决方案,能很好的替代SAS和SPSS等商业软件。

Gartner-2018-Magic-Quadrant-for-Data-Science-and-Machine-Learning

Magic Quadrant for Data Science and Machine-Learning Platforms

KNIME Analytics Platform拥有超过1000个模块,数百个即可运行的示例,全面的集成工具,以及最广泛的高级算法选择,是任何数据科学家的完美工具箱。

KNIME和H2O,大家可持续关注和深入研究。

此外,SMACK也提供了完整的数据平台架构和软件基础设施堆栈参考:

SMACK

数据处理平台架构中的SMACK组合:Spark、Mesos、Akka、Cassandra以及Kafka

我们先在DC/OS上部署数据科学和机器学习软件基础设施,

然后对现有的数据做些分析。

Zeppelin & Spark on DC/OS可以作为初步的分析形态,它能快速切入数据分析领域。

一个参考架构:从搭台到唱戏,电商卷皮BI的实践演进和架构体系

使用了三个主要开源软件:

Saiku提供了一个多维分析的用户操作界面,可以通过简单拖拉拽的方式迅速生成报表,它的主要工作是根据事先配置好的schema,将用户的操作转化成MDX语句提供给Mondrian引擎执行。

Mondrian是一个OLAP分析的引擎,主要工作是根据事先配置好的schema,将输入的多维分析语句 MDX (Multidimensional Expressions )翻译成目标数据库/数据引擎的执行语言(比如SQL)。

Presto是一个分布式SQL查询引擎, 它被设计为用来专门进行高速、实时的数据分析。它支持标准的ANSI SQL,包括复杂查询、聚合(aggregation)、连接(join)和窗口函数(window functions)。

当前这个架构是我们第三个版本的架构。

第一个版本我们是直接用的Mondrian+Mysql,但是我们发现Mondrian的界面太丑了,所以在第二版加入了Saiku。但是随着业务数据量的增加,Mysql的查询性能很快就到瓶颈了,所以在第三个版本用Presto替代了Mysql。

Presto on DC/OS

Jupyter is the new front end for data science and AI.

基于PostgreSQL/Greenplum构建数据仓库(DW/OLAP) + Presto(SQL引擎)组成基础的数据仓库平台。

基于Zeppelin的数据分析和数据交互。

Apache-Zeppelin

修改不能导入超过1M JSON文件的限制,JSON file size cannot exceed 1 MB

docker run -it mesosphere/zeppelin:0.7.3-2-all-2.2.1-1-hadoop-2.6  bash

vim conf/zeppelin-env.sh 可上传4M

export ZEPPELIN_WEBSOCKET_MAX_TEXT_MESSAGE_SIZE="4096000"
./bin/zeppelin-daemon stop
./bin/zeppelin-daemon start

修改的数据没生效,应该是需要为镜像提供持久化服务,需为Zeppelin镜像分配一个持续化卷volume

基于IMDB电影评论的实验,此实验可用于对用户评论的分析。

在这里LDA(Latent Dirichlet allocation)是指隐含狄利克雷分布;另一个LDA缩写是线性判别分析(Linear Discriminant Analysis, LDA)也可一同了解,这是一种降维技术。

参考:线性判别分析LDA原理总结

LDA是一种监督学习的降维技术,也就是说它的数据集的每个样本是有类别输出的。我们要将数据在低维度上进行投影,投影后希望每一种类别数据的投影点尽可能的接近,而不同类别的数据的类别中心之间的距离尽可能的大。如:红色和蓝色两类数据,让每一种类别数据的投影点尽可能的接近,而红色和蓝色数据中心之间的距离尽可能的大。

Latent-Dirichlet-allocation-LDA

步骤:

  • 数据读取:为方便可将部分mysql数据导入csv表
  • 数据预处理:
  • 主题检测:使用隐含狄利克雷分布(LDA),每个主题使用4个关键词,共8个主题。
  • 分组:

2000条评论数据,编号从Row0–>Row1999

IMDB

主题提取,并行LDA处理。4个关键词,8个主题。

每个评论划分为8个主题,指定分值高的为分配主题。ps:可理解为关键词出现频度,如:欢乐谷、好、很棒、不好等等。

IMDB-LDA

8个主题检测出来,也可以理解8种评论主题检测出来:

IMDB-Group

经典例子:鸢尾花数据集,通过花萼、花瓣的大小进行聚类。

iris-dataset

K-均值聚类算法

聚类是一种无监督的学习,将相似的对象归到同一个簇中。聚类与分类的最大不同在于分类的目标事先已知,而聚类则不知道。

K-均值聚类算法是发现给定数据集K个簇的算法。如下图所示,如果设定的聚类簇数是4,那么理想的K-均值算法可以按照两条黑线将所有数据分为4类:

iris-dataset-02

实战这个例子:

iris-dataset-KNIME

核心关键:Cluster Model,这里使用了 PMML Cluster Model,构建了9个群族。

iris-dataset-KNIME-PMML

通过H2O机器学习对鸢尾花进行分类。

iris-dataset-KNIME-H2O

Deploying a Load-Balanced Data Pipeline

twitter

以Twitter作为数据源(100K tweets),使用Kafka、Cassandra、Marathon-LB、Zeppelin进行数据分析。


分类: AI-BI-ML-DL-NLP, Mesos & DC/OS 标签:
灰狐会员
欢迎扫码加入我们:灰狐的朋友们
我们关注和讨论的话题有:区块链、人工智能、物联网、编程语言 ...
内容导航



除非注明,开放博客文章均为原创,转载请以超链接形式标明原始出处:开放博客,谢谢。

  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.