8.4.1 决策树(Decision trees)
决策树是机器学习中最流行的一种算法,可以用于根据数据作出决策,或把输入划分为不同的类别。算法使用树描述数据的哪些属性应进行测试,对每个可能的答案决定做什么。对答案反应既可能是另一个测试,也可能是最终答案。
机器学习理论提供了复杂的方法,用于自动从数据生成树,但对于我们的示例,我们将手工创建树。图 8.3 显示了我们问题的决策树。
图 8.3 检查适合贷款的决策树;每个菱形代表问题,链接是通向另一个问题或结论(矩形)的可能答案。
我们将首先实现 F# 版本。在 F# 中,写代码通常很容易,如果我们的问题有一种非正式的规范,这里,是要处理的数据结构。决策树的规范可能像这样:
决策树
决策树由初始查询,构成树的根,定义的。查询由测试的名字和执行的函数组成,可以返回几个可能的答案。在我们的实现当中,将限制答案为 true 或 false。对每个回答,节点可能还包含指向下一个查询的链接,或者是经过树的这条路径的最后决定。
有了这个规范,我们就可以开始写 F# 代码了。在看到如何用 C# 实现这个问题的关键部分之前,我们希望演示像这样重写 F# 规范,是何等容易。
原文地址:http://blog.csdn.net/hadstj/article/details/41743679