python - 在 PyWeka 中使用包(Python Weka Wrapper)
问题描述
在 PyWeka 中使用已安装的软件包时,我需要一些帮助。我能够安装软件包,但我无法使用它们或找到它们的安装位置。当我尝试查找完整的类名时,我得到一个异常(当没有匹配的模块时发生)
例子:
import weka.core.classes as core
core.complete_classname("J48")
输出
'weka.classifiers.trees.J48'
我正在尝试安装 DMNBtext 包。安装发生但找不到模块
import weka.core.classes as core
print(packages.is_installed("DMNBtext"))
core.complete_classname("DMNBtext")
输出
True
---------------------------------------------------------------------------
Exception Traceback (most recent call last)
<ipython-input-25-7ea05097d6f1> in <module>()
1 import weka.core.classes as core
2 print(packages.is_installed("DMNBtext"))
----> 3 core.complete_classname("DMNBtext")
/usr/local/lib/python3.6/dist-packages/weka/core/classes.py in complete_classname(classname)
1725 return str(result[0])
1726 elif len(result) == 0:
-> 1727 raise Exception("No classname matches found for: " + classname)
1728 else:
1729 matches = []
Exception: No classname matches found for: DMNBtext
请注意 is_installed 给出 True 输出,这意味着软件包已安装。
知道如何解决这个问题吗?另外,我的 jvm 是从 packages=True 开始的,所以这应该不是问题。提前致谢。
解决方案
我刚刚使用python-weka-wrapper3创建了一个新的虚拟环境:
virtualenv -p /usr/bin/python3.6 pww3
./pww3/bin/pip install numpy matplotlib pygraphviz javabridge python-weka-wrapper3
然后成功运行以下脚本(需要运行两次,如果DMNBtext
尚未安装包):
import sys
import weka.core.jvm as jvm
import weka.core.packages as packages
from weka.core.classes import complete_classname
jvm.start(packages=True)
pkg = "DMNBtext"
# install package if necessary
if not packages.is_installed(pkg):
print("Installing %s..." % pkg)
packages.install_package(pkg)
print("Installed %s, please re-run script!" % pkg)
jvm.stop()
sys.exit(0)
# testing classname completion
print(complete_classname(".J48"))
print(complete_classname(".DMNBtext"))
jvm.stop()
安装DMNBtext
软件包后,脚本会输出以下内容:
weka.classifiers.trees.J48
weka.classifiers.bayes.DMNBtext
推荐阅读
- rust - Rust - 不能在测试中使用枚举/不能在子模块上使用类型
- number-formatting - 在 pdfjam 的输出中添加页码
- javascript - 从 Apollo Server 检索非标头上下文
- html - 为什么当我正确定义 @font-face 时它不起作用?
- angular - 导入 ngbModule 时我的应用程序消失了
- javascript - 根据搜索词匹配突出显示网格行
- javacard - Javacard J2A040 使用 GPSShell 脚本更改默认密钥不起作用
- google-apps-script - Google Apps Script is corrupting/blanking-out all files uploaded through a form I created. How do I fix this?
- sql - 需要帮助优化 SQL Server 查询
- javascript - Firebase 使用用户名注册。客户端+安全规则还是后端?