java - Type mismatch: cannot convert from J48 to Classifier
问题描述
I am a newcomer to Weka. And I want to use Weka self-training model. I have imported weka.jar when I created the project. But I want to know how to solve this problem? Thank you in advance for you help.
import java.io.File;
import weka.classifiers.Classifier;
import weka.classifiers.trees.J48;
import weka.core.Instances;
import weka.core.converters.ArffLoader;
public class J48 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Classifier m_classifier = new J48();
解决方案
您创建了一个名为 的新类J48
,它不继承任何基类或实现任何接口,因此错误消息是正确的:
无法从 J48 转换为分类器
您可能想要实例化 Weka 的 J48 分类器。您可以通过使用其完全限定名称来做到这一点:
Classifier m_classifier = new weka.classifiers.trees.J48();
(另请参阅:Java:import 语句与完全限定名称?)
但是您通常应该避免这些名称冲突并将您的类重命名为不同的名称,例如:
public class J48Demo {
public static void main(String[] args) {
// TODO Auto-generated method stub
Classifier m_classifier = new J48();
您已经导入了正确的包,因此通过重命名您的类来解决名称冲突 new J48()
将引用正确的类。
推荐阅读
- asp.net-mvc - 如何在 *.cshtml 中使用 es6 类
- python - 如何仅用字典或文本文件中存在的单词替换熊猫数据框的列?
- scala - scala "console" 命令给出错误 "Missing scala-library.jar"
- javascript - 如何使用 Redux 将徽章值传递给 React Native 上的 BottomTabBar
- android-source - AOSP多窗口和多显示的区别
- python - PYODBC 将数据插入日期时间列会产生格式不正确的表
- python - 如何在多个条件下在数据框中的新列中填充值
- javascript - V-表示不输出
- node.js - 如何从express js设置cookie
- javascript - 根据详细信息元素是打开还是关闭更改 tabindex