Weka:疑难解答

我有Weka下载问题-出什么问题了?

下载WEKA时,请确保生成的文件大小与WEKA网页相同。否则事情就不会正常运作。显然,一些网络浏览器在下载weka时遇到了问题。还要注意,WEKA主页只链接到sourceforge.net上托管的文件。这通常涉及重定向到你将从中下载实际文件的镜像。

我的ARFF文件无法加载-为什么?

找出ARFF文件无法加载的原因的一种方法是将它们提供给weka.core.Instances类。在SimpleCLI 或终端中,键入以下内容:

java weka.core.Instances filename.arff

其中用filename替换文件的实际名称。如果读取文件时出现问题,这应该会返回一个错误,或者如果文件正常,则会显示一些统计信息。你得到的错误消息应该会给出一些错误的指示。

nominal value not declared in header, read Token[X], line Y
标称值未在标题、读取标记[X]、行Y中声明

如果你收到这个错误消息,那么你似乎已经在ARFF标头部分声明了一个标称属性,但是WEKA在这个特定属性的数据(在Y行)中遇到了一个值(“X”),该值没有作为可能的值列出。

数据中出现的所有标称值必须在标题中声明。

未在标题、读取标记[X]、Y行中声明的标称值是什么意思?

见上一个问题的答案。

如何消除此OutOfMemoryException?

大多数Java虚拟机只分配一定的最大内存量来运行Java程序。通常,这远远小于计算机中的RAM大小。这里有一些关于用于Java 8的Oracle Java虚拟机中的缺省堆大小的信息。但是,你可以通过设置适当的选项来扩展虚拟机可用的内存。例如,使用Oracle的JDK,你可以。

java -Xmx2g ...

将最大Java堆大小设置为2 GB。

为Oracle Java虚拟机设置最大堆大小的可靠方法(并覆盖启动脚本中可能提供的任何其他设置,等等)。是使用_JAVA_OPTIONS环境变量指定-Xmx选项。这里有更多信息。

如何处理StackOverflowError?

尝试增加虚拟机的堆栈。使用Sun的JDK,你可以使用以下命令增加堆栈大小:

 java -Xss512k ...

将最大Java堆栈大小设置为512KB。如果仍然不够,请慢慢增加。

对于Windows,有关如何修改设置的说明,请参阅OutOfMemoryException。

为什么我会收到错误信息“Training and Test Set Is Not Compatible”(训练和测试集不兼容)?

WEKA的基本假设之一是训练集和测试集的结构完全相同。这不仅意味着你需要完全相同数量的属性,而且还需要完全相同的类型。在标称属性的情况下,必须确保标签数量和标签顺序相同。

这看起来可能很奇怪,至于使用经过训练的分类器进行预测,你不需要包括任何类属性信息。从人类的角度来看,这是正确的,但出于速度原因,WEKA不执行任何关于数据集结构的检查(没有从训练空间到测试空间的属性名称映射,也没有标签的映射)。在内部,数据集中的单行表示为双精度数组。对于数值属性,这不会带来问题,但是对于其他属性类型,比如标称属性,双精度表示可用标签列表中的索引。标签的不同顺序将导致由相同索引表示的不同标签。那么预测就不可信了。

现在,如果你想要快速检查问题所在,可视化的diff程序非常有用。可用的应用程序太多了。举几个跨平台的开源软件:

如果你使用过滤器来处理训练和测试集,那么请看一下常见问题解答如何生成使用过滤器处理的兼容的训练和测试集

无法从数据库读取:未知数据类型

因为有太多不同的数据库,每个数据库都有自己的数据类型,所以不可能预先定义所有的数据库。因此,WEKA附带了针对不同数据库的设置,允许你在不进行任何额外调优的情况下运行实验。但是,如果你希望从不同的数据源读取数据库,则可能需要告诉WEKA如何导入这些数据类型。

以下是要做的事情:

  • weka.jarweka-src.jar中解压weka/experiment/DatabaseUtils.props 文件,并将其放入你的主目录中。
  • 最后,查看数据库文章中缺少数据类型一节,并相应地添加缺少的数据类型。

注:

  • jar文件只是ZIP文件。只需使用可以处理ZIP文件的存档管理器即可将其打开。例如,Windows用户可以使用7-zip
  • 有关PROPS文件的更多信息,请参阅属性文件文章。
  • 如果你不知道在哪里可以找到你的主目录,请参阅常见问题解答:我的主目录位于哪里

正在尝试添加JDBC驱动程序:.-错误,不在CLASSPATH中?

WEKA的数据库默认设置试图定位一些常见的JDBC驱动程序类(“JDBC”是连接到数据库的Java方式,如MySQL、HSQLDB等)。在启动时。只需将这些JDBC驱动程序添加到你的CLASSPATH中,WEKA就可以自动连接到这些数据库。如果你不想访问数据库,那么就忘了这些消息吧。否则,请查看数据库文章以了解更多信息(默认情况下,你尝试连接的数据库类型可能未列出)。

我无法处理大型数据集-有什么想法吗?

由于WEKA中的大多数方案都需要将所有数据放在内存中,因此大型数据集可能是个问题。本文对大数据集进行分类,试图提出一些解决方案。但是请确保你已经阅读了如何处理OutOfMemoryException。

00

WEKA

发表评论

邮箱地址不会被公开。 必填项已用*标注

什么阻碍了你实现迈入机器学习领域的目标?

什么阻碍了你实现迈入机器学习领域的目标?

2020-04-22 机器学习

如果你在为进入机器学习领域而挣扎,感觉到有什么东西阻止了自己的开始,那么你应该看看这篇文章。 在这篇文章中,我们会讨论阻止进入机器学习领域的自我限制的信念,让你明白面临的问题。 几乎总是一种自我限制的信念阻碍了你们的进步。 也许你会在一个或多个这样的信念中看到自己。如果是这样的话, [......]

了解详情

R语言机器学习迷你课程

R语言机器学习迷你课程

2020-08-12 机器学习

在这个迷你课程中,你将发现如何开始,构建精确的模型,并自信地完成在14天内使用R预测建模机器学习项目。 这是一个重要而重要的文章。你可能想把它书签。 了解如何准备数据,拟合机器学习模型,并用我的新书评估他们在r上的预测,包括14步教程、3个项目和完整源代码。 我们开始吧。 [......]

了解详情

关于机器学习的几点思考

关于机器学习的几点思考

2020-04-26 机器学习

机器学习是一个大的、跨学科的研究领域。 你可以通过机器学习获得令人印象深刻的结果,并找到非常具有挑战性的问题的解决方案。但这只是更广泛的机器学习领域的一小部分,通常被称为预测建模或预测分析。 在这篇文章中,你将发现如何改变你对机器学习的思考方式,以便更好地为你提供机器学习实践者的服务。 [......]

了解详情

找到你的机器学习部落

找到你的机器学习部落

2020-04-26 机器学习

机器学习是一个充满算法和数据的迷人而强大的研究领域。 问题是,有这么多不同类型的人对机器学习感兴趣,每个人都有不同的需求。重要的是要了解你想要从机器学习中得到什么,并根据这些需求调整你的自学。 如果你不这样做,你很容易就会陷入困境,迷失方向,失去兴趣,得不到你想要的东西。 找到 [......]

了解详情

应用机器学习过程

应用机器学习过程

2020-04-26 机器学习

随着时间的推移,在处理应用机器学习问题时,你会开发出一种模式或流程,以快速获得良好的正常结果。 一旦开发完成,你就可以在一个又一个项目上反复使用此过程。你的流程越健壮、越发达,你就能越快地获得可靠的结果。 在这篇文章中,我想与你分享我解决机器学习问题的过程框架。 你可以将其用作下一 [......]

了解详情