【问题标题】:how can I create decision tree (ID3)?如何创建决策树 (ID3)?
【发布时间】:2012-02-10 21:01:07
【问题描述】:

基于这篇文章:http://www.cise.ufl.edu/~ddd/cap6635/Fall-97/Short-papers/2.htm 我想构建决策树来对我的测试文档进行分类。

TRAIN SET
class1 中的文档:
document1 中的文本:中文 北京中文
document2 中的文本:Chinese Chinese Shanghai
document3 中的文本:澳门中文
class2 中的文件:
document4中的文字:东京日本中文

测试集(我必须决定下面的文档属于哪个类)
document5中的文字:Chinese Chinese Chinese Tokyo 日本 Pekin


首先,据我所知,我必须计算熵(S),因此:
熵(S) = - (|class1 中的文档| / |所有类中的文档|) * log2( |1 类中的文档| / |所有类中的文档|) - (|2 类中的文档| / |所有类中的文档|) * log2(|2 类中的文档| / |所有类中的文档|) = - (3/4 )log2(3/4) - (1/4)log2(1/4) = - 0.22 - (- 0.35) = 0.13
是吗?

根据这篇文章,我现在应该计算 Entropy(Sweak) 和 Entropy(Sstrong) - 但我应该计算什么?我有文档、单词和课程。

【问题讨论】:

    标签: machine-learning


    【解决方案1】:

    决策树会告诉您以何种顺序查看项目的特征以对该项目进行分类。

    显然,您可以按照自己喜欢的任何顺序查看功能,直到您决定如何对项目进行分类。这可能会导致一个大的,因此非常具体的决策树。这称为过拟合。小型决策树是首选,因为小型决策树不太可能正确分类示例和错误分类新项目。

    ID3 是一种用于创建 small 决策树的算法,可以正确分类示例。它通过计算特征的熵来做到这一点。熵告诉您,通过检查该特征您获得了多少信息。所以你要回答的第一个问题是:你要分类的物品有什么特点?

    例如,要将项目报价分为接受和拒绝,您可能需要查看过去的项目并为每个项目记录以下特征:

    • 完成需要多长时间?
    • 您获得了多少报酬(按投资小时计算)?
    • 使用了哪些工具和语言?
    • 您个人对该软件的兴趣如何?
    • 该项目对谁具有挑战性?
    • 工作是在家还是在现场完成?
    • 与客户的沟通是否令人满意?

    还要记录你是否会再次做同样的项目。使用它对项目进行分类。现在,您可以根据过去项目的特征及其分类构建决策树。

    【讨论】:

    • 我不明白你在说什么。我必须将 document5 分类为 class1 或 class2,并且我想使用决策树算法。那么我现在应该计算什么?
    • 您不能使用决策树,除非您已经弄清楚文档的特征是什么,以及每个示例在特定特征上的得分有多高。这一步我不能帮你,因为每个问题在这方面都是独一无二的。选择不相关的特征,你会得到一个糟糕的决策树;无论您使用哪种算法构建决策树。
    • 那么你能告诉我还有什么算法对我分类文档有好处吗(但我想要其他算法而不是朴素贝叶斯或 knn)??
    猜你喜欢
    • 2015-02-18
    • 1970-01-01
    • 2012-05-28
    • 2011-01-18
    • 2021-07-13
    • 1970-01-01
    • 1970-01-01
    • 2019-07-01
    • 2018-07-07
    相关资源
    最近更新 更多