我可能有一个愚蠢的问题,但我正在使用Weka来预测不同基因对癌症的影响,类似这样
cancer gene1 gene2 gene3 .... yes 0.85 1.23 3.52 ....no 7.58 6.25 8.91 ....no 6.52 5.25 9.85 ....yes 1.23 0.59 0.74 .........
但我的数据是癌症为yes的有25例,癌症为no的有158例,加上75个基因。我的问题是,当我运行了例如信息增益(InfoGain)或增益比(GainRatio)后,我得到了选定的属性或排名的属性(基因),但我如何能说这些基因预测的是癌症为yes还是癌症为no呢?
非常感谢!
回答:
我对遗传学了解不多,但你怎么知道某个基因会导致癌症呢?很可能是许多基因相互作用的结果。你如何考虑这些相互作用?这就是你的问题所在。
集中讨论正式/技术方面的事情。在Weka中,你的类属性“cancer”需要是最后一列/最右边的列,或者你每次在点击“开始”按钮之前手动设置选择框为“(Nom) cancer”。
你可以查看随Weka附带的diabetes.arff文件,它的结构与你的数据文件类似。
如果你想要一个可解释的模型,你还可以运行决策树算法“J48”(在“分类”选项卡中),并在属性窗口中将minNumObj设置为更高的值(通过尝试和错误找到合适的值)。这会创建层次较少的扁平树,决策/如果语句较少。然后在运行结果上右击(在分类选项卡的左下角面板中),选择“可视化树”。