使用 Weka 进行数据挖掘

Data mining with Weka

我正在学习如何进行数据挖掘,并且正在使用来自 UCI 网站的数据集。

http://archive.ics.uci.edu/ml/datasets/Forest+Fires

我遇到的问题是如何处理区域class。我从描述中了解到,我需要使用 AddExpression 将 ln(x+1) 应用于区域。

我这样做的方向正确吗?或者还有其他我应该调查的过滤器吗?谢谢你。

我尝试根据您提供的少量信息来回答您的问题。而且我没有使用过森林火灾数据集,但通过检查我发现分类器属性 "area" 通常具有值 0。也许你不能简单地用 Area = 0 过滤掉这些行。你的数据集可能变得太小,或者诸如此类。

我认为您被要求针对 "log(area)" 执行某些属性的回归,以便对其进行线性化。但是,当您尝试计算面积的对数时,诸如 log(0) 之类的值就会出现问题。 0 和 1 之间的值也可能有问题。

所以一个常见的修复方法是将 "Area" 的值加 1。这引入了一个系统误差,但它很小,它删除了所有 0 值,你仍然可以从你的 log(x+1) 转换数据集中导出有用的模型。

是的,在 Weka 中,您可以通过 "Preprocess"/AddExpression(x+1) 来实现。这将创建一个新属性。然后你可以删除旧的区域属性。

当然,在解释您的模型时,您应该意识到转换。如果你只是想找出你的线性回归模型中有哪些重要的独立属性,我会说转换并不重要。数据点只是移动了一点点。