开源软件总结
Python常用工具箱
1.Sklearn(可用)
这个工具箱涵盖基本所有的机器学习算法,包括分类、聚类、回归、降维、模型选择、预处理。也是最常用的工具箱。
2.Tensorflow(以后可用)
这个对于该项目不太合适,不过对于以后的算法往移动设备上迁移有一定的好处
3.用不到的
深度学习Theano,caffe(图像应用很广)Neon,pylearn,chainer;
语义文本挖掘 Gensim,pattern(web文本)
4值得关注的
NUpic:分层时间记忆 http://numenta.org/
Pymc:贝叶斯相关
Staticmodle:统计相关
1.Spmf
Spmf是一个用java写的开源数据挖掘库,其包含了120种数据挖掘算法,主要的算法包括
·关联规则挖掘
·聚类
·分类
·周期性挖掘
·时间序列预测
缺点是没有数据可视化功能
2.tango-controls
Tango是一套比较成熟的系统,并且提供了多种语言支持,
提供了一整套的工具箱,包括工具设计,界面设计,等,每种都提供了java和python,C多语言的工具,对于python中的Taurus模块,其背后的依赖包很多都是用C直接写的,对编译造成了一定的困难。
3.Openscada
openSCADA是一个开源的监控和数据采集系统,其设计是按照模块来设计的,包括数据库模块,通信传输模块,数据源和数据采集模块,用户界面模块,其为eclipse提供了相应的插件,只需在eclipse中安装插件就能进行开发。并且提供了独立的开发工具。
4.Scada123
Scada123是一个软件提供商,其思想主要是利用一个开源的php框架,和R语言相结合开发出scada软件。
其中Drupal是一个使用web内容管理和构建web应用程序的框架,易于扩展。R语言是一个开源的用于统计分析,绘图的操作环境。将两者相结合drupal做可视化框架,R做数据处理的引擎。
根据这个思想找到了fastrweb这个框架。
5.Rapid scada
Rapid scada 是用C#编写的开源scada,功能齐全,可以用来创建工业自动化,家庭自动化,能源会计等自动化系统。这个系统的主要优点是,提供web访问,系统性能稳定,易于扩展。由于对C的不了解,进而不能进一步的编译
6.Fastrweb
FastRWeb 是一个基础架构环境, 可以让R脚本运行在任何WebServer上,展示数据和图形。用户通过URL地址与R脚本进行通信交互。 FastRWeb 可以快速地构建一个R的Web环境,FastRWeb 底层依赖于CGI程序,也就是说,只要能支持CGI程序的WebServer,就可以运行FastRWeb。
主要的步骤是:
1. 浏览器通过http请求访问Web服务器
2. Web服务器通过socket,把请求发给Rserve服务器
3. Rserve调用FastRWeb环境,运行R的脚本,返回数据和图片
4. 浏览器,得到结果,并在web上展示
架构原理
7.Heroku-flask-webapp
这个开源项目思想是用flask做了web的框架,而sklearn做了后台数据处理的工具用sklearn写的算法做了flask相应的app。
这个项目是用sklearn做了svm的计算。
值的学习的是这个项目采用了heroku平台:heroku是云平台,可绑定域名,支持java,node.js , scala ,python 应用的部署,通过查阅相关资料,很多的类似应用都部署于heroku平台上。由于其没有相关的静态代码,因此输出仅为一个结果。其关键代码是:
@app.route('/') #url的定位
def hello():
X = [[0, 0], [2, 2]]
y = [0.5, 2.5]
clf = svm.SVR() #简单的svr
clf.fit(X, y)
predict = clf.predict([[1, 1]])
return str(predict.tolist())
8.Psi-project
9.Model-agency-django
这个开源项目的思想是用django来嵌套html/shell/js/css来提供gui支持。用auto-sklearn作为运算引擎,提供模型支持。如下为其代码构成比例
10.Irir_cululater
这个开源项目的基本框架也是flask+sklearn这个项目是使用knn实现的鸾尾花的识别。
11.Fotuto
12.Pyscada
Pyscada是一个开源scada系统,使用django框架做web服务器,HMI是基于html5,支持以下的工业协议TCP/IP , RTU,VISA,仪表总线。
还没有找出相关的资料。
13.Razor
Razor是开源的数据分析系统,可以提供有关移动数据详细、多维度的报告来监测用户行为和统计信息。
Razor是用php和mysql写的。有以下的优点:
·数据存储和系统私有化
·可用数据源多
·自定义报表
·支持移动设备