开源机器学习:R Meets Weka zz
http://liouwei20051000285.blog.163.com/blog/static/2523674201052844649212/
背景介绍:
1)Weka:
Weka有两种意思:一种不会飞的鸟的名字,一个机器学习开源项目的简称(Waikato Environment for Knowledge Analysis,http://www.cs.waikato.ac.nz/~ml/weka/)。我们这里当然要介绍的是第二种意思啦,Weka项目从1992年开始,由新西兰政府支持,现在已在机器学习领域大名鼎鼎。Weka里有非常全面的机器学习算法,包括数据预处理、分类、回归、聚类、关联规则等。Weka的图形界面对不会写程序的人来说非常方便,而且提供“KnowledgeFlow” 功能,允许将多个步骤组成一个工作流。另外,Weka也允许在命令行执行命令。
2)R
R就不用我废话了吧,呵呵,越来越受欢迎的统计软件(http://www.r-project.org/)。
3)R与Weka:
R里有很多机器学习的函数和包,不过Weka里提供的函数更全面更集中,所以我有时候需要用到Weka。以前我是这样用R和Weka的:
在R中准备好训练的数据(如:提取数据特征……);
整理成Weka需要的格式(*.arff);
在Weka里做机器学习(如:特征选择、分类……);
从Weka的预测结果计算需要的统计量(如:sensitivity, specificity, MCC……)。
来回捣腾两个软件还是挺麻烦的;为了偷懒,我没学Weka的命令行,只会用图形界面的,在数据量大的时候非常受罪,有时候还会内存不够。现在发现R竟然提供了和Weka的接口函数包RWeka,以后方便多了哦,下面介绍一下RWeka的功能:
RWeka (http://cran.r-project.org/web/packages/RWeka/index.html) :
1) 数据输入和输出
WOW():查看Weka函数的参数。
Weka_control():设置Weka函数的参数。
read.arff():读Weka Attribute-Relation File Format (ARFF)格式的数据。
write.arff:将数据写入Weka Attribute-Relation File Format (ARFF)格式的文件。
2) 数据预处理
Normalize():无监督的标准化连续性数据。
Discretize():用MDL(Minimum Description Length)方法,有监督的离散化连续性数值数据。
3) 分类和回归
IBk():k最近邻分类
LBR():naive Bayes法分类
J48():C4.5决策树算法(决策树在分析各个属性时,是完全独立的)。
LMT():组合树结构和Logistic回归模型,每个叶子节点是一个Logistic回归模型,准确性比单独的决策树和Logistic回归方法要好。
M5P():M5 模型数算法,组合了树结构和线性回归模型,每个叶子节点是一个线性回归模型,因而可用于连续数据的回归。
DecisionStump():单层决策树算法,常被作为boosting的基本学习器。
SMO():支持向量机分类
AdaBoostM1():Adaboost M1方法。-W参数指定弱学习器的算法。
Bagging():通过从原始数据取样(用替换方法),创建多个模型。
LogitBoost():弱学习器采用了对数回归方法,学习到的是实数值
MultiBoostAB():AdaBoost 方法的改进,可看作AdaBoost 和 “wagging”的组合。
Stacking():用于不同的基本分类器集成的算法。
LinearRegression():建立合适的线性回归模型。
Logistic():建立logistic回归模型。
JRip():一种规则学习方法。
M5Rules():用M5方法产生回归问题的决策规则。
OneR():简单的1-R分类法。
PART():产生PART决策规则。
4) 聚类
Cobweb():这是种基于模型方法,它假设每个聚类的模型并发现适合相应模型的数据。不适合对大数据库进行聚类处理。
FarthestFirst():快速的近似的k均值聚类算法
SimpleKMeans():k均值聚类算法
XMeans():改进的k均值法,能自动决定类别数
DBScan():基于密度的聚类方法,它根据对象周围的密度不断增长聚类。它能从含有噪声的空间数据库中发现任意形状的聚类。此方法将一个聚类定义为一组“密度连接”的点集。
5)关联规则
Apriori():Apriori是关联规则领域里最具影响力的基础算法,是一种广度优先算法,通过多次扫描数据库来获取支持度大于最小支持度的频繁项集。它的理论基础是频繁项集的两个单调性原则:频繁项集的任一子集一定是频繁的;非频繁项集的任一超集一定是非频繁的。在海量数据的情况下,Apriori 算法的时间和空间成本非常高。
Tertius():Tertius算法。
6)预测和评估:
predict():根据分类或聚类结果预测新数据的类别
table():比较两个因子对象
evaluate_Weka_classifier():评估模型的执行,如:TP Rate,FP Rate,Precision,Recall,F-Measure。
开源机器学习:R Meets Weka zz相关推荐
- 【转】开源机器学习之RWeka
背景介绍: 1)Weka: Weka有两种意思:一种不会飞的鸟的名字,一个机器学习开源项目的简称(Waikato Environment for Knowledge Analysis,http://w ...
- 28款GitHub最流行的开源机器学习项目,推荐GitHub上10 个开源深度学习框架
20 个顶尖的 Python 机器学习开源项目 机器学习 2015-06-08 22:44:30 发布 您的评价: 0.0 收藏 1收藏 我们在Github上的贡献者和提交者之中检查了用Python语 ...
- Apache Spark 技术团队开源机器学习平台 MLflow
开发四年只会写业务代码,分布式高并发都不会还做程序员? 近日,来自 Databricks 的 Matei Zaharia 宣布推出开源机器学习平台 MLflow .Matei Zaharia 是 ...
- IBM也要开源机器学习平台
这下齐了,IBM也要开源机器学习平台了 2015-11-23 21:18 原创 金红 12条评论 人工智能是机器人的核心,是机器人的大脑.想要制造一个大脑不是一件容易的事,所以很多机器人公司都在等着, ...
- 最牛逼的开源机器学习框架,你知道几个
最牛逼的开源机器学习框架,你知道几个 作者 大白鲸团队 关注 2015.12.29 20:16 字数 1829 阅读 3689评论 0喜欢 7 机器学习毫无疑问是当今最热的话题,它已经渗透到生活的方方 ...
- 知乎 开源机器学习_使用开源数据和机器学习预测海洋温度
知乎 开源机器学习 In this tutorial, we're going to show you how to take open source data from the National O ...
- python︱apple开源机器学习框架turicreate中的SFrame——新形态pd.DataFrame
apple开源机器学习框架turicreate中的SFrame,是一种新形态的dataframe,作为之前热爱过R语言的dataframe的玩家来看,还不够简洁,不过有自己独特的功能. github: ...
- 【深度学习】基于Torch的Python开源机器学习库PyTorch卷积神经网络
[深度学习]基于Torch的Python开源机器学习库PyTorch卷积神经网络 文章目录 1 CNN概述 2 PyTorch实现步骤2.1 加载数据2.2 CNN模型2.3 训练2.4 可视化训练 ...
- 【深度学习】基于Torch的Python开源机器学习库PyTorch回归
[深度学习]基于Torch的Python开源机器学习库PyTorch回归 文章目录1 torch.autograd 2 torch.nn.functional 3 详细的回归DEMO3.1 DATAS ...
最新文章
- 如何找出MySQL数据库中的低效SQL语句
- php 加载redise_php环境篇:redis服务编译安装
- 信息学奥赛一本通 2033:【例4.19】阶乘之和
- CSS 字体风格 font-style属性
- 通过HTTP协议发送远程消息
- 利用Quartus-II进行仿真实验
- MDT批量部署服务搭建
- 利用assimp显示gltf
- 最新爱云发卡系统源码公益版
- poi批量导入导出Excel(一、需要建数据库表)
- 华为正式发布鸿蒙艾,安卓12正式发布,华为掉出首发名单,鸿蒙系统硬扛谷歌苹果...
- 前端案例-30 Vue常用特性案例汇总
- 解决win10系统搜索框无法使用
- x2000 ffmpeg avcodec_send_packet
- 高可用集群(HAC)
- mysql聚合函数查询,子查询,关联查询
- sai笔记7-制作笔刷
- zw和nt开头的系统调用的区别
- cf1362E. Johnny and Grandmaster,贪心+数学,一个序列划分成两部分,差最小
- perl获取AppAnnie数据