本文大致介绍加载自己算法到weka的方法;
1 首先编写自己的分类器算法(要符合weka的规范,可参看weka其他算法源码)
2 注意自己的包名(对应weka的classify的choose中目录)类名(对应choose具体的分类器名)
3 将自己的程序打包成jar包。这里需要特别注意。
3.1 加载到weka的时候不要将weka.jar一起打包。
3.2 依赖的jar不要一起打包,(这样子weka识别不了)处理如下:
3.3 你引用的jar可以和eclipse打包出来的jar放在同一目录(建立一个lib进行存放)
3.4 说一下我遇到的另外一种情况吧,我用到了weka的源码并且进行了修改。
这时你可以直接将修改的jar源码和你的自定义分类器一起打包成jar,也可以单独打包成jar和3.3中jar一同存放。
4 将自己的jar包和lib文件夹连同build_package.xml和Description.props两个文件一同压缩(.zip格式)。
5 上面说的两个文件我是从libsvm中得到的;
这个libsvm的包(weka规范的)可以通过weka的packagemanager进行导入;
然后可以在用户目录(注意不是weka安装目录)的user/wekafile/package中找到。
6 需要注意的是在Description.props将 # Package name (required) 名字改一下(重要),
其他的都是一些描述信息。
如果不改的话会导致卸载的时候一下在卸载多个分类器。
7 然后就是将打包好的.zip文件通过weka-tools-packagemanage进行导入。
8 导入成功后在installed下会有你刚才设置的名字(这就是为什么一定要改名字的原因)。
9 最后根据你设置的包名在weka(classify对应目录)中查找,分类器名字是你继承classifier的子类的类的名字。
另外补充一点:大家可以把这个.zip放到服务器上 通过链接进行导入也是可以的。