决策树实例及原理

本文介绍了决策树的应用实例——泰坦尼克号预测生死,并深入探讨了决策树的原理,包括其显著的优缺点,如易于理解和解释、数据准备需求少等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、实例

泰坦尼克号预测生死

import pandas as pd
from sklearn.tree import DecisionTreeClassifier #决策树分类器。
from sklearn.feature_extraction import DictVectorizer # 将特征值映射列表转换为向量
from sklearn.model_selection import train_test_split # 将数据集拆分成训练集和测试集


def decision():
    """
    决策树对泰坦尼克号进行预测生死
    :return:
    """
    # 读取数据
    titan = pd.read_excel(r"http://biostat.mc.vanderbilt.edu/wiki/pub/Main/DataSets/titanic3.xls")
    # 处理数据,找到特征值和目标值(目标值为是否存活,特征值为对是否存活有关联的值)
    x = titan[["pclass", "age", "sex"]]

    y = titan["survived"]

    # 处理缺失值
    x["age"].fillna(x["age"].mean(), inplace=True)

    # 分割数据集到训练集和测试集 train_test_split()
    x_train, x_test, y_train, y_test = train_test_split(
    x, y, test_size = 0.25)

    # print(x_train.to_dict(orient = "records"))

    # 进行处理 (特征工程)特征-》类别-》one_hot编码
    dict = DictVectorizer(sparse=False)

    x_train = dict.fit_transform(x_train.to_dict(orient = "records"))
    print(dict.get_feature_names())
    # print(x_train)
    x_test = dict.transform(x_test.to_dict(orient = "records"))

    # 用决策树进行预测
    dec = DecisionTreeClassifier(criterion="gini", max_depth = 5)
    dec.fit(x_train , y_train)

    # 预测准确率
    print(dec.score(x_test, y_test))


if __name__ == "__main__":
    decision()

二、原理

2.1 优缺点

  • 优点
    • 简答的理解和解释,数目可视化
    • 需要很少的数据准备,其它技术通常需要数据归一化
  • 缺点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值