#R#RWeka的介绍

转载自:http://blog.sciencenet.cn/blog-460242-350331.html

背景介绍: 

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)