添加数据库驱动程序以使用WEKA类

时间:2011-07-16 21:07:12

标签: database classpath drivers weka

我尝试在命令行上运行以下命令:

G:\Weka-3-6>java weka.core.converters.CSVLoader data.csv > data.arff

这是错误消息:

---Registering Weka Editors---
Trying to add database driver (JDBC): RmiJdbc.RJDriver - Error, not in CLASSPATH?
Trying to add database driver (JDBC): jdbc.idbDriver - Error, not in CLASSPATH?
Trying to add database driver (JDBC): org.gjt.mm.mysql.Driver - Error, not in CLASSPATH?
Trying to add database driver (JDBC): com.mckoi.JDBCDriver - Error, not in CLASSPATH?
Trying to add database driver (JDBC): org.hsqldb.jdbcDriver - Error, not in CLASSPATH?
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
    at java.util.Hashtable.<init>(Unknown Source)
    at java.util.Hashtable.<init>(Unknown Source)
    at java.util.Properties.propertyNames(Unknown Source)
    at weka.core.ProtectedProperties.<init>(ProtectedProperties.java:55)
    at weka.core.Attribute.<init>(Attribute.java:215)
    at weka.core.converters.CSVLoader.readHeader(CSVLoader.java:744)
    at weka.core.converters.CSVLoader.readStructure(CSVLoader.java:416)
    at weka.core.converters.CSVLoader.getStructure(CSVLoader.java:401)
    at weka.core.converters.CSVLoader.getDataSet(CSVLoader.java:434)
    at weka.core.converters.AbstractFileLoader.runFileLoader(AbstractFileLoader.java:323)
    at weka.core.converters.CSVLoader.main(CSVLoader.java:804)

我确实看到它说的是将数据库驱动程序添加到类路径中。将数据库驱动程序添加到类路径的步骤是什么?另外,我还需要其他软件包吗?

1 个答案:

答案 0 :(得分:3)

嗨,那里有几点 最初的JDBC错误是因为weka无法找到数据库驱动程序。

Trying to add database driver (JDBC): RmiJdbc.RJDriver - Error, not in CLASSPATH?
Trying to add database driver (JDBC): jdbc.idbDriver - Error, not in CLASSPATH?
Trying to add database driver (JDBC): org.gjt.mm.mysql.Driver - Error, not in CLASSPATH?
Trying to add database driver (JDBC): com.mckoi.JDBCDriver - Error, not in CLASSPATH?
Trying to add database driver (JDBC): org.hsqldb.jdbcDriver - Error, not in CLASSPATH?

当您从CSV加载时,这不是主要问题,但如果您想正确配置数据库连接,请查看 http://weka.wikispaces.com/How+do+I+connect+to+a+database%3F

第二个问题

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

是由于您尝试加载的CSV为默认Java堆的大型。 我不知道你的数据文件有多大,但我在我的机器上使用大约2gb运行weka,你可以尝试使用-Xmx参数。

java -Xmx2200M java weka.core.converters.CSVLoader data.csv > data.arff

其中2200M是您要分配的内存量。