Weka GUI 和 Weka 通过 Java 代码得到不同的结果

2023-12-10

我正在使用 NaiveBayesMultinomialText 分类器在 Weka 中应用文本分类。问题是,当我使用 GUI 来执行此操作并在相同的列车数据上进行测试(无需交叉验证)时,我获得了 93% 的准确率,而当我尝试通过 java 代码执行此操作时,我获得了 67% 的准确率。可能出了什么问题?

在 GUI 中,我使用以下配置:

Lnorm 2.0
debug False
lowercaseTokens True
minWordFrequency 3.0
norm 1.0
normalizeDocLength False
periodicPruning 0
stemmer NullStemmer
stopwords pt-br-stopwords.dat
tokenizer NgramTokenizer (default parameters, but max ngramsize = 2)
useStopList True
useWordFrequencies True

然后我在“测试选项”中选择“使用训练集”。

现在在java代码中我有:

        Instances train = readArff("data/naivebayestest/corpus_treino.arff");
        train.setClassIndex(train.numAttributes() - 1);
        NaiveBayesMultinomialText nb = new NaiveBayesMultinomialText();
        String opt = "-W -P 0 -M 5.0 -norm 1.0 -lnorm 2.0 -lowercase -stoplist -stopwords C:\\Users\\Fernando\\workspace\\GPCommentsAnalyzer\\pt-br_stopwords.dat -tokenizer \"weka.core.tokenizers.NGramTokenizer -delimiters ' \\r\\n\\t.,;:\\\'\\\"()?!\' -max 2 -min 1\" -stemmer weka.core.stemmers.NullStemmer";
        nb.setOptions(Utils.splitOptions(opt));                                            
        nb.buildClassifier(train);    

        Evaluation eval = new Evaluation(train);                                           
        eval.evaluateModel(nb, train);
        System.out.println(eval.toSummaryString());                                        
        System.out.println(eval.toClassDetailsString());                                   
        System.out.println(eval.toMatrixString());    

可能我在我的java代码中遗漏了一些东西..有什么想法吗?

Thanks!


您可以使用以下代码来评估 10CV 的分类器:

eval.crossValidateModel(nb, train,10,new Random(1)); 

你应该记住,不要使用train.Randomize and train.Stratify(10)在那之前。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Weka GUI 和 Weka 通过 Java 代码得到不同的结果 的相关文章

  • 处理不平衡问题后,数据高度倾斜,准确性下降

    在对数据进行预处理 例如缺失值替换和异常值检测 后 我使用随机化方法对数据进行分区 并使用 WEKA 删除百分比过滤器 我的数据集是一个高度倾斜的数据集 不平衡比为 6 1 对应于负类和正类 如果我使用朴素贝叶斯分类器对数据进行分类 而不处
  • Python OpenCV SVM 实现

    因此 我有一个包含样本图像的矩阵 全部转换为向量 该矩阵通过 PCA LDA 运行 还有一个向量表示每个图像所属的类 现在我想使用 OpenCV SVM 类来训练我的 SVM 我使用的是 Python OpenCV 2 3 1 但我在定义参
  • 句子分类(Categorization)

    我一直在阅读有关文本分类的内容 并找到了几个可用于分类的Java工具 但我仍然想知道 文本分类与句子分类相同吗 有没有专注于句子分类的工具 文本分类 和 句子分类 之间没有正式的区别 毕竟 句子是一种文本 但一般来说 当人们谈论文本分类时
  • Scikit-learn 从分段时间序列创建标记数据集

    INTRO 我有一个 Pandas DataFrame 代表分段的不同用户 即 user1 和 user2 的时间序列 我想使用上述 DataFrame 训练 scikit learn 分类器 但我无法理解必须创建的 scikit lear
  • 如何在 weka 中表示用于分类的文本?

    您能告诉我如何在 weka 中表示文本分类的属性或类吗 我可以使用什么属性进行分类 词频还是仅词 ARFF 格式的可能结构是什么 你能给我几行该结构的例子吗 预先非常感谢您 最简单的替代方法之一是从 ARFF 文件开始解决二类问题 例如 r
  • 使用输入 fn 在 Tensorflow 估计器中进行预测

    我使用来自的教程代码https github com tensorflow tensorflow blob r1 3 tensorflow examples learn wide n deep tutorial py https githu
  • 识别任意日期字符串[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我需要能够识别日期字符串 如果我无法区分月份和日期 例如 12 12 10 也没关系 我只需将字符串分
  • 如何在java中使用StringToWordVector(weka)?

    这是我的arff文件 relation hamspam attribute text string attribute class ham spam data good ham very good ham bad spam very bad
  • 如何将 Scikit Learn 分类器应用于大图像中的图块/窗口

    给出的是 scikit learn 中经过训练的分类器 例如ARandomForestClassifier 分类器已经过对大小样本的训练 例如25x25 如何轻松地将其应用于大图像 例如 640x480 中的所有图块 窗口 What I c
  • 如何使用java获取weka中的最近邻居

    我一直在尝试使用与 weka 机器学习库一起使用的 Ibk 最近邻算法 我知道如何对实例进行分类 但我想实现协同过滤功能 因此我需要实际获取最接近感兴趣对象的实际对象列表 在 weka 中我实际上该如何使用它的 java API 来做到这一
  • 聚类和贝叶斯分类器 Matlab

    因此 我正处于下一步该做什么的十字路口 我开始学习一些机器学习算法并将其应用于复杂的数据集 现在我已经做到了 我从一开始的计划就是结合两种可能的分类器 试图建立一个多分类系统 但这就是我被困住的地方 我选择聚类算法 模糊 C 均值 在学习了
  • H2O 和 Scikit-Learn 指标评分之间有什么区别吗?

    我尝试使用H2O创建一些用于二元分类问题的机器学习模型 测试结果非常好 但后来我查了一下 发现了一些奇怪的事情 出于好奇 我尝试打印测试集模型的预测 我发现我的模型实际上一直预测为 0 负 但 AUC 在 0 65 左右 并且精度不是 0
  • 如何生成阳性预测值 (PPV) 与各种分类截止点的关系图?

    我生成了一些分数来帮助预测某些内容是 是 1 还是 否 0 假设数据包括 scores c 10 20 response c 0 0 1 0 1 0 1 1 0 1 1 mydata data frame scores response 我
  • 如何在weka中连接mysql数据库?

    我想在 weka 中使用我的 mysql 数据库来分析数据 我下载 mysql connector java 5 0 8 bin jar 并将其放入程序文件文件夹中的 weka 文件夹中 并将此路径添加到系统变量路径中 但是当我打开 wek
  • 如何将两组 weka 实例合并在一起

    目前 我一次将一个实例从一个数据集复制到另一个数据集 有没有办法做到这一点 使字符串映射保持完整 mergeInstances 水平工作 是否有等效的垂直合并 这是我用来将多个 arff 文件中相同结构的数据集读取到一个大型数据集中的循环的
  • Eclipse - 为现有项目设置 .classpath 文件

    我有一个java项目 来自其他人的 Eclipse 项目的工作文件夹 我认为这是一个 Repast Simphony 项目 在我的 Eclipse 中 我创建了一个新的 Java 项目并告诉它使用现有的代码 所以它似乎已经引入了所有代码 但
  • 使用逻辑回归时sklearn重要特征错误

    以下代码使用随机森林模型为我提供一个显示特征重要性的图表 from sklearn feature selection import SelectFromModel import matplotlib clf RandomForestCla
  • 使用 train_test_split 分割数据时的精度与随后加载 csv 文件的精度不同

    我建立了一个模型来预测客户是企业客户还是私人客户 训练模型后 我预测了 1000 个数据集的类别 但我没有将其用于训练 此预测将保存在 csv 文件中 现在我有两种不同的行为 在程序中分割样本数据 当我创建示例时train sample t
  • 在java中使用朴素贝叶斯(weka)进行简单的文本分类

    我尝试在我的java代码中使用朴素贝叶斯weka库进行文本分类 但我认为分类的结果不正确 我不知道问题是什么 我使用 arff 文件作为输入 这是我的训练数据 relation hamspam attribute text string a
  • R 中多类分类的 ROC 曲线

    我有一个包含 6 个类别的数据集 我想绘制多类别分类的 ROC 曲线 Achim Zeileis 给出的第一个答案非常好 R中使用rpart包的ROC曲线 https stackoverflow com questions 30818188

随机推荐

  • 为什么 drop1 忽略混合模型的线性项?

    我有六个固定因素 A B C D E and F 和一个随机因素R 我想使用 R 语言测试线性项 纯二次项和双向交互 因此 我构建了完整的线性混合模型并尝试使用drop1 full model lt lmer Z A B C D E F I
  • 在 Windows 上取消 python 中的停滞文件复制

    在 Windows 上 我想使用 Python 通过网络复制一堆文件 有时 网络没有响应 复制会停止 我想检查是否发生这种情况 并在发生这种情况时跳过有问题的文件 通过询问这个相关问题here 我发现了关于复制文件Ex函数 允许使用回调函数
  • 如何对地图的值进行排序?

    有人可以给我提示吗 我想按列表的长度对地图的值进行排序 var chordtypes maj 0 4 7 M7 0 4 7 11 m7 0 3 7 10 6 0 4 7 9 9 0 4 7 10 14 sus2 0 2 7 sus4 0 5
  • 在 Python 中,如何搜索过去 24 小时内创建的文件? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我是 python 新手 我想查找过去 24 小时内创建的目录中的所有文件 如何过滤 24 小时窗口内创建的文件 该代码将在 Windows 计算机上的 Python 2 7 中
  • 跨多个数据帧的经纬度之间的最小距离

    我有一个名为 A 的数据框 其中纬度和经度位于不同的列中 样本数据 ID Lat Long a 10 773046 76 6392061 b 10 7751978 76 6368363 c 12 954027 78 988818 d 12
  • 为什么Iterable不提供stream()和parallelStream()方法?

    我想知道为什么Iterable接口不提供stream and parallelStream 方法 考虑下面的类 public class Hand implements Iterable
  • 为什么“colMeans()”和“rowMeans()”函数比使用“lapply()”的mean函数更快?

    我想问的是 从算法上来说 rowMeans and colMeans 函数如何优化速度 另外 考虑一下什么lapply 做 它设置对该函数的重复调用mean 因此 除了实际计算均值的开销 在快速 C 代码中完成 之外 lapply 版本反复
  • Sass 3.4 删除字符串上的正斜杠

    是否有解决方法或任何其他方法可以使其在 Sass 3 4 上工作 mixin icon name code name before content str slice x 1 1 code include icon test 4556 代码
  • 从 WordPress 中提取数据

    从 Wordpress 数据库提取数据的最佳方法是什么 我认为创建一个插件会很好 有没有可以完成这项工作的教程 或者有一个插件可以做到这一点 通过 JSON XML 拉取页面内容 干杯 米奇 这是该插件的链接 http wordpress
  • 指针比较

    C 和 C 中的指针是否支持比较运算符 gt lt 等 标准 我想精确地比较数组位置 在连续数组中比较内存偏移量 指针 是可以的 如果您的数组被实现为链表 例如 则节点可能遍布内存 因此指针比较是无意义的
  • JQuery 查找并更改字符串的样式

    我需要编写一个函数 在 HTML 页面中的所有内容中搜索特定字符串 如果找到 则更改文本的颜色 这可能吗 Thanks 你可以这样做 CSS someclass color red JavaScript p contains yourstr
  • 如何将“System::String ^”转换为“TCHAR”?

    我问了一个问题here涉及 C 和 C 通信 问题解决了 但又引发了新的问题 这将返回一个字符串 C return Marshal PtrToStringAnsi decryptsn InpData 这需要一个 TCHAR C lpAlph
  • 数据库特定的迁移代码[重复]

    这个问题在这里已经有答案了 我正在创建一个需要在多个数据库下运行的应用程序 我目前在迁移中有一些代码 我只想在特定数据库 postgresql 和 mysql 下运行 有什么方法可以设置吗 谢谢 您的迁移可以访问数据库连接connectio
  • NSArray 后面的方括号索引是什么意思? [复制]

    这个问题在这里已经有答案了 浏览 iTunes U 开发适用于 iPhone 和 iPad 的 iOS 7 应用程序以及第 3 讲幻灯片中的第 120 页 有一个测验问题询问以下代码行的作用 说实话 我有点困惑 希望有人能破解它 cardA
  • “~”运算符在此脚本中做什么? [复制]

    这个问题在这里已经有答案了 您好 我从特定索引中删除一个数组 我附带了这个脚本 var arr 1 2 3 4 var index 2 if index arr splice index 1 我谷歌 what does operator d
  • 使用Spring SpEL表达式获取Annotation中引用的动态参数

    我想做的是拥有一个看起来很像 Spring 提供的 Cacheable Annotation 的注释 在方法之上使用 如下所示 CleverCache key orders concat id public Order getOrder i
  • 通过管道传递多个参数和最后一个函数的结果

    我正在使用 Ramda js 构建一个管道 它接受三个参数 第一个函数需要这三个参数 其结果用于第二个函数 但是 第二个函数还需要初始参数之一 我无法弄清楚构建类似的东西的分支 在伪代码风格中 我需要这样的东西 const composed
  • OAuth、带参数的 POST 问题

    我正在使用 Jon Crosby 的开源 Objective C OAuth 库http code google com p oauthconsumer 对于一些不处理令牌的基本 http 身份验证 仅处理消费者密钥和消费者秘密 我的代码非
  • 在 Blazor WebAssembly 应用程序中授权普通 Razor 页面?

    我正在使用 Blazor Wasm 编写 SPA 我使用了标准模板并包含托管在服务器中的用户帐户 该服务器也创建了服务器应用程序 到目前为止一切都很好 我想补充一点 我正在使用 Net5 RC2 但我认为这不是我的问题 我希望在服务器和客户
  • Weka GUI 和 Weka 通过 Java 代码得到不同的结果

    我正在使用 NaiveBayesMultinomialText 分类器在 Weka 中应用文本分类 问题是 当我使用 GUI 来执行此操作并在相同的列车数据上进行测试 无需交叉验证 时 我获得了 93 的准确率 而当我尝试通过 java 代