Python利用随机森林对泰坦尼克号乘客生还进行预测实战(超详细 附源码)

简介: Python利用随机森林对泰坦尼克号乘客生还进行预测实战(超详细 附源码)

需要源码和数据集请点赞关注收藏后评论区留言私信~~~

在本案例中,利用随机森林对泰坦尼克号乘客生还进行预测,并对预测模型进行指标测算与模型评价。

一、数据集准备与处理

本案例采用泰坦尼克号乘客数据集进行分析与挖掘,首先导入事先保存好的数据文件,也可以在以下网址下载

数据集下载地址

导入数据并显示前五条数据

查看数据的基本情况

输出结果显示了该数据集有1313条数据,并显示了各个属性的数据类型及非空值的个数

查看数据缺失值信息

可以明显看出 属性room ticket等中缺失值较多

特征选取。根据对该事件的了解,选取sex,age和pclass三个决定幸免与否的关键因素

对年龄字段进行空缺值填充

可以看出 待分析的数据中不再有缺失数据

查看pclass和生还数据survived的数据取值分布

针对性别 绘制年龄字段的箱线图

划分训练集和测试集  并将数据中的类别型特征进行编码

二、模型构建与性能评估

接下来构建随机森林模型 然后对分类器进行评估

可以看出 精度大概在百分之七十八左右 包括其他几种评估指标等等

三、代码

部分代码如下 需要全部源码请点赞关注收藏后评论区留言私信

import pandas as pd
import numpy as np
titanic=pd.read_csv('titanic.txt')
# titanic=pd.read_csv('http://biostat.mc.vanderbilt.edu/wiki/pub/Main/DataSets/titanic.txt')
titanic.head()
titanic.info()
titanic.i[['pclass', 'age', 'sex']]
y = titanic['survived']
X.info()
X['age'].fillna(X['age'].mean(), inplace=True)
X.info()
print(X['pclass'].value_counts())
print(y.value_counts())
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state = 33)
from sklearn.feature_extraction import DictVectorizer
vec = DictVectorizer(sparse=False)
X_train = vec.fit_transform(X_train.to_dict(orient='record'))
print(vec.ftransform(X_test.to_dict(orient='record'))
from sklearn.ensemble import RandomForestClassifier
rfc=RandomForestClassifier()
rfc.fit(X_train,y_train)
rfc_y_pred=rfc.predict(X_test)
from sklearn.metrics import classification_report
print('The accuracy of random forest:',rfc.score(X_test,y_test))
print(classification_report(rfc_y_pred,y_test))

创作不易 觉得有帮助请点赞关注收藏~~~

相关文章
|
4天前
|
数据采集 机器学习/深度学习 人工智能
Python编程入门:从基础到实战
【10月更文挑战第36天】本文将带你走进Python的世界,从基础语法出发,逐步深入到实际项目应用。我们将一起探索Python的简洁与强大,通过实例学习如何运用Python解决问题。无论你是编程新手还是希望扩展技能的老手,这篇文章都将为你提供有价值的指导和灵感。让我们一起开启Python编程之旅,用代码书写想法,创造可能。
|
5天前
|
机器学习/深度学习 数据可视化 数据处理
Python数据科学:从基础到实战
Python数据科学:从基础到实战
11 1
|
1天前
|
数据采集 存储 数据处理
探索Python中的异步编程:从基础到实战
【10月更文挑战第39天】在编程世界中,时间就是效率的代名词。Python的异步编程特性,如同给程序穿上了一双翅膀,让它们在执行任务时飞得更高、更快。本文将带你领略Python异步编程的魅力,从理解其背后的原理到掌握实际应用的技巧,我们不仅会讨论理论基础,还会通过实际代码示例,展示如何利用这些知识来提升你的程序性能。准备好让你的Python代码“起飞”了吗?让我们开始这场异步编程的旅程!
|
5天前
|
并行计算 数据挖掘 大数据
Python数据分析实战:利用Pandas处理大数据集
Python数据分析实战:利用Pandas处理大数据集
|
Linux C语言 开发者
源码安装Python学会有用还能装逼 | 解决各种坑
相信朋友们都看过这个零基础学习Python的开篇了
447 0
源码安装Python学会有用还能装逼 | 解决各种坑
|
1天前
|
存储 Python
Python编程入门:打造你的第一个程序
【10月更文挑战第39天】在数字时代的浪潮中,掌握编程技能如同掌握了一门新时代的语言。本文将引导你步入Python编程的奇妙世界,从零基础出发,一步步构建你的第一个程序。我们将探索编程的基本概念,通过简单示例理解变量、数据类型和控制结构,最终实现一个简单的猜数字游戏。这不仅是一段代码的旅程,更是逻辑思维和问题解决能力的锻炼之旅。准备好了吗?让我们开始吧!
|
1天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
3天前
|
设计模式 算法 搜索推荐
Python编程中的设计模式:优雅解决复杂问题的钥匙####
本文将探讨Python编程中几种核心设计模式的应用实例与优势,不涉及具体代码示例,而是聚焦于每种模式背后的设计理念、适用场景及其如何促进代码的可维护性和扩展性。通过理解这些设计模式,开发者可以更加高效地构建软件系统,实现代码复用,提升项目质量。 ####