做3d办公家具教程的网站,怎么在百度知道做公司网站,网站建设金手指排名稳定,管理系统登录#x1f338;博主主页#xff1a;釉色清风#x1f338;文章专栏#xff1a;机器学习实战#x1f338;今日语录#xff1a;不要一直责怪过去的自己#xff0c;她曾经站在雾里也很迷茫。 #x1f33c;实战项目简介
本次项目是kaggle上的一个入门比赛 #xff1a;Titani… 博主主页釉色清风文章专栏机器学习实战今日语录不要一直责怪过去的自己她曾经站在雾里也很迷茫。 实战项目简介
本次项目是kaggle上的一个入门比赛 Titanic——Machine Learning from Disaster(泰坦尼克号——灾难中的机器学习)比赛选择了泰坦尼克号作为背景并提供了样本数据以及测试数据要求我们使用机器学习创建一个模型预测哪些乘客在泰坦尼克号沉船中幸存下来。
数据文件说明
泰坦尼克号项目页面Titanic——Machine Learning from Disaster
可下载的Data页面 可下载包括三个文件
train.csv训练数据test.csv测试数据gender_submission.csv 提交结果案例
数据变量说明
下载好文件可知每个乘客有12个属性。
Passengerld 乘客唯一识别IDSurvived是否存活0为否1为是Pclass 客舱等级分为1、2、3等级与英国的阶级分层有关Name姓名Sex性别Age年龄SibSp泰坦尼克号上的兄弟姐妹/配偶数量(与该乘客一起旅行的)Parch泰坦尼克号上的父母/孩子数量(与该乘客一起旅行的)Ticket船票号Fare船票价格Cabin客舱编号Embarked上船的港口编号(SSouthampton,英国南安普顿[启航点]CCherbourg,法国瑟堡市[途径点]QQuenstown,爱尔兰昆市[途径点])
数据预处理
数据的质量直接决定模型预测的结果。所以在进行训练模型之前我们必须要进行数据清洗。 接下来我们使用Jupyter Notebook来进行接下来的数据描述和预处理。
读入数据
首先我们导入pandas库它是python中进行数据分析和处理的一个库。然后我们读入我们的训练数据集。
导入数据 打印数据的前几行 默认是打印前五行如下
做简单的统计分析 统计特性如下 统计有
count: 这一列的数量(只要不是缺失值就被统计)mean:平均值std : 方差min最小值25%下四分位数50%中位数75%上四分位数max: 最大值
通过大致的浏览我们可以看到Age列含有缺失值。
对[Age]列缺失值进行填充
一般对于缺失值的填充用到均值、中位数等。在这里我们采用均值对Age列的缺失值进行填充。在填充缺失值这里我们用到了fillna函数。
fillna函数
fillna是一个用于填充缺失值的函数它是pandas库中的一个方法。fillna函数的基本语法如下DataFrame.fillna(valueNone, methodNone, axisNone, inplaceFalse, limitNone, downcastNone)
对[Age]列的缺失值采用均值填充法填充 填充完之后我们再次describe。 如下图
将字符型转化为数值型数据 我们知道计算机是可以处理数字的但是无法处理字符。为了方便统计我们将性别[Sex]和上船港口编号[Embarked]这两列列进行处理。
对[Age]列进行替换 我们在这里用到DataFrame的loc属性
在Python中loc是一个用于数据框(DataFrame)的属性它用于选择满足特定条件的行。loc可以通过标签或布尔数组来选择行。常见的用法有 使用标签选择行 df.loc[label] 2.使用布尔数组选择行 df.loc[bool_array] 3.使用标签和列选择行和列 df.loc[start_label:end_label, start_column:end_column]
这里我们则采用3进行替换
对[Embarked]列进行替换 替换 然后我们进行统计新描述发现中的数量889存在从缺失值。 这时我们对三个登船地点进行统计计数。发现0是最多的即在S处登船的人最多。 所以对于缺失值我们将用0进行填充。