我刚开始使用WEKA和机器学习,所以请原谅我下面提出的无知问题。我已经浪费了几个小时试图解决这个问题,希望有人能指引我正确的方向:
我试图对USDJPY的数据运行J48决策树。数据是通过.csv文件加载的,类值是名义类型,更具体地说,如果USDJPY在20个交易日后交易价格上涨超过1%,则值为TRUE或FALSE。问题是,当我运行算法时,决策树只是简单地使用类值来解决问题,这毫无用处。除了类属性外,还有22个其他属性,我希望通过这些属性来预测类属性。
当我将我的数据集与示例“glass”数据集进行比较时,我找不到任何差异来解释我的问题。运行J48时(使用相同的设置),“glass.arff”文件按预期工作,通过其他属性尝试预测类值(玻璃类型),(即有些猜测是错误的)。
我在这里错过了什么?以下是属性列表:
@ATTRIBUTE date NUMERIC@ATTRIBUTE open NUMERIC@ATTRIBUTE high NUMERIC@ATTRIBUTE low NUMERIC@ATTRIBUTE close NUMERIC@ATTRIBUTE 1daypctchg NUMERIC@ATTRIBUTE smavg50onclose NUMERIC@ATTRIBUTE smavg100onclose NUMERIC@ATTRIBUTE smavg200onclose NUMERIC@ATTRIBUTE ubb2 NUMERIC@ATTRIBUTE bollma2 onclose NUMERIC@ATTRIBUTE lbb2 NUMERIC@ATTRIBUTE bollwjpybgn NUMERIC@ATTRIBUTE %bjpybgn NUMERIC@ATTRIBUTE rsi NUMERIC@ATTRIBUTE ma50>100 {FALSE,TRUE}@ATTRIBUTE ma50>200 {FALSE,TRUE}@ATTRIBUTE ma100>200 {FALSE,TRUE}@ATTRIBUTE up1pct5d? {FALSE,TRUE}@ATTRIBUTE up1pct20d? {FALSE,TRUE}@ATTRIBUTE dwn1pct5d? {FALSE,TRUE}@ATTRIBUTE dwn1pct20d? {FALSE,TRUE}
回答:
只要你的.csv文件中真实类值始终在同一列,Weka(及其J48实现)就应该能够对你的数据进行分类。