clojure - 如何从clojure访问moa分类器中hoeffding树的treeRoot字段[受保护]
问题描述
我正在使用 moa 分类器生成 hoeffding 树,它使用 getModelDescription 为我提供了它的描述字符串,我想通过获取 root 和获取 child 等来解析树。为了获取 root,我尝试使用(.treeRoot moa-classifier)
where treeRoot 是 hoeffding 的受保护字段tree 和 moa-classifier 是获得的树,但我收到以下错误“找不到匹配字段:类 moa.classifiers.trees.HoeffdingTree 的 treeRoot”
解决方案
我没有用你提到的特定类和字段测试我将要描述的技术,但是我已经将它用于几个具有私有字段的 Java 类。
Java 方法 setAccessible 和 Java 反射 API 可用于使某些字段可访问,默认情况下它们不可访问:https ://github.com/clojure/core.rrb-vector/blob/2ce54cc888cd2a5e58f5f54ae1eae1d5276e966d/src/main/clojure /clojure/core/rrb_vector/debug_platform_dependent.clj#L16-L21
然后您可以在 Field 对象和类的实例上使用方法“get”:https ://github.com/clojure/core.rrb-vector/blob/2ce54cc888cd2a5e58f5f54ae1eae1d5276e966d/src/main/clojure/clojure/core/ rrb_vector/debug_platform_dependent.clj#L113
推荐阅读
- spring-boot - 为什么 Spring Boot 需要这么长时间才能找到方法处理程序
- android - 无法通过 Debug/Release APK 版本查看地图
- java - 在 Oracle 中使用数据隔离的多租户
- macos - 使用 gcc 和 icc 安装 MPICH 和 OpenMPI
- javascript - 我应该如何在移动设备上滚动我的页面?
- python - 如何从 Django 访问当前用户到 React?
- reactjs - setFieldsValue 在选择模式下不起作用
- python - UnicodeDecodeError:“unicodeescape”编解码器无法解码位置 10752-10753 中的字节:截断 \uXXXX 转义
- python - 在熊猫中,有没有办法在两个日期之间创建时间跨度?
- gcc - gcc - 覆盖 .data 中的静态变量的局部变量