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

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)

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

最佳答案

嗨,这里有几点
最初的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堆来说太大。
我不知道你的数据文件有多大,但我在我的机器上运行的weka大约有2GB,可以尝试使用-xmx参数。
java -Xmx2200M java weka.core.converters.CSVLoader data.csv > data.arff

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

关于database - 添加数据库驱动程序以使用WEKA类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6720229/

10-12 18:11
查看更多