数据挖掘应用之weka的二次开发与使用
来源:互联网 发布:淘宝西装原单 编辑:程序博客网 时间:2024/06/05 22:33
在之前的博文中,已讲过“数据挖掘常用工具库介绍”篇章,本次将重点讲解weka api的使用方法和应用实践效果。
如之前所讲,weka是小而美的数据挖掘工具,当维度特别高时,如达到千维及以上,训练样本数达到万级以上时候,其可用性是极差的。
但当维度为适当维度,如百维及以内,训练样本在万级以内的时候,其挖掘的应用和效果都是可圈可点的。
下边以用户画像之性别预测的应用场景为例,说明weka的使用全过程。
weka的使用方法,主要分为以下7步,语料集准备、特征选择及特征空间生成、特征权重计算、arff/sparse arff的生成、训练集和测试集划分、模型训练与测试、线上应用。
1、语料集准备
语料是通过每个视频用户的观影行为的日志和预先打好某些剧集的性别偏好交集生成(其具体实现方法,请参考之前的博文“通过观影兴趣预测用户画像之性别属性 ").
本次因为weka在高维度上的表现太差,故只选取观影的频道标签(如电影、电视剧等)、剧集的类型(都市、偶像、育儿等)标签两大类标签。形成的集合如下图:
2、特征选择及特征空间生成
特征选择有多种经典方法,TF/IDF是最经典一种。加上最小文档出现数量这一支持度后,效果会更好。
特征空间生成结果如下
3、特征权重计算
本例中以IDF作为特征权重值,自己实现或是用现成工具集均可以,其结果如下:
4、arff/sparse arff的生成
以上两种格式为weka的输入语料的指定格式,还是有点窄和不自由,不如liblinear或是libsvm之类的简单些。
可见样本的特征还是相当稀疏的,这也是视频网站用户的显著特点。
以NaiveBayes为例 ,其封闭测试结果如下:
其开放测试的结果如下,此只为基础的结果,有很多可以再特征优化的地方。我们线上采用的是如前两专讲的基于liblinear的用户画像的性别预测、年龄预测的情况,准确率和召回率均可达到90%以上。
模型训练测试后为线上应用,对于weka来讲,要产生以下4个文件,分别为输出模型文件(Model)、特征与索引值对应关系(feature to index relation)、特征与权重对应关系(feature and weight relation)、数据集的头信息(dataset header metadata)。如下图所示:
- 数据挖掘应用之weka的二次开发与使用
- 使用Weka进行数据挖掘(Weka教程一)Weka初识之在你的代码中使用Weka
- 使用Weka进行数据挖掘(Weka教程二)Weka数据之ARFF与多文件格式转换
- 使用Weka进行数据挖掘(Weka教程五)Weka数据预处理之Filter使用
- 使用Weka进行数据挖掘(Weka教程三)Weka数据之Instances和Instance
- 使用Weka进行数据挖掘(Weka教程四)Weka数据Instance之Attribute
- Weka介绍--使用Weka进行数据挖掘
- 使用Weka进行数据挖掘(Weka教程七)Weka分类/预测模型构建与评价
- weka数据挖掘之预处理
- 使用Weka进行数据挖掘
- 使用Weka进行数据挖掘
- 使用Weka进行数据挖掘
- 使用Weka进行数据挖掘
- 使用Weka进行数据挖掘
- 数据挖掘工具weka使用
- 使用Weka进行数据挖掘
- 使用Weka进行数据挖掘
- 使用Weka进行数据挖掘
- Android使用ASM实现手机与PC的屏幕共享
- POJ1463 Strategic game(树形DP)
- 2016.6.11【初中部 NOIP提高组 】模拟赛C
- VS2008常见问题解决方案
- 散列表(哈希表)的定义
- 数据挖掘应用之weka的二次开发与使用
- Android -- 网络相关的系统服务启动简要分析
- 常用的MIME类型
- POJ1463Strategic game[树形DP]
- leetcode-java-198. House Robber
- service业务返回封装bean支持分页
- 用 GDB 调试程序
- leetcode 55. Jump Game-贪心算法
- Less和Sass