我正在学习如何进行数据挖掘,而我正在使用UCI网站上的这个数据集。
http://archive.ics.uci.edu/ml/datasets/Forest+Fires
我遇到的问题是如何处理区域类。我从描述中理解的是,我需要使用AddExpression将ln(x + 1)应用于区域。
我是否朝着正确的方向前进?或者我应该调查其他过滤器吗?谢谢。
答案 0 :(得分:0)
我尝试根据您提供的少量信息回答您的问题。我没有使用森林火灾数据集,但通过检查我发现分类器属性“区域”通常具有值0.也许你不能简单地用Area = 0过滤掉这些行。你的数据集可能变得太小,或者诸如此类的东西。
我认为你被要求对“log(area)”执行某些属性的回归以便将其线性化。但是,当您尝试计算区域的日志时,诸如log(0)之类的值是个问题。介于0和1之间的值也可能存在问题。
所以常见的解决方法是将“Area”的值加1。这会引入系统错误,但它很小,它会删除所有0值,您仍然可以从日志(x + 1)转换的数据集中导出有用的模型。
是的,在Weka中你可以通过“Preprocess”/ AddExpression(x + 1)来完成。这会创建一个新属性。然后你可以删除旧区域属性。
当然,在解释模型时,您应该了解转型。如果您只想找出线性回归模型中重要的独立属性,我会说转换无关紧要。数据点只是移动了一点点。