加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

weka 进行数据预处理

(2017-06-09 09:40:47)
分类: weka


装入数据

打开weka,点击进入explorer界面,在preprocesstag下,点击open file 按钮装入ARFF数据文件。

Weka同时也具有读入“.csv”格式文件的能力,在做数据挖掘中,很多时候数据是存储在excel的电子表格中,打开Excel文件,从File(文件)下拉菜单下选择Save As(另存为),在弹出的对话框中,最下边会有Save As type(保存为)选项,下拉列表中选择CSV文件,给文件命名,点击保存就可以了,这样就可以直接在weka当中打开.csv文件了。

同样在weka中打开,csv文件之后,也可以saveas(另存为),保存该文件为arff数据文件类型

选择或者过滤属性

删除属性

在对数据进行预处理的过程中很多时候,需要删除某一些不要的属性(attribute),在Attributes panel(学过javaswing的会知道panel指代的是哪部分组件)中操作就可以了,勾选属性前面的对号,然后点击remove按钮:

http://img.blog.csdn.net/20150406142929846?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDM3Mjk4MQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center进行数据预处理" />

离散化

有些技术,如关联规则挖掘,只能在分类数据上进行,这就要求在数值或连续属性上进行离散化。

在我们打开的weather.arff数据中,temperature一个连续属性,下面我们就进行一次具体的操作,点击filter(过滤器)panel的choose按钮,会出现下图:

http://img.blog.csdn.net/20150406142939674?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDM3Mjk4MQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast进行数据预处理" />

 

选择weka.filter.unsupervised.attribute.Descretize,之后在choose按钮后面的文本框中出现Discretize–B 10-M -1.0 –R first-last这样的内容,点击该文本框会出现DiscretizeFilter对话框:

http://img.blog.csdn.net/20150406142902097?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDM3Mjk4MQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast进行数据预处理" />        

在attributeIndices文本框中,我们填写temperature对应的属性编号2,在bins文本框中,我们输入3作为箱数,也就是分为3个范围,我们进行简单的分箱,所以其他不管,点击ok按钮:

http://img.blog.csdn.net/20150406142909429?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDM3Mjk4MQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast进行数据预处理" />

这时候回到explorer界面,我们点击Filterpanel中的Apply(应用)按钮,在Attribute panel下,选中temperature属性,观察右侧窗口:

http://img.blog.csdn.net/20150406142919771?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDM3Mjk4MQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast进行数据预处理" />

观察发现temperature属性,被分为3个范围,变成离散的变量,这时候如果点击save as选项,保存arff数据文件,在文本编辑器中打开,就会发现temperature属性在@data下每一行的instance中,都会被修改成如上图区间显示(-inf-71],[71-78],[78-inf):

http://img.blog.csdn.net/20150406142927587?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDM3Mjk4MQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast进行数据预处理" />

当然这样的数据文件是标记尽管可读,但是与命名习惯还是相去甚远,因此我们可以在自己的文件编辑器中ctrl+F,查找替换掉3个区间,分别命名这三个区间为hot mild cool。

同样的操作我们去修改,humidity属性,但是这里的简单分箱,就按照我的划分选择为2了,这一切的操作结束,然后替换之后,最终的weather.arff会变成这个样子,如下图:

http://img.blog.csdn.net/20150406143017067?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDM3Mjk4MQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast进行数据预处理" />

这样,也就是得到weka安装一级目录下data文件下的weather.nominal.arff文件。


原文:http://blog.csdn.net/u010372981/article/details/44901875

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有