sklearn中决策树算法实例--泰坦尼克号人员生存预测

news2024/11/25 0:22:34

目录

数据集

题目

算法步骤


数据集

下载地址

titanic.csv · Yuyi Ye/ML-Decision-Tree - 码云 - 开源中国 (gitee.com)

题目

根据数据集中的数据,预测哪些乘客可以从泰坦尼克号沉船事故中幸免。

算法步骤

import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.feature_extraction import DictVectorizer
from sklearn.tree import DecisionTreeClassifier

1、数据预览

import pandas as pd
titan=pd.read_csv("data/titanic.csv")#获取数据
titan//展示数据

数据集中的数据如下所示:

2、数据处理

根据对数据的分析,可用的特征集/属性集为:pclass,age,sex

目标值/类别为survived中的数据

据此,将标签进行划分:

x=titan[["pclass","age","sex"]]
y=titan["survived"]

缺失值填充

x['age'].fillna(value=titan["age"].mean(),inplace=True)

数据集划分

划分为测试集和训练集

xtrain,xtest,ytrain,ytest=train_test_split(x,y,random_state=20,test_size=0.5)

3、提取特征

首先,将训练集和测试集中的数据转为字典格式

xtrain=xtrain.to_dict(orient='records')
xtest=xtest.to_dict(orient='records')

数据格式形如

字典特征提取

#字典特征提取
transfer=DictVectorizer()
xtrain=transfer.fit_transform(xtrain)#返回一个稀疏矩阵
xtest=transfer.fit_transform(xtest)

4、决策树

#决策树
yuce=DecisionTreeClassifier()
yuce.fit(xtrain,ytrain)
ypre=yuce.predict(xtest)
ypre

结果

5、结果评价

#结果评价
scores=yuce.score(xtest,ytest)
scores

6、可视化

from sklearn.tree import export_graphviz
export_graphviz(yuce,out_file="data/tree.dot",feature_names=['age','pclass=1st','pclass=2st','pclass=3st','female','male'])

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1604874.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AI预测福彩3D第39弹【2024年4月18日预测--第8套算法开始计算第7次测试】

今天咱们继续测试第8套算法和模型,今天是第7次测试,目前的测试只是为了记录和验证,为后续的模型修改和参数调整做铺垫,所以暂时不建议大家盲目跟买~废话不多说了,直接上结果! 2024年4月18日3D的七码预测结果…

win7录屏功能在哪里?这篇文章告诉你答案

Windows 7作为微软公司推出的一款经典操作系统,虽然目前已经逐渐退出主流市场,但依然有许多用户对其情有独钟。在日常使用中,录屏功能是一个非常重要的工具,可以帮助我们记录下电脑屏幕上的操作过程,便于分享、教学或制…

从小到大输出四个整数(C语言)

一、N-S流程图&#xff1b; 二、运行结果&#xff1b; 三、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>int main() {//初始化变量值&#xff1b;int a, b, c, d;int t 0;//提示用户&#xff1b;printf("请输入四个整数a b c d&…

jenkins 部署 vue 项目

jenkins 部署 vue 项目 环境 系统&#xff1a;CentOS7.9 Jenkins&#xff1a;最新LTS版本 nginx: 1.24.x gitLab: 打包机&#xff1a;jenkins所在服务器 目标机器&#xff1a;nginx所在服务器 jenkins部署配置 关键脚本 #node -v #已经安装node_module就无需执行install安…

cesium 解决带高度的polygon 材质不能透明的问题

问题描述&#xff1a;创建一个带高度的polygon&#xff0c;用一个带透明度的图片做材质&#xff0c;画出来的多边形没有透明效果&#xff0c;图片的透明通道没有用上。 一、创建不带高度polygon 不带高度的polygon&#xff0c;使用带透明度的图片是有效果的&#xff0c;但是不…

2010年认证杯SPSSPRO杯数学建模A题(第一阶段)聪明的汽车全过程文档及程序

2010年认证杯SPSSPRO杯数学建模 A题 聪明的汽车 原题再现&#xff1a; 在狭窄的空间里把车停放在合适的位置&#xff0c;或在短小的停车位上侧位停车&#xff0c;一直是考验驾驶员技术与信心的问题。有调查报告称&#xff1a;57% 的驾驶员对自己的停车技术缺乏自信&#xff0…

【C++核心】面向对象的三大特性

面向对象的三大特性 一、封装性1. 封装性的意义1.1 表现事物1.2 权限控制1.3 成员属性设置为私有 2. 封装性的衍生知识2.1 struct和class区别2.2 友元2.2.1 全局函数做友元2.2.2 类做友元2.2.3 成员函数做友元 二、继承性1. 继承的语法2. 继承方式3. 继承中的对象模型3.1 说明3…

良友:献上今天(打开心窗说亮话)- 情绪的秘密

目录 一 二 三 四 五 六 七 八 九 十 十一 十二 十三

python中的列表、元组、字典、集合(集合篇)

数据类型定义符号访问元素是否可变是否重复是否有序列表 [ ]索引可变可重复有序元组&#xff08;&#xff09;索引不可变可重复有序字典{key&#xff1a;value}键可变可重复无序集合{ }可变不可重复无序 基本概念 python语言中的集合是无序的、可变的容器类对象&#xff0c;所…

名称和命名空间

&#x1f4d5;作者简介&#xff1a; 过去日记&#xff0c;致力于Java、GoLang,Rust等多种编程语言&#xff0c;热爱技术&#xff0c;喜欢游戏的博主。 &#x1f4d8;相关专栏Rust初阶教程、go语言基础系列、spring教程等&#xff0c;大家有兴趣的可以看一看 &#x1f4d9;Jav…

【微信小程序从入门到精通(项目实战)】——微电影小程序

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;开发者-曼亿点 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 曼亿点 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a…

java的JDK动态代理

JDK动态代理是指&#xff1a;代理类实例在程序运行时&#xff0c;由JVM根据反射机制动态的生成。也就是说代理类不是用户自己定义的&#xff0c;而是由JVM生成的。 由于其原理是通过Java反射机制实现的&#xff0c;所以在学习前&#xff0c;要对反射机制有一定的了解。传送门&…

网络安全的守护者:防火墙的五个主要功能解析

防火墙是一种网络安全设备&#xff0c;用于保护计算机网络免受未经授权的访问、攻击和恶意软件的侵害。它通过监控、过滤和控制网络流量&#xff0c;实施安全策略&#xff0c;防止不安全的数据包进入或离开受保护的网络。 防火墙的五个主要功能&#xff1a; 1. 访问控制&#…

CleanMyMac破解版官方试用补丁器下载2024最新

CleanMyMac是一款由MacPaw公司研发的Mac清理工具。以下是对CleanMyMac的详细介绍&#xff1a; 一、主要功能 一键智能清理&#xff1a;CleanMyMac能智能扫描Mac磁盘空间中的垃圾文件&#xff0c;这包括但不限于识别重复文件、无用语言安装包、iTunes垃圾、重复照片、邮件附件…

15V转5V3A降压同步WT6019

15V转5V3A降压同步WT6019 WT6019则是一种高效的同步降压转换器。它可以将15V的输入电压稳定转换为5V的输出电压&#xff0c;并保证最大3A的电流输出。这种转换器的核心在于其内部的功率MOSFET&#xff0c;它能够以较低的导通电阻和快速的开关速度&#xff0c;实现高效率的能量…

ETLCloud中多并行分支运行的设计技巧

在大数据处理领域&#xff0c;ETL&#xff08;Extract, Transform, Load&#xff09;流程是至关重要的一环&#xff0c;它涉及数据的提取、转换和加载&#xff0c;以确保数据的质量和可用性。而在ETL流程中&#xff0c;多并行分支的运行设计是一项关键技巧&#xff0c;可以有效…

Facebook隐私保护:用户数据安全的关键挑战

在数字化时代&#xff0c;数据已成为最宝贵的资源之一。社交媒体平台如Facebook为用户提供了便捷的交流和信息分享工具&#xff0c;但同时也面临着如何保护用户数据安全和隐私的挑战。本文将深入探讨Facebook在数据安全方面面临的关键挑战&#xff0c;以及其如何应对这些挑战&a…

电商数据接口开发|淘宝商品接口|天猫商品接口|京东商品接口|拼多多商品接口|API接口申请指南

电商数据接口开发涉及到多个电商平台&#xff0c;包括淘宝、天猫、京东和拼多多等。这些平台都提供了丰富的API接口&#xff0c;以便开发者能够获取商品信息、订单数据等&#xff0c;从而构建出各种电商应用和服务。 1.请求方式&#xff1a;HTTP POST GET &#xff08;复制薇&…

一套java+ spring boot与 vue+ mysql技术开发的UWB高精度工厂人员定位全套系统源码有应用案例

一套java spring boot vue mysql技术开发的UWB高精度工厂人员定位全套系统源码有应用案例 UWB (ULTRA WIDE BAND, UWB) 技术是一种无线载波通讯技术&#xff0c;它不采用正弦载波&#xff0c;而是利用纳秒级的非正弦波窄脉冲传输数据&#xff0c;因此其所占的频谱范围很宽。一套…

Git学习与码云实战

Git学习与码云实战 Git安装 概述&#xff1a; Git 是一个开源的分布式版本控制系统&#xff0c;可以有效、高速的处理从很小到非常大的项目版本管理&#xff0c;是目前使用范围最广的版本管理工具。 下载安装&#xff1a; 下载地址&#xff1a;https://git-scm.com/ 下载后傻瓜…