Weka新手文章

news/2024/11/21 17:49:55/

Weka新手文章(一) 收藏

数据仓库,数据分析,不涉及商业方面的高层决策之用,故本篇文章只适合初学数据仓库,为了完成老师作业,且想用weka做简单数据挖掘之用的童鞋。

weka版本是3.6.2,数据库库是SQL Server 2005,没办法,老师提供的几万条数据保存在excel表中,如果从excel转为csv格式,再从weka中导入该csv文件,涉及到格式的转换,很是麻烦~况且几万条数据,不可能一条一条去检查它们的格式,故思路是,先在sql server中建立一个数据库(db_ppz),把csv中的几万条数据导入到数据库db_ppz中,再从weka中连接sql server读取数据,速度还可以啦~~

weka下载地址:一个是自带了jdk,一个没带jdk,文件体积少点。。。

http://www.cs.waikato.ac.nz/~ml/weka/

是的,weka连接数据库也是有点麻烦的,但网上教程还是不少,下面链接整理得很好(但偶有简便改进方法~~)

http://blog.csdn.net/senaku/archive/2008/03/28/2225943.aspx

个人归纳连接思路有几点:

1、下载微软的驱动jdbc,最新版的已经是sqljdbc_3.0,google一下可以快速找到微软网站下载。下载到的是zip包包,解压,得到sqljdbc_3.0.jar文件,这时不用像上面网站那样××又××的(他是假设电脑中还没配置好jdk的)。思路是把sqljdbc_3.0.jar放到jdk中的jre/lib/中,比如“D:/Program Files/Java/jre1.6.0_07/lib/ext"。因为jdk配置时已经设置好环境变量,把jar包包放这里,weka通过访问jdk路径,能找到这个驱动文件的。

2、上面的步骤,可以代替链接网站中的前5小步骤,可以开始配置DatabaseUtils.props文件。进入weka所在的文件夹中,比如我的是”D:/Program Files/Weka-3-6“,找到weka.jar这个文件,先对它做个异地备份。然后用rar软件打开它,进入里面weka.jar/weka/experiment 位置,找到DatabaseUtils.props,双击打开,然后开始编辑它的内容:

对于sql server,可以参考下面的配置内容,而只需更改一个地方,即你自己的数据库名称:

“jdbcURL=jdbc:sqlserver://localhost;databaseName=db_ppz ”

 

view plain copy to clipboard print ?
  1. # Database settings for Microsoft SQL Server 2005 Express Edition  
  2. #  
  3. # url:     http://www.microsoft.com/  
  4. # jdbc:    http://msdn2.microsoft.com/en-us/data/aa937724.aspx  
  5. # author:  Fracpete (fracpete at waikato dot ac dot nz)  
  6. # version: $Revision: 1.2 $  
  7. # JDBC driver (comma-separated list)  
  8. jdbcDriver=com.microsoft.sqlserver.jdbc.SQLServerDriver  
  9. # database URL  
  10. jdbcURL=jdbc:sqlserver://localhost;databaseName=db_ppz  
  11. # specific data types  
  12.  string, getString() = 0;    --> nominal  
  13.  boolean, getBoolean() = 1;  --> nominal  
  14.  double, getDouble() = 2;    --> numeric  
  15.  byte, getByte() = 3;        --> numeric  
  16.  short, getByte()= 4;        --> numeric  
  17.  int, getInteger() = 5;      --> numeric  
  18.  long, getLong() = 6;        --> numeric  
  19.  gloat, getFloat() = 7;      --> numeric  
  20.  date, getDate() = 8;        --> date  
  21.  text, getString() = 9;      --> string  
  22. bit=1  
  23. tinyint=3  
  24. smallint=4  
  25. int=5  
  26. bigint=6  
  27. smallmoney=2  
  28. money=2  
  29. numeric=2  
  30. decimal=2  
  31. float=2  
  32. real=2  
  33. smalldatetime=8  
  34. datetime=8  
  35. timestamp=8  
  36. char=0  
  37. text=0  
  38. varchar=0  
  39. nchar=0  
  40. ntext=0  
  41. nvarchar=0  
  42. binary=0  
  43. varbinary=0  
  44. image=0  
  45. uniqueidentifier=9  
  46. rowversion=9  
  47. # other options  
  48. CREATE_DOUBLE=DOUBLE PRECISION  
  49. CREATE_STRING=VARCHAR(8000)  
  50. CREATE_INT=INT  
  51. checkUpperCaseNames=false  
  52. checkLowerCaseNames=false  
  53. checkForTable=true  
 

 

修改好后,保存关闭,然后在rar中更新它即可。方便之处:不用对weka.jar进行解包,配置好DatabaseUtils.props文件后不需要再用jar命令进行压缩(我最开始也是解包,修改,再压缩,但运行weka软件时会提示说找不到main函数,且网上也有一些人碰到相同问题)。

3、配置好后,运行weka,选择open db,弹出窗口中可以看到database url,我的是”jdbc:sqlserver://localhost;databaseName=db_ppz“,再选择user,用sa帐号登录(我是另外建立帐号登录数据库),然后选择user旁边的按钮Connect,在最下面的info中,显示结果=true,表示连接成功。然后根据数据库中的表,执行sql语句,select出数据,按ok确认返回weka的explorer界面。

(其实如果为了测试或熟悉weka,可以打开它自带的测试数据,数据位于”D:/Program Files/Weka-3-6/data“。或者在open db旁边的DataGenerator也是可以快速生成测试数据,我选择的是weka.datagenerators.classifiers.classification.Agrawal产生器)

上面基本配置好weka,读取到数据。后文将更新个人筛选数据,使用三个数据算法(分类、聚类、关联分析)的小小教程吧,因为我也从小白鼠过来的~~

weka推荐看的东东吧~~不看文章是不行的,手上也需要一个翻译软件,比如有道词典,啊啊?? Orz……

Weka入门教程:http://forum.wekacn.org/viewtopic.php?f=2&t=9

weka中文论坛:http://forum.wekacn.org/viewforum.php?f=2

这个文档,介绍了几个算法吧:http://wenku.baidu.com/view/a0cfde06eff9aef8941e06fd.html

还有这个,算扫盲:http://wenku.baidu.com/view/49716a0203d8ce2f006623fd.html

google一下:weka 中文教程.pdf,对weka这个软件的界面介绍??


http://www.ppmy.cn/news/283272.html

相关文章

卡尔曼滤波器——预测和观测的融合

卡尔曼滤波器:预测和观测的融合 整体理解 卡尔曼滤波器是一种高效的自回归滤波器。具有较强的鲁棒性。其鲁棒性来源于对不确定度的有效建模。对于卡尔曼滤波器,假定系统的真实状态为X,由于现实中存在种种不确定性,我们无法确定真…

英雄卡

题目描述 小李非常迷恋收集各种干脆面里面的英雄卡,为此他曾经连续一个月都只吃干脆面这一种零食,但是有些稀有英雄卡真的是太难收集到了。后来某商场搞了一次英雄卡兑换活动,只要你有三张编号连续的英雄卡,你就可以换任意编号的英…

Weka开发

Instances ARFF文件 3.5.5和3.4.X版本 从ARFF文件中读取是一个很直接的 import weka.core.Instances;import java.io.BufferedReader;import java.io.FileReader;...Instances data new Instances(new BufferedReader(new FileReader("/some/where/data.arff"))…

Stable Diffusion:使用Lora用二十张图片训了一个简易版薇尔莉特头像生成器(不作商用,纯纯个人兴趣,狗头保命)

目录 一、系统环境二、数据准备及预处理三、使用Stable Diffusion获取图像信息四、安装训练图形化界面五、参数设置及训练过程六、 效果测试七、常见报错处理 一、系统环境 同上一篇博客,云平台:CPU 1核,GPU 0.5卡,内存 20G&…

卡尔曼滤波分析

概述 在实际项目中,常常需要对数据进行滤波,这里分享卡尔曼滤波算法应用。 正文 卡尔曼滤波(KF)属于线性滤波器,使用均值和方差描述系统状态,将多个符合高斯分布的不确定信息源进行数据融合的一种最优状…

WeKa 数据集

今天找weka官方数据集差点被自己蠢哭,写个博客纪念一下。最近在学习weka的基本操作,来训练自己的数据进行分类等操作,网上找了一个视频Weka讲解视频 YouTobe视频 “https://www.youtube.com/watch?vLcHw2ph6bss&listPLm4W7_iX_v4NqPUjc…

[学习笔记] [机器学习] 7. 集成学习(Bagging、随机森林、Boosting、GBDT)

视频链接数据集下载地址:无需下载 1. 集成学习算法简介 学习目标: 了解什么是集成学习知道机器学习中的两个核心任务了解集成学习中的 Boosting 和 Bagging 1.1 什么是集成学习 集成学习通过建立几个模型来解决单一预测问题。它的工作原理是生成多个分…

一文详解!JMeter该如何并发测试和持续性压测?

目录 前言: 概念 并发测试 持续性压测 查看报告 总结 试试其他 API 工具 知识扩展: 前言: JMeter 是一个 Java 编写的开源负载测试工具,基于模拟用户、线程和请求,结合测试计划和策略,可以模拟真实…