相关准备:

Weka、mysql已安装

MYSQL Driver for JDBC

1、进入weka的安装目录

1)新建文件夹lib和文件夹weka,然后将mysql-connector-java-5.1.24-bin.jar复制到lib文件夹中

2)“我的电脑”属性,设置环境变量

新建变量WEKA_HOME=weka的安装目录,如(D:\Prgrams\weka-3.6)

在CLASSPATH变量中添加“;%WEKA_HOME%\lib\mysql-connector-java-5.1.24-bin.jar”

3)将weka.jar解压到weka文件夹(新建)中,然后进入weka\experiment,找到DatabaseUtils.props(缺省使用),然后做如下修改:

# JDBC driver (comma-separated list)
#jdbcDriver=org.gjt.mm.mysql.Driver
修改为:jdbcDriver=com.mysql.jdbc.Driver
# database URL,保持不变
jdbcURL=jdbc:mysql://server_name:3306/database_name

# specific data types,具体的数据类型修改如下,主要是去掉注释
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 --类型转换,做如下补充,否则mysql中的数据类型在weka中无法使用。
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)将刚刚修改的DatabaseUtils.props文件,复制到weka的安装目录下,然后可以删除上面创建的weka文件夹(并没有替换原有的weka.jar,替换了后weka反而无法打开)

5)打开runWeka.ini文件,到文件尾部

# The classpath placeholder. Add any environment variables or jars to it that
# you need for your Weka environment.
# Example with an enviroment variable (e.g., THIRD_PARTY_LIBS):
# cp=%CLASSPATH%;%THIRD_PARTY_LIBS%
# Example with an extra jar (located at D:\libraries\libsvm.jar):
# cp=%CLASSPATH%;D:\\\\libraries\\\\libsvm.jar
# Or in order to avoid quadrupled backslashes, you can also use slashes "/":
# cp=%CLASSPATH%;D:/libraries/libsvm.jar
修改为(添加driver的文件路径):cp=%CLASSPATH%;D:/Programs/Weka-3.6/lib/mysql-connector-java-5.1.24-bin.jar
#cp=%CLASSPATH%

保存

2、运行weka,进入explorer -->open DB

在URL框中输入:jdbc:mysql://localhost:3306/mysql (localhost是服务器名称,最后的mysql是要访问的数据库名,自行修改,确保要访问的数据库存在)

点击user: 输入用户名和密码后,点击connect,

如果在下面的info框中,显示connecting to: jdbc:mysql://localhost:3306/mysql = true,则连接成功;否则失败。

我这边试了是成功的。

可以在query框中输入sql语句,点击excute执行。

其他的数据库连接暂时还没有尝试,待续。

3 、eclipse调用weka

导入weka-src.jar和weka.jar包到项目中,在weka的安装目录下有着两个jar包;

将上面修改的DatabaseUtils.props文件导入项目中;

将mysql驱动导入项目。

转自:http://blog.sina.com.cn/s/blog_60fde0c701010hta.html

如何在weka中连接数据库(转)的更多相关文章

  1. 如何在cmd中连接数据库

    数据库连接时遇到的问题 : https://www.cnblogs.com/xyzdw/archive/2011/08/11/2135227.htmlping +ip地址: 查看本机ip:ipconf ...

  2. 如何在MyEclipse中通过hibernate使用jtds驱动连接数据库,并向数据库添加数据的方法

    最近学习了下如何在MyEclipse中通过hibernate使用jtds驱动连接数据库,并向数据库添加数据的方法,虽然MyEclipse中自带了连接数据库的方法,我也尝试了下其他方法,如有不当之处请指 ...

  3. Weka中数据挖掘与机器学习系列之Weka系统安装(四)

    能来看我这篇博客的朋友,想必大家都知道,Weka采用Java编写的,因此,具有Java“一次编译,到处运行”的特性.支持的操作系统有Windows x86.Windows x64.Mac OS X.L ...

  4. 如何在 Swoole 中优雅的实现 MySQL 连接池

    如何在 Swoole 中优雅的实现 MySQL 连接池 一.为什么需要连接池 ? 数据库连接池指的是程序和数据库之间保持一定数量的连接不断开, 并且各个请求的连接可以相互复用, 减少重复连接数据库带来 ...

  5. 我是如何在SQLServer中处理每天四亿三千万记录的

    首先声明,我只是个程序员,不是专业的DBA,以下这篇文章是从一个问题的解决过程去写的,而不是一开始就给大家一个正确的结果,如果文中有不对的地方,请各位数据库大牛给予指正,以便我能够更好的处理此次业务. ...

  6. 如何在SpringBoot中使用JSP ?但强烈不推荐,果断改Themeleaf吧

    做WEB项目,一定都用过JSP这个大牌.Spring MVC里面也可以很方便的将JSP与一个View关联起来,使用还是非常方便的.当你从一个传统的Spring MVC项目转入一个Spring Boot ...

  7. 如何在latex 中插入EPS格式图片

    如何在latex 中插入EPS格式图片 第一步:生成.eps格式的图片 1.利用visio画图,另存为pdf格式的图片 利用Adobe Acrobat裁边,使图片大小合适 另存为.eps格式,如下图所 ...

  8. 如何正确的使用json?如何在.Net中使用json?

    什么是json json是一种轻量级的数据交换格式,由N组键值对组成的字符串,完全独立于语言的文本格式. 为什么要使用json 在很久很久以前,调用第三方API时,我们通常是采用xml进行数据交互,但 ...

  9. [原创]如何在Parcelable中使用泛型

    [原创]如何在Parcelable中使用泛型 实体类在实现Parcelable接口时,除了要实现它的几个方法之外,还另外要定义一个静态常量CREATOR,如下例所示: public static cl ...

随机推荐

  1. 数据结构之图 Part3 – 1 遍历

    DFS using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ...

  2. thinkphp调用phpqrcode.php生成二维码

    thinkphp3. 把phpqrcode文件夹放在ThinkPHP\Library\Vendor\下面 phpqrcode下载: http://files.cnblogs.com/files/qho ...

  3. 如何在java程序中调用linux命令或者shell脚本

    转自:http://blog.sina.com.cn/s/blog_6433391301019bpn.html 在java程序中如何调用linux的命令?如何调用shell脚本呢? 这里不得不提到ja ...

  4. PMP 第五章 项目范围管理

    1.范围管理主要是干什么?什么是产品范围?什么是项目范围?    项目范围管理包括确保项目做而且只做成功完成项目所需的全部工作的各过程.管理项目范围主要是在定义和控制哪些工作应该包括在项目内,哪些不应 ...

  5. Windows Phone中获取UserAgent

    进入WP8时代后,通过DeviceExtendedProperties获取到的DeviceName不再是手机型号了,这对于需要获得手机型号做一些事情的应用(如新浪微博的小尾巴)来说,影响是比较大的. ...

  6. mathematica练习程序(获得股票数据)

    从去年的11月开始,中国的股市就一直大涨,不知道这次能持续多长时间. 为了获得股票数据,我用matlab试了网上的一些方法,总是失败,所以就改用mathematica,一行代码就可以了. DateLi ...

  7. windows OBJECT查找

    PspCidTable表里.索引值总之4的倍数.也就是说 PID/4 才是PspCidTable索引.*8 才是PsPCidTable+偏移.获取进程对应的 _HANDLE_TABLE_ENTRY 结 ...

  8. 智能车学习(一)—— 硬件准备

    一.硬件环境准备 1.烧写器焊接 (1)原理图: (2)焊接成品图 2.电源模块: 3.屏幕+键盘 4.单片机 二.软件环境准备 1.安装air6.7 2.安装JLINK驱动 3.安装软件包寄存在GI ...

  9. loadrunner通过C语言实现自定义字符出现次数截取对应字符串

    void lr_custom_string_delim_save(char inputStr[500], char* outputStr, char *delim, int occrNo, int s ...

  10. BZOJ 1189 [HNOI2007]紧急疏散evacuate

    Description 发生了火警,所有人员需要紧急疏散!假设每个房间是一个N M的矩形区域.每个格子如果是'.',那么表示这是一块空地:如果是'X',那么表示这是一面墙,如果是'D',那么表示这是一 ...