(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应用技术与实践》1.4节的讲解有点麻烦且容易出错,所以根据我自己的方法写一下整个过程)
a. 在Weka的安装目录下(本人的是C:\Program Files\Weka-3-8)新建lib文件夹
b. 将mysql-connector-java-5.1.41-bin.jar拷贝到新建的lib文件夹中
a. 注意安装MySQL时要记住用户名和密码(后面Weka连接时需要使用)
b. 在MySQL新建weka数据库(MySQL数据库创建这里就不详细展开了,不熟悉的读者可以使用Navicat可视化创建)
b. 将iris.csv数据导入到刚才创建的weka数据库(这操作不进行也可以,只是为了后面连接成功后测试sql语句的)
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)
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)
(6)查看是否连接成功信息
在Info标签下,如果连接成功则提示:connecting to: jdbc:mysql://localhost:3306/weka = true;
如果连接不成功,则会提示各种错误,如前面所提到的【exception: java.sql.SQLException: Unable to find a suitable driver for jdbc......】错误