首页 > 其他分享 >决策树——泰坦尼克号

决策树——泰坦尼克号

时间:2024-03-23 09:05:21浏览次数:24  
标签:泰坦尼克号 特征值 predict 目标值 train estimator test 决策树

具体步骤:

1、导入相关扩展包

from sklearn.model_selection import train_test_split  # 划分数据集
from sklearn.feature_extraction import DictVectorizer  #字典特征值提取
from sklearn.tree import DecisionTreeClassifier  # 决策树
from sklearn.tree import export_graphviz  # 决策树可视化
import pandas as pd

2、获取数据

titanic=pd.read_csv("./train.csv")

3、筛选特征值和目标值

x=titanic[["Pclass","Age","Sex"]]        #特征值
y=titanic["Survived"]                   #目标值

特征值:

img

目标值:

img

4、转化为字典

x=x.to_dict(orient="records")

转化结果:

img

5、字典特征值抽取

transfer=DictVectorizer()
x_train=transfer.fit_transform(x_train)
x_test=transfer.transform(x_test)

6、决策树预估器(estimator)

estimator = DecisionTreeClassifier(criterion="entropy")  # criterion默认为'gini'系数,也可选择信息增益熵'entropy'
estimator.fit(x_train, y_train)  # 调用fit()方法进行训练,()内为训练集的特征值与目标值

7、模型评估

方法一:直接对比真实值和预测值

 y_predict = estimator.predict(x_test)  # 传入测试集特征值,预测所给测试集的目标值
 print("y_predict:\n", y_predict)
 print("直接对比真实值和预测值:\n", y_test == y_predict)

方法二:计算准确率

score = estimator.score(x_test, y_test)  # 传入测试集的特征值和目标值

8、决策树可视化

export_graphviz(estimator, out_file="titanic_tree.dot", feature_names=transfer.get_feature_names())

主要代码:

def titanic_demo():
    # 1.获取数据
    titanic=pd.read_csv("./train.csv")

    # 2.筛选特征值和目标值
    x=titanic[["Pclass","Age","Sex"]]        #特征值
    y=titanic["Survived"]                   #目标值
    # print(x.head())
    # print(y.head())

    # 3.数据处理(缺失值处理,特征值——>字典类型)
        #缺失值处理
    x["Age"].fillna(x["Age"].mean(),inplace=True)
    # print(x)
        #转换为字典
    x=x.to_dict(orient="records")
    # print(x)

    # 4.划分数据集
    x_train,x_test,y_train,y_test=train_test_split(x,y,random_state=22)

    # 5.字典特征抽取
    transfer=DictVectorizer()
    x_train=transfer.fit_transform(x_train)
    x_test=transfer.transform(x_test)

    # 6.决策树预估器(estimator)
    estimator = DecisionTreeClassifier(criterion="entropy")  # criterion默认为'gini'系数,也可选择信息增益熵'entropy'
    estimator.fit(x_train, y_train)  # 调用fit()方法进行训练,()内为训练集的特征值与目标值

    # 7.模型评估
    # 方法一:直接对比真实值和预测值
    y_predict = estimator.predict(x_test)  # 传入测试集特征值,预测所给测试集的目标值
    print("y_predict:\n", y_predict)
    print("直接对比真实值和预测值:\n", y_test == y_predict)

    # 方法二:计算准确率
    score = estimator.score(x_test, y_test)  # 传入测试集的特征值和目标值
    print("准确率为:\n", score)

    # 8.决策树可视化
    export_graphviz(estimator, out_file="titanic_tree.dot", feature_names=transfer.get_feature_names())


    return None

运行结果:

img
可视化结果(因图规模过大导致截图展示不完整):

img

标签:泰坦尼克号,特征值,predict,目标值,train,estimator,test,决策树
From: https://blog.csdn.net/qq_46137895/article/details/136958312

相关文章

  • R语言神经网络与决策树的银行顾客信用评估模型对比可视化研究
    全文链接:https://tecdat.cn/?p=35403原文出处:拓端数据部落公众号在数字化时代,顾客信用评估成为商业决策中的重要一环。无论是金融机构的信贷审批,还是电商平台的用户信用管理,都需要对顾客的信用状况进行准确评估。随着机器学习技术的不断发展,决策树和神经网络等算法在顾客信用评......
  • 决策树的学习及应用
    文章目录一、决策树是什么二、决策树的发展历史三、决策树的相关概念详解四、决策树的构建过程五、决策树的代码示例一、决策树是什么决策树是一种基本的分类与回归方法,它呈树形结构,用于表示基于特征对实例进行分类的过程。决策树可以被看作是if-then规则的集合,也......
  • 监督学习算法——决策树
    本篇承接上篇文章监督学习算法——线性模型决策树importsyssys.pathmglearn.plots.plot_animal_tree()1.构建决策树我们在下图所示的二位分类数据集上构造决策树。这个数据集由2个半月形组成,每个类别都包含50个数据点。我们将这个数据集称为two_moons。学习决策......
  • 机器学习——编程实现从零构造训练集的决策树
    自己搭建一棵决策树【长文预警】忙了一个周末就写到了“构建决策树”这一步,还没有考虑划分测试集、验证集、“缺失值、连续值”,预剪枝、后剪枝的部分,后面再补吧(挖坑)目录1、信息1)基本算法过程2)信息熵和信息增益的计算方式2、做点假设,简化运算3、拆解算法过程0)结点类1)同......
  • R语言CART决策树、随机森林、chaid树预测母婴电商平台用户寿命、流失可视化
    全文链接:http://tecdat.cn/?p=31644原文出处:拓端数据部落公众号借着二胎政策的开放与家庭消费升级的东风,母婴市场迎来了生机盎然的春天,尤其是母婴电商行业,近年来发展迅猛。用户获取和流失是一对相对概念,就好比一个水池,有进口,也有出口。我们不能只关心进口的进水速率,却忽略了出水......
  • R语言逻辑回归、决策树、随机森林、神经网络预测患者心脏病数据混淆矩阵可视化
    全文链接:https://tecdat.cn/?p=33760原文出处:拓端数据部落公众号概述:众所周知,心脏疾病是目前全球最主要的死因。开发一个能够预测患者心脏疾病存在的计算系统将显著降低死亡率并大幅降低医疗保健成本。机器学习在全球许多领域中被广泛应用,尤其在医疗行业中越来越受欢迎。机器......
  • R语言SVM、决策树与因子分析对城市空气质量分类与影响因素可视化研究
    全文链接:https://tecdat.cn/?p=35303原文出处:拓端数据部落公众号数据处理和分析在数据科学领域中扮演着至关重要的角色。确保数据的准确性和完整性是数据处理的首要任务。在本研究中,我们以空气质量数据为例,帮助客户进行了数据处理和分析。根据空气质量的指标(x1~x7),我们将30个城......
  • Python 机器学习 决策树 文本特征的处理
    ​Python机器学习中,决策树是一种常用的分类和回归模型。决策树可以处理数值型特征和类别型特征。对于文本特征,决策树通常使用词袋模型(BOW)或TF-IDF模型进行处理。在处理文本特征时,决策树(和机器学习算法通常)不能直接处理原始文本。文本必须首先转换成算法能理解的数值形式。......
  • R语言逻辑回归、决策树、随机森林、神经网络预测患者心脏病数据混淆矩阵可视化
    全文链接:https://tecdat.cn/?p=33760原文出处:拓端数据部落公众号概述:众所周知,心脏疾病是目前全球最主要的死因。开发一个能够预测患者心脏疾病存在的计算系统将显著降低死亡率并大幅降低医疗保健成本。机器学习在全球许多领域中被广泛应用,尤其在医疗行业中越来越受欢迎。机器......
  • Python 机器学习 决策树 数值型特征的处理
    ​ Python机器学习中,特征提取是将原始数据转换为能够被模型有效利用的格式的过程。对于决策树模型而言,特征提取尤其重要,因为好的特征可以显著提升模型的预测性能。在实际应用中,需要根据具体情况选择合适的特征提取方法。数值型特征是机器学习中常见的一种特征类型,它指的是可以......