决策树

1 认识决策树
    如何高效的进行决策?
    特征的先后顺序(哪个特征先看,哪个特征后看)
2 决策树分类原理详解(看哪个特征能筛掉更多的数据,尽可能通过少的决策,达到目的)
    已知 四个特征值 预测 是否贷款给某个人
    先看房子,再工作 -> 是否贷款 只看了两个特征
    年龄,信贷情况,工作 看了三个特征
信息论基础
    1)信息
        香农:消除随机不定性的东西
        小明 年龄 “我今年18岁” - 信息
        小华 ”小明明年19岁” - 不是信息
    2)信息的衡量 - 信息量 - 信息熵
        单位:bit
        计算公式:g(D,A) = H(D) - 条件熵H(D|A)
    4 决策树的划分依据之一------信息增益
3 决策树可视化
4 决策树总结
    优点:可视化 - 可解释能力强
    缺点:容易产生过拟合
5 案例:泰坦尼克号乘客生存预测
    流程分析:
        特征值 目标值
        1)获取数据
        2)数据处理
            缺失值处理
            特征值 -> 字典类型
        3)准备好特征值 目标值
        4)划分数据集
        5)特征工程:字典特征抽取
        6)决策树预估器流程
        7)模型评估

 

代码:

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier, export_graphviz

def decision_iris():
    """
    用决策树对鸢尾花进行分类
    :return:
    """
    # 1)获取数据集
    iris = load_iris()

    # 2)划分数据集
    x_train, x_test, y_train, y_test = train_test_split(iris.data, iris.target, random_state=22)

    # 3)决策树预估器
    estimator = DecisionTreeClassifier(criterion="entropy")
    estimator.fit(x_train, y_train)

    # 4)模型评估
    # 方法1:直接比对真实值和预测值
    y_predict = estimator.predict(x_test)
    print("y_predict:\n", y_predict)
    print("直接比对真实值和预测值:\n", y_test == y_predict)

    # 方法2:计算准确率
    score = estimator.score(x_test, y_test)
    print("准确率为:\n", score)

    # 可视化决策树
    export_graphviz(estimator, out_file="iris_tree.dot", feature_names=iris.feature_names)

    return None

if __name__ == "__main__":
    decision_iris()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值