文档章节

Weka开发[4]-特征选择

pior
 pior
发布于 2015/10/17 22:31
字数 346
阅读 243
收藏 1

       特征选择,我对这一部分也不熟,大概讲一下,用AttributeSelection进行特征选择,它需要设置3个方面,第一:对属性评价的类(自己到Weka软件里看一下,英文Attribute Evaluator),第二:搜索的方式(自己到Weka软件里看一下,英文Search Method),第三:就是你要进行特征选择的数据集了。最后调用Filter的静态方法userFilter,感觉写的都是废话,一看代码就明白了。唯一值得一说的也就是别把AttributeSelection的包加错了,代码旁边有注释。

       另一个函数懒的解释了(它也不是我写的),基本上是自解释的,不太可能看不懂。

package instanceTest;
 
import java.io.FileReader;
import java.util.Random;
 
import weka.attributeSelection.CfsSubsetEval;
import weka.attributeSelection.GreedyStepwise;
import weka.classifiers.Evaluation;
import weka.classifiers.meta.AttributeSelectedClassifier;
import weka.classifiers.trees.J48;
import weka.core.Instances;
import weka.filters.Filter;
import weka.filters.supervised.attribute.AttributeSelection;
 
public class FilterTest{
    private Instances m_instances = null;
    
    public void getFileInstances( String fileName ) throws Exception {
        FileReader frData = new FileReader( fileName );
        m_instances = new Instances( frData );
        
        m_instances.setClassIndex( m_instances.numAttributes() - 1 );
    }
    
    public void selectAttUseFilter() throws Exception {
        AttributeSelection filter = new AttributeSelection();  // package weka.filters.supervised.attribute!
        CfsSubsetEval eval = new CfsSubsetEval();
        GreedyStepwise search = new GreedyStepwise();
        filter.setEvaluator(eval);
        filter.setSearch(search);
        filter.setInputFormat( m_instances );
        
        System.out.println( "number of instance attribute = " + m_instances.numAttributes() );
        
        Instances selectedIns = Filter.useFilter( m_instances, filter);
        System.out.println( "number of selected instance attribute = " + selectedIns.numAttributes() );
    }
    
    public void selectAttUseMC() throws Exception {   
         AttributeSelectedClassifier classifier = new AttributeSelectedClassifier();
         CfsSubsetEval eval = new CfsSubsetEval();
         GreedyStepwise search = new GreedyStepwise();
         J48 base = new J48();
         classifier.setClassifier( base );
         classifier.setEvaluator( eval );
         classifier.setSearch( search );
         // 10-fold cross-validation
         Evaluation evaluation = new Evaluation( m_instances );
         evaluation.crossValidateModel(classifier, m_instances, 10, new Random(1));
         System.out.println( evaluation.toSummaryString() );
    }
    
    public static void main( String[] args ) throws Exception {
        FilterTest filter = new FilterTest();
        
        filter.getFileInstances( "F://Program Files//Weka-3-4//data//soybean.arff");
        filter.selectAttUseFilter();
        
        filter.selectAttUseMC();
    }
 
}


本文转载自:

共有 人打赏支持
pior
粉丝 26
博文 151
码字总数 22496
作品 0
济南
高级程序员
数据挖掘简述和weka介绍--数据挖掘学习和weka使用(一)

写在开篇 weka用了一些时日了,觉得真心不错。功能很完善,而且是开源的。最重要的扩展方便,非常适合搞研究和做全国大学生数学建模之类的比赛。 我学习weka主要是看的一本数据挖掘和weka使用...

长平狐
2013/11/25
809
0
Weka manual 3.6翻译: 1.1 简介

第一章 Weka命令行入门 1.1简介 在最初的实验,Weka所包含的图形用户界面是相当足够,若深入使用则建议使用命令行界面,因为它提供了一些功能(这些功能在图形用户界面下不可用) - 并使用少...

Honghe
2012/11/24
0
0
推荐:六款强大的开源数据挖掘工具

在互联网发展到大数据时代,那么数据就等于金钱。随着向一个基于应用的领域过渡,数据则呈现出了指数级增长。然而,百分之八十的数据是非结构化的,因此它需要一个程序和方法来从中提取有用信...

勿忘初心321
2016/08/18
209
0
六款值得推荐的数据挖掘得力助手

当今这个时代,说数据就是金钱一点都不夸张。随着向一个基于应用的领域过渡,数据则呈现出了指数级增长。然而,大部分数据是非结构化的,因此需要一个程序和方法来从中提取有用信息,并且将其...

HappyBKs
2014/10/13
0
0
人工智能之机器学习与数据挖据之WEKA使用与实践

阅读对象 只要你想读,你就读呗!最好点个赞再走。。。:-) 本文尽量通过例子和直观描述,来说明人工智能中机器学习和数据挖据的主要概念,分类,和使用方法,并通过例子描述如何使用它来促进...

我是吴文华
05/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

VS code编辑器安装 php7.2 NTS 版本 Xdebug

本文使用的是 phpstudy 一键安装包(windows32位) php 版本是 php7.2 NTS 1、在 phpstudy 面板中开启 phpdebug 扩展 // 其他选项菜单-> php 扩展与设置-> php 扩展 2、官方下载 Xdebug // ...

削个椰子皮_给个梨
13分钟前
1
0
Swagger中配置了@ApiModelProperty的allowableValues属性但不显示的问题

现在用Swagger来生成API文档的例子已经非常多了,今天碰到开发同事问了一个问题,帮着看了一下,主要还是配置方法的问题,所以记录一下。如果您也碰到了同样的问题,希望本文对您有用。 问题...

程序猿DD
44分钟前
1
0
sql 命令

show variables like '%general%'; show variables like '%log_output%'; show variables like '%quer%'; show global status like '%slow%';...

JavaSon712
52分钟前
2
0
Django修改默认数据库引擎

Django默认数据库引擎为sqlite3,除了sqlite3,还支持postgresql、mysql、oracle 配置如下:其中postgresql_psycopg2为postgresql的适配器。 'django.db.backends.postgresql' 'django.db.bac......

MichaelShu
57分钟前
0
0
动画源码解析

目录介绍 1.Animation和Animator区别 2.Animation运行原理和源码分析 2.1 基本属性介绍 2.2 如何计算动画数据 2.3 什么是动画更新函数 2.4 动画数据如何存储 2.5 Animation的调用 3.Animator...

潇湘剑雨
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部