2012-02-16 55 views
3

当我用weka.core.converters.CSVLoader加载一个.csv文件时,weka会尝试加载一些我不需要的东西(比如加载数据库驱动程序 - 见下面)。 我只需要Instances对象尽可能快,所以我可以用它做一些操作。有没有办法从WEKA加载实例对象而没有很长的加载时间?

有没有办法快速加载对象没有所有不必要的开销?

Weka的较新版本更慢(加载更多的东西)。

感谢, 托德

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

这只发生一次,当你启动GUI和在我的情况下,它在1-2秒内启动(虽然大部分时间都花在Java GUI本身,与加载bot)。如果你想要原始速度,你可以编写一个简单的Java应用程序,在weka.jar的帮助下完成你想要的功能,作为一个保存你想要的功能的库。 – DrColossos 2012-03-15 11:27:00

+0

即使通过命令行使用Weka,也会发生这种情况。如果你做了数百次这样的加载,这些1/2秒的加载可能会严重拖延实验。 – Sicco 2012-06-17 00:08:44

+0

我将eclipse源文件作为eclipse中的一个项目导入,没有麻烦,并将其链接到我的项目。这样,您只能调用您需要的功能! – Abbas 2012-11-29 18:34:34

回答

1

嗯,我认为,如果你关心性能,你应该运行你使用Weka的API不是从GUI或命令行Java程序进行试验。

但不管怎么说,很少有事情可以做,以尽量减少在初始化什么Weka的负荷:

1 - 删除你不从文件夹%USER_DIR%\wekafiles\packages需要,因为Weka中加载这些文件,当它开始

2-在Weka源代码更改文件weka.experiment.DatabaseUtils.props并注释下面的行,这将限制Weka加载的数据库驱动程序。

#jdbcDriver=RmiJdbc.RJDriver,jdbc.idbDriver,org.gjt.mm.mysql.Driver,com.mckoi.JDBCDriver,org.hsqldb.jdbcDriver 

通常,您可以搜索Weka在初始化过程中显示的消息,例如, "Loading properties and plugins"并在Weka源代码中搜索它并查看可以安全禁用的内容。