Weka连接MySQL数据库详解

Weka连接MySQL数据库详解

一、软件环境

(1)Weka3.8.1(目前官网提供的较稳定版本)

(2)MySQL5.5.39(实测比较稳定)

(3)mysql-connector-java-5.1.41

说明:其他版本组合可能也可以,本文只负责以上版本的组合并实测成功


二、问题描述(瞎扯内容,建议跳过)

使用Weka做在线数据分析和挖掘不免会用到与MySQL的连接,但是很多人安装了Weka和MySQL后,连接出现一些问题,正如本人之前遇到很多问题也没有成功,经过一番折腾和Weka高手的指导也没有成功,最后不得不重装系统,重新安装软件,还是遇到了【exception: java.sql.SQLException: Unable to find a suitable driver for jdbc......】的问题,网上查了好多资料,解决还是没有很好解决Weka和MySQL的间接且使用的方法或者教程,所以这里写一下自己的方法,希望对少数使用Weka连接MySQL的同志有所帮助和提示;


三、Weka连接MySQL详解(简洁可行的方法)

(个人感觉《数据挖掘与机器学习WEKA应用技术与实践》1.4节的讲解有点麻烦且容易出错,所以根据我自己的方法写一下整个过程)


(1)安装Weka

a. 在Weka的安装目录下(本人的是C:\Program Files\Weka-3-8)新建lib文件夹

b. 将mysql-connector-java-5.1.41-bin.jar拷贝到新建的lib文件夹中


(2)安装MySQL

a. 注意安装MySQL时要记住用户名和密码(后面Weka连接时需要使用)

b. 在MySQL新建weka数据库(MySQL数据库创建这里就不详细展开了,不熟悉的读者可以使用Navicat可视化创建)

b. 将iris.csv数据导入到刚才创建的weka数据库(这操作不进行也可以,只是为了后面连接成功后测试sql语句的)


(3)修改DatabaseUtils.props中的jdbcDriver和jdbcURL项

a. 用WinRAR打开Weka安装目录下的weka.jar

b. 定位到DatabaseUtils.props(目录:weka.jar -- weka -- experiment)

c. 将DatabaseUtils.props拖拽到桌面上,用任意的文本编辑器(本人喜欢用UltraEdit)打开

修改如下内容:

(I) 在#jdbcDriver=RmiJdbc.RJDriver,jdbc.idbDriver,org.gjt.mm.mysql.Driver,com.mckoi.JDBCDriver,org.hsqldb.jdbcDriver下添加jdbcDriver=com.mysql.jdbc.Driver

(II)  在#jdbcURL=jdbc:idb=experiments.prp下面添加:jdbcURL=jdbc:mysql://localhost:3306/weka 

d. 保存DatabaseUtils.props,将其拷贝到Weka的安装目录下(本人的安装目录是:C:\Program Files\Weka-3-8)


(4)修改RunWeka.ini文件

a. 在Weka安装目录下找到RunWeka.ini文件,拷贝到桌面后修改(本人遇到的情况:直接在Weka的目录中修改无法保存)

b. 修改内容:在cp = %CLASSPATH%的一行后面添加:;C:/Program Files/Weka-3-8/lib/mysql-connector-java-5.1.41-bin.jar(注意别落下分号";")

(PS:按照这种方法,就不用像某些教程那样还要配置环境变量了,而且只配置环境变量也有可能还是不识别mysql-connector-java)

c. 保存RunWeka.ini文件,并将其拷贝回Weka安装目录(本人是:C:/Program Files/Weka-3-8)

四、运行Weka

(1)打开Explorer

(2)选择【OpenDB...】
(3)设置用户名和密码(小人头像)【Set user and password】

(4)填写MySQL的用户名和密码,点击【OK】

(5)点击连接(插头的图标)


(6)查看是否连接成功信息

在Info标签下,如果连接成功则提示:connecting to: jdbc:mysql://localhost:3306/weka = true;

如果连接不成功,则会提示各种错误,如前面所提到的【exception: java.sql.SQLException: Unable to find a suitable driver for jdbc......】错误


五、执行Query查询

提示:如果在上一步中的连接提示Info中出现了connecting to: jdbc:mysql://localhost:3306/weka = true的提示信息,这说明你的Weka已经能与MySQL成功连接了!恭喜!

但是为了保险起见,我们在测试一下SQL查询

在连接界面中的Query标签下输入:select * from iris(可以任意尝试SQL语句,前提是你进行了本教程前面安装MySQL时导入weka数据库中的iris表的操作,当然你也可以使用 其他测试数据)

如果正常执行了Query,则在Result标签和Info标签会分别显示相关信息,如下如:
如果以上信息都能正常的现实,那么恭喜你,下面可以进行你自己的数据挖掘和机器学习入门研究了!

六、总结

(1)本人在经历了几次失败后,折腾了很多种方法,查了好多资料,没有一个比较完整系统的方法介绍Weka连接MySQL的教程,很多入门数据挖掘与机器学习的新手可能都会遇到像我一样的问题,所以就把自己的失败的经理和成功配置的经验写一下和大家分享,如果使用Weka连接其他数据库也可以参照本教程修改相关配置即可!
(2)由于CSND的博客有上传图片的大小限制,所以本教程中的照片都未正常显示,为了方便读者,打包了本教程的word带图版以及所对应版本的Weka、MySQL、mysql-connector-java、相关配置修改文件以及iris数据集,请到如下网址下载:
  a. Weka3.8.1+Weka配置文件+iris数据集(forWeka连接MySQL数据库详解):http://download.csdn.net/detail/sdnuwjw/9790846
  b. Weka连接MySQL数据库详解(MySQL及mysql-connector-java软件包):http://download.csdn.net/detail/sdnuwjw/9790837
希望能方便喜欢的读者使用!
(3)都是比较基础的一些使用,对于某些Weka或者MySQL高手来说都是小菜一碟,不值一提的东西,本人也是刚入门在线数据挖掘和机器学习的新手,而且也是第一次在CSDN上写点东西,不免有很多的疏漏和不足之处,所以希望高手们如果觉得文章很low不要喷我,我的小心脏承受不住;如果对您有用的话或者您转载的话,请注明转载信息,谢谢!

你可能感兴趣的:(Machine,Learning,WEKA,mysql,机器学习)