嗨,我有这个代码的问题,我正在尝试进行网格搜索,以优化一些属性
from weka.classifiers import GridSearch
grid = GridSearch(options=["-sample-size", "100.0", "-traversal", "ROW-WISE", "-num-slots", "1", "-S", "1"])
grid.evaluation = "CC"
grid.y = {"property": "kernel.gamma", "min": -3.0, "max": 3.0, "step": 1.0, "base": 10.0, "expression": "pow(BASE,I)"}
grid.x = {"property": "C", "min": -3.0, "max": 3.0, "step": 1.0, "base": 10.0, "expression": "pow(BASE,I)"}
cls = Classifier(
classname="weka.classifiers.functions.SMOreg",
options=["-K", "weka.classifiers.functions.supportVector.RBFKernel"])
grid.classifier = cls
grid.build_classifier(train)
print("Model:\n" + str(grid))
print("\nBest setup:\n" + grid.best.to_commandline())我有这样的问题:
Failed to get class weka.classifiers.meta.GridSearch
Exception in thread "Thread-0" java.lang.NoClassDefFoundError: weka.classifiers.meta.GridSearch
Caused by: java.lang.ClassNotFoundException: weka.classifiers.meta.GridSearch
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
/tmp/ipykernel_11771/802912337.py in <module>
9 options=["-K", "weka.classifiers.functions.supportVector.RBFKernel"])
10 grid.classifier = cls
---> 11 grid.build_classifier(train)
12 print("Model:\n" + str(grid))
13 print("\nBest setup:\n" + grid.best.to_commandline())
NameError: name 'train' is not defined有什么建议吗?
发布于 2021-10-21 20:09:41
GridSearch和MultiSearch元分类器可以通过Weka包获得,它们不是核心Weka发行版的一部分。为了使用它们,你需要安装相应的包。
如果您想要使用pww3来安装/管理包,那么可以看看examples on packages。
https://stackoverflow.com/questions/69664416
复制相似问题