AI-统计学习(8)-决策树模型-python-实例源码

决策树是种可视化的模型,可做分类也可做回归。

概念内容详看前章,本文讲如何python 实现。

回顾一下

比如我知道一组人的信息:年龄、是否有工作、是否有房贷…这叫特征值,现在再来一些人,这时我想能否贷款给他。我该怎么做呢,就可以用决策树模型实现。左边是数据,右边是树。当然这棵树没有把全部的特征向量放进去只是示意了一下。

 

    

         图1


程序过程:

  1.输入训练集

  2.转换成tree训练

  3.输入新样本实例,预测输出

 

树类:

  1.初始化

  2.计算经验熵

  3.计算条件熵

  4.计算信息增益

  5.计算信息增益比

  6.选择特征分类

  7.递归构造决策树

  8.剪枝

节点类:


  1.输入训练集

 features=["age","work","house","credit"]
    X_train=pd.DataFrame()
    y_train = pd.DataFrame()
    # 数据预处理
    le_x=preprocessing.LabelEncoder()
    le_x.fit(np.unique(X_train))
    X_train=X_train.apply(le_x.transform)
    print(X_train)
    le_y=preprocessing.LabelEncoder()
    le_y.fit(np.unique(y_train))
    y_train=y_train.apply(le_y.transform)

  2.转换成tree训练

 clf=DecisionTreeClassifier()
 clf.fit(X_train,y_train)

  3.输入新样本实例,预测输出

 X_new=pd.DataFrame([["青年", "否", "是", "一般"]])
    X=X_new.apply(le_x.transform)
    y_predict=clf.predict(X)
    # 结果输出
    X_show=[{features[i]:X_new.values[0][i]} for i in range(len(features))]
 
posted @ 2019-11-10 15:33  jasmineTang  阅读(200)  评论(0)    收藏  举报