本站首页    管理页面    写新日志    退出



公告


 求真务实打基础,
 宁缺毋滥读好书。

数据挖掘青年(DMman)


我的分类(专题)

日志更新
问君能有几多愁,恰似一群太监上青楼
我和僵尸有个约会:灵异世界或真实存在?
赤壁(下)观后小感:雷人
英科学家:酒精和烟草的危害大于大麻和摇头
只有社会主义才能拯救世界(由金融危机引发
求职心得(非名牌院校 硕士 计算机)
省外就业协议录入
数据挖掘方面的资源、期刊、会议的网址集合
面试心得(摘)
为学
EI收录中国期刊-核心(2008-5)
混沌理论:随机世界的建模
分子计算机已经问世,纳米计算机指日可待?
绝对好用免费的网络电话
NLP:基于机器学习的人类思想及行为建模
Weka中用于组合多个模型的的装袋、提升
数据挖掘在企业中应用的四种途径
(转)几点做人做事的建议
大学计算机软件专业生应该学什么(转)
一个程序员对学弟学妹建议(转)

最新评论

留言板

链接

Blog信息
blog名称:DMman(数据挖掘青年)
日志总数:102
评论数量:564
留言数量:57
访问次数:1769183
建立时间:2007年4月9日




[Weka]Weka如何连接数据库 
原创空间

数据挖掘青年 发表于 2007/5/24 17:26:15

Weka如何连接数据库 作者:DMman(数据挖掘青年)  以SQL Server2000为例,使用jdbc-odbc桥的方式。其他的数据库操作方法一样,具体细节各异。 1 jdbc-odbc桥的方式不用安装驱动程序,我们在管理工具里面建个数据源。 2 修改 weka\experiment下的DatabaseUtils.props文件。 ********************将weka安装目录下的weka.jar解压后 就可以看到weka\experiment\DatabaseUtils.props目录******************** 我们可以看到有DatabaseUtils.props.odbc;DatabaseUtils.props.oracle等我们先将DatabaseUtils.props随便改成一个其他的名字,然后将DatabaseUtils.props.mssqlserver改成DatabaseUtils.props,打开现在的DatabaseUtils.props可以看到以下部分:(#表示注释) 2.1驱动加载# JDBC driver (comma-separated list)jdbcDriver=sun.jdbc.odbc.JdbcOdbcDriver2.2数据库连接 # database URLjdbcURL=jdbc:odbc:(这里是你建的数据源的名称) 2.3数据类型的转换。由于weka仅支持名词型(nominal)、数值型(numeric)、字符串、日期(date)。所以我们要将现在数据库中的数据类型对应到这四种类型上来。 将以下数据类型对应的句子前面的注释符合去掉。由于SQL Server2000有其他的数据类型Weka尚不能识别,所以我们在下面再添加上smallint=3datetime=8等等 string,getString()= 0;         -->nominalboolean,getBoolean() = 1;  -->nominaldouble,getDouble() = 2;    -->numericbyte,getByte() = 3;        -->numericshort,getByte()= 4;        -->numericint,getInteger() = 5;            -->numericlong,getLong() = 6;                -->numericgloat,getFloat() = 7;            -->numericdate,getDate() = 8;                -->datevarchar=0float=2tinyint=3int=53其他说明,暂时不用去管了(我也不是很明白...)# other optionsCREATE_DOUBLE=DOUBLE PRECISIONCREATE_STRING=VARCHAR(8000)CREATE_INT=INTcheckUpperCaseNames=falsecheckLowerCaseNames=falsecheckForTable=true********************注意,因为weka软件运行时需要读取weka。jar,所以你修改之后要重新打包jar文件替换原来的jar才可以运行weka软件成功连接数据库******************** 4 OK,下面可以操作了!运行weka的Explore界面后,通过Open DB..打开SQL Viewer工作界面(3.5.5版本比3.4.10在这里精细了许多)。通过user我们设置好用户名和密码后即可connect;连接成功后,可以通过书写sql语句查询出想要的结果后,OK即可在Explore界面的preprocoss面板中看到了输入的数据。********************查询出结果来,OK导入Explore时可能会出错,说某个类型无法识别,这时候 就要看看在2.3步骤那里是否加入了该数据类型********************在连接读取数据库的数据时,SQL Viewer面板也提供了Info,相当与我们单纯用jdbc连接数据库时的调试信息。 下面是我使用的sql server 2000的数据库配置文件 可以看看 500)this.width=500'>DatabaseUtils.rar


阅读全文(40082) | 回复(8) | 编辑 | 精华
 


回复:Weka如何连接数据库
原创空间

bb(游客)发表评论于2008/3/13 21:26:45

请教楼主WEKA支持SPSS或SAS的数据类型吗,也是用您说的方法吗 以下为blog主人的回复: 不知。weka支持cvs等常用格式,或许可以在它们之间搭个桥.


个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


回复:Weka如何连接数据库
原创空间

CC(游客)发表评论于2008/2/22 14:23:11

請教如何設classpath。thank you 以下为blog主人的回复: ?关于java的classpath?我的电脑-右键-属性-高级-环境变量。细节部分还请自己查查,这是java的基本东西

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


回复:Weka如何连接数据库
原创空间

数据挖掘青年发表评论于2007/12/21 18:04:08

以下引用大可(游客)在2007-12-21 17:12:25的评论: 你好.请问我改了DatabaseUtils.props文件以后重新打成jar包,然后weka就不能运行了,请问这个原因出在哪里? 谢谢. jar包没有打好,楼下的朋友用winzip压缩的方式是不可取的。打包后的jar如果双击的话应该可以运行才可以。我以前忽略了这个地方。 可在网上搜索 jar cvfm 看看打包的详细方法。打包时要指定主类 Main-Class 这里是weka.gui.Main

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


回复:Weka如何连接数据库
原创空间

大可(游客)发表评论于2007/12/21 17:12:25

你好.请问我改了DatabaseUtils.props文件以后重新打成jar包,然后weka就不能运行了,请问这个原因出在哪里? 谢谢.

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


回复:Weka如何连接数据库
原创空间

linamath(游客)发表评论于2007/11/27 13:49:30

以下引用linamath(游客)在2007-11-27 10:21:41的评论: 再请教楼主一个问题:我已经连接上了oracle 9i数据库,用explore已经查询出数据(在result里已有结果),但点击ok后,出现如下提示:Can't read from database:Unkown datatype:DATE.Add entry in weka/experiment/DatabaseUtils.props. If the type contains blanks,either escape them with a backslash or use underscores instead of blanks. 我认为是oracle的数据类型到weka里不能识别,于是改了weka/experiment/DatabaseUtils.props,将此文件中的数据类型部分前面的"#"号全部去掉,见下面语句,我查了一下,发现date类型已有对应,请问楼主这是什么问题呢? # specific data typesstring, getString() = 0;    --> nominalboolean, getBoolean() = 1;  --> nominaldouble, getDouble() = 2;    --> numericbyte, getByte() = 3;        --> numericshort, getByte()= 4;        --> numericint, getInteger() = 5;      --> numericlong, getLong() = 6;        --> numericgloat, getFloat() = 7;      --> numericdate, getDate() = 8;        --> datetext, getString() = 9;      --> stringVARCHAR2=0NUMBER=2DOUBLE_PRECISION=2TIMESTAMP=8 以下为blog主人的回复:  DATE date不同,java是区分大小写的——可以是这个原因 你再末尾再加上 DATE=8 试试(或者DATE=0 作为字符串处理也行) 没错,谢谢楼主,果真是因为大小写的原因!可是现在又报了这样一个错误:Can't read from database:[Oracle][ODBC]Invalid transaction state 然后我点击确定,没什么反映,一切正常,请问对于这样的错误是否可以忽略呢?谢谢楼主的及时回复!再次感谢! 以下为blog主人的回复:  客气了。我没有用过orcle,百度了一下,我的理解如下(不一定对):这个错误是oracle比较常见的,后果是消耗内存较大。似乎是weka源码中操作数据库处理的不大完善,如果这个错误不影响把数据导入weka,暂且容忍了吧。 以下为blog主人的回复:  我再用weka连接access时候也出现了这个错误:非法的事务状态。导致程序巨慢致死。java操作sqlserver却不存在这个问题,费解?!

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


回复:Weka如何连接数据库
原创空间

linamath(游客)发表评论于2007/11/27 10:21:41

再请教楼主一个问题:我已经连接上了oracle 9i数据库,用explore已经查询出数据(在result里已有结果),但点击ok后,出现如下提示:Can't read from database:Unkown datatype:DATE.Add entry in weka/experiment/DatabaseUtils.props. If the type contains blanks,either escape them with a backslash or use underscores instead of blanks. 我认为是oracle的数据类型到weka里不能识别,于是改了weka/experiment/DatabaseUtils.props,将此文件中的数据类型部分前面的"#"号全部去掉,见下面语句,我查了一下,发现date类型已有对应,请问楼主这是什么问题呢? # specific data typesstring, getString() = 0;    --> nominalboolean, getBoolean() = 1;  --> nominaldouble, getDouble() = 2;    --> numericbyte, getByte() = 3;        --> numericshort, getByte()= 4;        --> numericint, getInteger() = 5;      --> numericlong, getLong() = 6;        --> numericgloat, getFloat() = 7;      --> numericdate, getDate() = 8;        --> datetext, getString() = 9;      --> stringVARCHAR2=0NUMBER=2DOUBLE_PRECISION=2TIMESTAMP=8 以下为blog主人的回复:  DATE date不同,java是区分大小写的——可以是这个原因 你再末尾再加上 DATE=8 试试(或者DATE=0 作为字符串处理也行)

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


Weka.jar如何打包制作
原创空间

linamath(游客)发表评论于2007/11/27 9:13:41

以下引用linamath(游客)在2007-11-26 16:25:55的评论: 请问楼主如何将修改过的weka文件转换为.jar格式啊? 以下为blog主人的回复:  这是java的问题,请 google 或百度 一下 如何打包jar。 简单步骤:1当前目录下 有文件夹 weka(里面是class文件),新建一个文件随便起名 比如mf  用UtralEdit等打开mf,里面写上 Main-Class: weka.gui.Main(注意:冒号之后有一个空格;Main-Class前面不要有空格,结尾也不要有多余的空格)2 cmd 进入控制台 进入当前目录后 使用命令 java -jar cvfm weka.jar mf weka--检查打包文件是否成功:双击weka.jar如果能够运行就可以了,不能运行则需要找出原因重新打包我知道怎么处理了,将解压weka.jar文件后生成的META-INF和weka文件夹压缩为zip格式,生成压缩文件后,将.zip直接改为.jar就可以了 以下为blog主人的回复:  这种方法是无法运行的。 必须jar双击可以运行才可以

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


回复:Weka如何连接数据库
原创空间

linamath(游客)发表评论于2007/11/26 16:25:55

请问楼主如何将修改过的weka文件转换为.jar格式啊? 以下为blog主人的回复:  这是java的问题,请 google 或百度 一下 如何打包jar。 简单但不规范的操作:1当前目录下 有文件夹 weka(里面是class文件),新建一个文件随便起名 比如m2 cmd 进入控制台 进入当前目录后 使用命令 java -jar weka.jar cvfm weka

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


如何把SQL中的表数据转换为ARFF文件
原创空间

suny(游客)发表评论于2007/11/21 19:26:52

想请教楼主,在使用SQL数据库中的数据时,通过数据转换后直接导入Explore就可以了吧?如果我想把它转换为ARFF格式该怎么转换?是不是导入的时候weka已经自动转换了? 谢谢 以下为blog主人的回复:  直接导入就行了。 读文件还是读数据库 数据都是放到一个Instances类保存了。如果在weka中 用数据库读入数据库,在使用Explorer上面的保存,就可以保存为arff格式的文件了

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


回复:Weka如何连接数据库
原创空间

suny(游客)发表评论于2007/11/13 14:58:42

谢谢楼主的指点,我试试看.

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


» 1 2 3 »

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.301 second(s), page refreshed 144805064 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号