Blog信息 |
blog名称:宿命宽恕轮回修仙 日志总数:18 评论数量:3 留言数量:0 访问次数:115331 建立时间:2009年3月18日 |
« | October 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | |

| |
[WEKA](转)开源机器学习:R Meets Weka 文章收藏, 软件技术
宿命宽恕轮回修仙 发表于 2009/6/2 20:40:24 |
背景介绍: 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。
来源:http://rbbs.biosino.org/Rbbs/posts/list/196.page |
|
|