一. 关闭 WEKA
如果 WEKA 打开着,一定要先关闭了,才能进行以下操作。否则配置完后可能出错。
二. 获取 mysql 驱动
weka 安装目录下 创建 lib 文件夹,把 mysql 驱动放到此文件夹下。
例如笔者的为:D:Program FilesWeka-3-8libmysql-connector-java-5.1.37-bin.jar
三. 配置环境变量
WEKA_HOME: D:Program FilesWeka-3-8
CLASSPATH: %WEKA_HOME%libmysql-connector-java-5.1.37-bin.jar
四. 修改 weka 配置文件
1. 解压 weka.jar 文件
2. D:Program FilesWeka-3-8wekawekaexperiment中找到DatabaseUtils.props.mysql,将其复制到 weka 安装目录(D:Program FilesWeka-3-8),将其名字改成DatabaseUtils.props
3. 按以下修改 DatabaseUtils.props
# JDBC driver (comma-separated list) jdbcDriver=com.mysql.jdbc.Driver # database URL
# jdbcURL=jdbc:mysql://localhost:3306/db_predict?characterEncoding=UTF-8(db_predict为数据库名,characterEncoding设置utf8连接)
jdbcURL=jdbc:mysql://localhost:3306/db_predict(db_predict为数据库名)
# specific data types,去掉注释,改为weka支持的数据格式 string, getString() = 0; --> nominal boolean, getBoolean() = 1; --> nominal double, getDouble() = 2; --> numeric byte, getByte() = 3; --> numeric short, getByte()= 4; --> numeric int, getInteger() = 5; --> numeric long, getLong() = 6; --> numeric float, getFloat() = 7; --> numeric date, getDate() = 8; --> date text, getString() = 9; --> string time, getTime() = 10; --> date BigDecimal,getBigDecimal()=11; -->nominal #mysql-conversion --类型转换,做如下补充 TINYINT=3 SMALLINT=4 SHORT=5 INTEGER=5 INT=5 INT_UNSIGNED=6 BIGINT=6 LONG=6 REAL=7 NUMERIC=2 DECIMAL=2 FLOAT=2 DOUBLE=2 CHAR=0 TEXT=0 VARCHAR=0 LONGVARCHAR=9 BINARY=0 VARBINARY=0 LONGVARBINARY=9 BIT=1 BLOB=8 DATE=8 TIME=8 DATETIME=8 TIMESTAMP=8
4. 删除解压的文件夹 D:Program FilesWeka-3-8weka
五. 打开 WEKA
Explorer >> Open DB... >> Set user and password >> Connect to the database >> Query