【发布时间】:2015-06-20 03:05:33
【问题描述】:
我正在 RapidMiner 5.3.013 中开发一个相当简单的过程,它读取一个 CSV 文件并将其用作训练集来训练决策树分类器。该过程的结果就是模型。读取第二个 CSV 并将其用作未标记集。模型(之前计算的)应用到未标记的测试集,以努力正确地标记它。
CSV 的每一行都包含一些属性,例如:
15, 0, 1555, abc*15, label1
但训练集的某些行可能是这样的:
15, 0, *, abc*15, label2
这样做是因为第三个值可能取不同的值,因此训练集的创建者使用星号作为通配符来代替值。
我想做的是让决策树知道那里的星意味着“匹配任何东西”,这样它就不会只匹配一个星。
注意事项:
- 第 4 个字段 (abc*15) 中的星号应按字面意思匹配,而不是通配符。
- 如果第三个字段总是包含星号,我不能将它包含在属性中,但事实并非如此。有时第三个字段包含整数值,应按字面意思匹配。
- 我尝试将该字段留空,但它不起作用
那么,有没有办法在训练分类器或使用模型时使用正则表达式,或者至少是一个简单的通配符?
另一种说法是:我可以指示分类器不使用某些条目(CSV 中的行)中的某些属性吗?
谢谢!
【问题讨论】:
-
我最终做的是修改决策树模型创建者的 Java 代码。它奏效了!我在我的论文中使用了它:)。我一直在等我有空闲时间来正确地写一个答案,但这不会很快发生,因此我现在要做的就是这个评论。如果有人需要更多详细信息,请询问,我会在附近。
标签: regex csv classification decision-tree rapidminer