关闭

阿里音乐流行趋势预测大赛一起做-(2)weka初识

标签: weka
6015人阅读 评论(2) 收藏 举报
分类:

本次比赛第一赛季我们团队大赛先用weka对数据进行预处理。weka是一款开源的,免费的,基于JAVA环境下开源的机器学习(machine learning)以及数据挖掘(data mining)软件。我非常喜欢这个软件,很容易上手,功能很强大,也不需要很多的编程,图形化做的比较好。打算在数据预处理上主要使用weka。

weka下载安装

weka软件下载网址,根据自己的操作系统选择Windows还是Mac,32位还是64位,强烈推荐装64位系统,因为赛题数据较大,约500M,如果想一次性读取的话,大概需要3.5G内存,而32位系统最大的物理寻址内存也就是4G,再加上系统其它占用,无法一次性导入这么大的数据。当然你也可以分批次导入,这样麻烦一些,需要自己研究一下。

软件下载

在此选择版本的时候需要注意一下,分两种:stable version和developer version,两者的区别是后者多了个package manager,可以安装最新的包;还有就是根据你电脑是否有JAVA 虚拟机选择版本,如果你电脑本身没有装过JAVA虚拟机,就要选择如下红色方框内版本:
这里写图片描述
如果电脑里已经装过了JAVA虚拟机,选择红色方框下面那个下载安装即可。下载好后安装基本和普通软件安装方法一致。

设置环境变量

安装后需要设置一下环境变量:
首先你应该知道你jdk装在哪了!
我的电脑>右键>属性>高级>环境变量,在系统变量下方 点新建。
1.新建JAVA_HOME
变量名:JAVA_HOME
变量值:jdk的安装路径至根目录,比如说你装到了d盘,文件夹的名字是jdk1.7.5 那么这里你就粘贴D:\jdk1.7.5 不要加;号,一定是根目录,也就是看到第一个文件夹是bin的目录。大小写看清楚了,别乱加符号,写好点确定。
2.添加path变量
在系统变量里找到path变量双击点开,别的不要动,点到变量值里按键盘Home键,确保光标在第一个位置,写%JAVA_HOME%\bin;记得打; 分号,还要提示全是英文状态的符号前后没有什么空格。我只是为了你方便看清楚。
3.新建classpath变量
这个变量可配可不配
在系统变量里点新建
变量名: classpath
变量值: .;
变量值我就写的 点分号 就可以了! 有确定的就点确定!ok配好了!

weka更改默认内存,导入大文件

点击我的电脑>所有程序>weka3.6.13>weka3.6,就打开了weka。
注意还有一个图标weka3.6(with console)是命令行界面,我们初学者一般不用。
打开weka3.6后的界面如下:
这里写图片描述
我们选择红框里的第一项:explorer,打开后,我们就要导入数据,如下选择preprocess用来做数据预处理,然后点击open file打开要导入的文件,这里我们选择主办方提供的500M数据mars_tianchi_user_actions.csv
这里写图片描述
导入后可能会出现 out of memory错误,这是因为weka默认的内存不足引起的,具体查看方法:
首先找到weka的安装路径,我的安装路径是D:\Program Files\Weka-3-6,路径下有个RunWeka.ini文件,用记事本打开,里面有一行代码:
maxheap=1024M,这个是我的系统weka给我分配的内存,操作系统不同,weka版本不同这个默认内存可能不一样。由于weka软件运行本身也需要内存,所以虽然数据是500M,但是打开处理这500M数据需要的内存远不止500M。所以我们要更改此处默认设置,由于我的电脑是8G内存,我给weka分配5G内存,我将此处代码更改为maxheap=5120M。更改完后保存该文档并关闭。
更改weka内存后重新打开mars_tianchi_user_actions.csv文件,慢的话可能需要1~3分钟才能打开。打开后鼠标移动到最下面的任务栏,右键点击后出现memory information,如下图
这里写图片描述
左键单击后,等候几秒任务栏就会出现内存使用信息,如下图
这里写图片描述
free为目前空闲的内存,total为目前使用的内存,两者相减发现仅仅执行打开操作,已经使用了将近1G的内存。后面做其他的处理还需要消耗内存,所以默认内存大小设置稍微大一些比较好。

weka示例简析

我们简单介绍一下weka的数据可视化,让大家对weka的简便易用有个直观了解。
我们选择open file,打开mars_tianchi_songs文件,出现如下界面
这里写图片描述
我们以publish_time为例来说明,因为song_id,artist_id取值太多,右下角无法显示。两个红框里的distinct表示publish_time里包含的不同数值的个数,unique表示某数值仅出现一次的这种情况数值个数。
再来看右下角的图,横坐标表示publish_time的取值范围,纵坐标表示,该值重复出现了多少次。注意红框里标注的class:gender表示将每个纵坐标内的gender进行了统计显示。gender在这里表示男,女,乐队组合,分别用红,绿,蓝三种颜色表示(不一定对应上述的男,女,乐队组合)。假如绿色表示男,红色表示女,蓝色表示乐队组合。此图给出的信息是:
1. publish_time取值范围从19630322到20160207。时间跨度挺大。
2. 从左到右看,早期的时候只有绿色,后来逐渐出现了红色,然后才出现了蓝色。说明gender这个字段对publish_time还是有一定的辨别效果的。
当然,也可以选择class的选项为其他几个字段。
实际上,此处存在一个问题,publish_time是日期类型,而weka默认的类型为numeric,也就是数字型。这点需要做修改。这些后续再介绍。

总结

至此,我们已经会用weka对数据做一个基本的可视化操作了。不难发现,weka对数据预处理的能力非常强大,不像Python,R那样需要写函数,再作图。weka直接点点点就帮我们都做好啦,实在太方便啦。

3
1
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

阿里音乐流行趋势预测大赛一起做-(6)小结

最近一直在忙毕业的事情,比赛也落下不少。今天第一次切换了数据,在此对之前的工作做个简单的总结。感谢组委会岱月邀请我写自己的参赛经历,《天池小白成长记》在阿里的“天池大数据科研平台”上发布了,还是蛮激动...
  • electech6
  • electech6
  • 2016-06-07 14:59
  • 3302

阿里音乐流行趋势预测大赛 # 第一赛季第21名解决方案

强调内容# 欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮...
  • zxjhdn
  • zxjhdn
  • 2016-07-19 17:28
  • 2385

『阿里大数据竞赛』音乐流行趋势预测_不断更新

# 本文使用的语言是Python, 下面不再说明 # 本文禁止盈利性转载 一、数据预处理     1、读取数据     1.1 原始数据、测试数据与实际数据     什么叫原始数据?为什么要保留一...
  • Sbtgmz
  • Sbtgmz
  • 2016-05-14 14:04
  • 1784

阿里音乐流行趋势预测大赛一起做-(1)介绍

动机去年在同学推荐下参加了阿里的“资金流入流出预测大赛”,当时对数据挖掘的了解仅存在模糊的概念上,看了那本《大数据时代》后热血沸腾了几天,趁着这三分钟热度还没冷,就在什么都不懂的情况下报名开始搞了。我...
  • electech6
  • electech6
  • 2016-04-09 11:11
  • 6218

阿里音乐流行趋势预测大赛一起做-(2)weka初识

本次比赛第一赛季我们团队大赛先用weka对数据进行预处理。weka是一款开源的,免费的,基于JAVA环境下开源的机器学习(machine learning)以及数据挖掘(data mining)软...
  • xiaopihaierletian
  • xiaopihaierletian
  • 2017-02-16 14:51
  • 181

阿里音乐流行趋势预测大赛一起做-(5)温故知新

比赛进行到现在已经有十天了,我们队伍已经进入瓶颈期了,具体表现就是:  1、每次线下预测结果都感觉不错,应该可以提升成绩吧,至少和现在成绩相当吧,结果10点成绩出来就傻眼了,成绩一直掉掉掉。  2...
  • xiaopihaierletian
  • xiaopihaierletian
  • 2017-02-16 14:53
  • 267

阿里音乐流行趋势预测大赛一起做-(6)小结

最近一直在忙毕业的事情,比赛也落下不少。今天第一次切换了数据,在此对之前的工作做个简单的总结。感谢组委会岱月邀请我写自己的参赛经历,《天池小白成长记》在阿里的“天池大数据科研平台”上发布了,还是蛮激动...
  • xiaopihaierletian
  • xiaopihaierletian
  • 2017-02-16 14:55
  • 200

阿里音乐流行趋势预测大赛一起做-(3)思路

最近几个月忙着写论文,比赛给抛到脑后了(汗颜。。)。昨天阿里给了短信通知,说今天可以提交成绩了,于是抓紧搞起,结果也没赶上截止时间(早上10点)提交。无论如何今天也要提交一次成绩试试水。比赛的详细思路...
  • electech6
  • electech6
  • 2016-05-17 22:32
  • 5692

阿里音乐流行趋势预测大赛一起做-(5)温故知新

比赛进行到现在已经有十天了,我们队伍已经进入瓶颈期了,具体表现就是: 1、每次线下预测结果都感觉不错,应该可以提升成绩吧,至少和现在成绩相当吧,结果10点成绩出来就傻眼了,成绩一直掉掉掉。 2、黔...
  • electech6
  • electech6
  • 2016-05-27 11:17
  • 4403

阿里音乐流行趋势预测大赛一起做-(1)介绍

动机 去年在同学推荐下参加了阿里的“资金流入流出预测大赛”,当时对数据挖掘的了解仅存在模糊的概念上,看了那本《大数据时代》后热血沸腾了几天,趁着这三分钟热度还没冷,就在什么都不懂的情况下报名开始...
  • xiaopihaierletian
  • xiaopihaierletian
  • 2017-02-16 14:50
  • 354
    个人资料
    • 访问:204201次
    • 积分:2509
    • 等级:
    • 排名:第16913名
    • 原创:64篇
    • 转载:0篇
    • 译文:0篇
    • 评论:156条
    我的微信公众号
      计算机视觉life
      关注CV, ML, AI,坚持原创。
    最新评论