weka算法
㈠ Weka研究有什么用途
weka是数据挖掘的平台之一,weka中集成了很多算法,主要用于数据挖掘方面,例如人脸识别,文本识别以及基因工程等等。算法不同,效果不同,这就要仔细研究了。
㈡ 我是weka新手,我下载数据集后,用weka中的id3算法来进行分类,结果不能看到决策树,是怎么回事啊
weka的ID3算法是会输出一个决策树的,只不过那只是中间计算时输出的结果。同时还会输出很多其他的统计结果。
要看看它有没有报错。 数据集的属性是不是都是离散型的。如果有些是实数型,如17.1,17.2,1.735,17.2....这样就不符合要求,无法生成合理的决策树。
以下是一个简单的weka输出决策树:
age = youth
| student = no: no
| student = yes: yes
age = middle_aged: yes
age = senior
| credit_rating = fair: yes
| credit_rating = excellent
| | income = high: null
| | income = medium: no
| | income = low: no
㈢ Weka里可以直接使用TAN算法吗还是需要自己添加本人作毕业设计刚刚接触Weka,求高人指点!
没有的,Weka中只自带了一些典型的算法,像SimpleKmeans之类的。但是可以把算法集成到Weka中,不知道你最后是用Weka的GUI演示还是用Weka的API开发,前者的话麻烦一点。我做毕设也刚好用到Weka,你也应该是做数据挖掘的东西的吧!希望对你有帮助。
㈣ 请教一下WEKA中ID3和C45算法如何运行
您所谓的“具体实现”就是用这两种算法来训练分类模型,完成分类任务吧......用weka explorer选择您手头要用来做实验的训练集、测试集以及相应的分类算法,直接跑一遍...或者在自己的代码里用weka的api写几行以完成同样的工作...很简单的哈,网上很多这样的例子,您随便找一个看两眼就明白了。
㈤ 如何学习在eclipse工程中对weka算法的调用
eka是很好用的机器学习库,这里就不详细介绍了。
言归正传,要使用程序方式使用weka,步骤如下:
一、在eclipse里新建一个java project:
1. 建立工程:单击菜单中file->new->java project,在弹出对话框的project name中起任意一个名字,此处假设是wekaTest。单击Finish按钮(在对话框底部)。
2. 建立package:在package Explorer中找到刚才新建的工程,在其上右键->New->package。在Name文本框里面输入名称,此处假设为Test。单击Finish按钮。
3. 建立程序文件:在刚才新建的package上面右键->New->class,选中public static void main(String[] args)多选框,单击Finish。
二、在该工程中添加weka的引用:
1. package Explorer中工程名上右键,选择弹出菜单最后一项properties->在左面选中java Build Path->在右面的Library页面->单击Add External JARs…->浏览weka所在目录,将weka.jar添加进来,然后单击ok。
㈥ weka分类算法选项不可用是怎么回事
两种原因1、你的weka出问题了;
2、你的数据不适合分类,自然分类选项会是灰色的;
㈦ 如何使用Java Weka开源项目,实现J48决策树、支持向量机算法,在10个UCI数据集上对这两个算法进行性能
publicstaticvoidRegular()throwsException{
Fileinputfile=newFile("F:\weka\eucalyptus_Train.arff");
ArffLoaderloader=newArffLoader();
loader.setFile(inputfile);
InstancesinsTrain=loader.getDataSet();
insTrain.setClassIndex(insTrain.numAttributes()-1);
inputfile=newFile("F:\weka\eucalyptus_Test.arff");
loader.setFile(inputfile);
InstancesinsTest=loader.getDataSet();
insTest.setClassIndex(insTest.numAttributes()-1);
doublesum=insTest.numInstances();
intright=0;
Classifierclas=newJ48();
//Classifierclas=newweka.classifiers.bayes.BayesNet();
clas.buildClassifier(insTrain);
for(inti=0;i<sum;i++){
if(clas.classifyInstance(insTest.instance(i))==insTest.instance(i).classValue()){
right++;
}
System.out.println(clas.classifyInstance(insTest.instance(i))+":"+insTest.instance(i).classValue());
}
System.out.println("分类准确率:"+right/sum);
}
svm的话,要用一个wlsvm的包。 代码是一样的,就是Classifier class= new J48()这里要用svm的实例
㈧ weka 代码 算法 j48 决策树 c4.5
我想你应该是想通过这个页面的url来得到这个网页里面的某些数据把。用HttpClient 。
下面我这个方法是得到搜狗页面命中多少条记录的代码。
public static void main (String args[]){
String sRequestUrlString="http://www.sogou.com/web?query=ondblclick
%3D%22%22";
GetMethod getMethod = new GetMethod(sRequestUrlString);
HttpClient client = new HttpClient();
client.setConnectionTimeout(1000 * 60);
int status=0;
try {
status = client.executeMethod(getMethod);
} catch (HttpException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String sResponse="";
if(status==HttpStatus.SC_OK) {
sResponse=(getMethod.getResponseBodyAsString());
} else {
System.out.println("检索失败");
}
getMethod.releaseConnection();
String regExData = "找到 ([,\\d]*) 个网页";
if(sResponse!=null && sResponse.trim().length()>0) {
Pattern pattern = Pattern.compile(regExData);
Matcher matcher = pattern.matcher(sResponse);
if(matcher.find()) {
if(matcher.groupCount()>=1) {
int iTmpInteger =
Integer.parseInt(matcher.group(1).replaceAll(",",""),10);
System.out.println("找到"+iTmpInteger+"个网页");
}
}
}
}
这段测试代码是来测试搜狗的,String sRequestUrlString="http://www.sogou.com/web?
query=ondblclick%3D%22%22";
这里是拼写好的检索的url,
sResponse=(getMethod.getResponseBodyAsString());这个是得到本页面的源文件,然后通过
String regExData = "找到 ([,\\d]*) 个网页";正则表达式来获取([,\\d]*) ,得到命中的条数。
㈨ 如何在WEKA中添加自己的算法
1. 编写新算法,所编写的新算法必须符合Weka 的接口标准。在此以从Weka中文站上下载的一个算法(模糊C均值聚类算法:FuzzyCMeans)的添加为例说明其具体过程。
2. 由于FuzzyCMeans是聚类算法,所以直接将FuzzyCMeans.java 源程序考到 weka.clusterers 包下
3. 再修改weka.gui.GenericObjectEditor.props ,在#Lists the Clusterers I want to choose from的weka.clusterers.Clusterer=\下加入:weka.clusterers.FuzzyCMeans
4. 相应的修改weka.gui.GenericPropertiesCreator.props ,此去不用修改,因为包weka.clusterers已经存在,若加入新的包时则必须修改这里,加入新的包
我试了一下,这样加入之后,重新编译,运行后,可以在weka的Explorer界面上的Cluster选项卡中的聚类算法中找到刚刚新添加的FuzzyCMeans算法。
添加过程简单吧!关键问题是要弄清楚Weka的内核以及其接口标准,然后编写出符合此规范的新算法。