我的泰坦尼克数据分析

直接上代码

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import scipy.stats as stats

plt.style.use("ggplot")

df = pd.read_csv("Titanic.csv")
df.shape
df.info()
df.head()

df.keys()

df['Survived'].value_counts()

在这里插入图片描述


###################################
'''
pandas可以使用crosstab 直接返回一个table对象,并且直接使用scipy的函数,计算出卡方值。
'''

pd.crosstab(df['Sex'], df['Survived'])

pd.crosstab(df['Pclass'], df['Survived'])

在这里插入图片描述

stats.chi2_contingency([[80, 136], [97, 87], [372, 119]])

table = pd.crosstab(df['Pclass'], df['Survived'])
table

在这里插入图片描述

stats.chi2_contingency(table)

在这里插入图片描述


'''
尝试使用pivot—table
'''

'''
pivot_table会默认使用index 作为分行,对所有的变量进行分行统计
'''
# df.pivot_table(index=df['Sex'])

# 只统计存活

df.pivot_table(index=df['Sex'])['Survived']
df.pivot_table(index=df['Sex'],aggfunc=sum)['Survived']

df.pivot_table(index=df['Sex'], aggfunc=np.mean)['Survived']
df.pivot_table(index=df['Sex'], aggfunc=np.sum)['Survived']

df.pivot_table(index=['Sex', 'Pclass'])['Survived']

在这里插入图片描述

'''
使用groupby
'''

df.groupby(df['Sex'])['Survived'].value_counts()

#使用 unstack 可以实现和 crosstab 同样的效果
df.groupby(df['Sex'])['Survived'].value_counts().unstack()

df.groupby([df['Sex'], df['Pclass']])['Survived'].value_counts().unstack()

在这里插入图片描述


########################
######## 开始作图
########################

sns.countplot(x='Sex', hue='Survived', data=df)

在这里插入图片描述

sns.countplot(x='Pclass', hue='Survived', data=df)

在这里插入图片描述

df['Survived'].value_counts(sort=True).plot(kind="pie", labels=['dead', 'survived'], autopct='%1.2f%%')

在这里插入图片描述

df.groupby(df['Sex'])['Survived'].value_counts().plot.bar()

在这里插入图片描述


####使用crosstab的对象作图
pd.crosstab(df['Sex'], df['Survived']).plot(kind='bar')

在这里插入图片描述

##################################
############# 最简单的做堆积条形图的方法,就是使用table对象,
##################################
table
table.plot(kind = 'bar')

在这里插入图片描述

table = pd.crosstab(index=df['Sex'], columns=df['Survived'])
table

table.plot(kind = 'bar')

table.plot(kind='bar', stacked = True)

在这里插入图片描述

###################################
############## 使用sns作图
###################################
sns.countplot(x='Sex', hue='Survived', data=df)

sns.countplot(x='Pclass', hue='Survived', data=df)

#如果想使用多个分类, 就需要使用catplot

在这里插入图片描述


##############年龄作图

df['Age'].plot(kind='kde')
df[df['Survived']==0]['Age'].plot(kind='kde')
df[df['Survived']==1]['Age'].plot(kind='kde')

在这里插入图片描述

sns.kdeplot(data=df['Age'])

sns.kdeplot(data= df[df['Survived']== 0]['Age'], shade=True   )
sns.kdeplot(data= df[df['Survived']== 1]['Age'], shade=True  )

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
泰坦尼克号数据是一个常用的数据集,被用来进行分析和建模。KNIME是一款数据分析工具,可以用来处理和分析泰坦尼克号数据集。 使用KNIME进行泰坦尼克数据分析的第一步是导入数据集。可以通过KNIME的数据导入节点来加载CSV文件,然后进行数据预处理。预处理包括数据清洗、缺失值处理和特征工程。 在数据清洗阶段,我们可以使用KNIME的数据处理节点来处理不符合规范的数据,例如删除重复行、删除不必要的列、清洗异常值等。在缺失值处理中,可以使用KNIME的节点填充缺失值,例如使用均值、中位数或众数进行填充。 接下来是特征工程的阶段,这是一个重要的步骤,用于提取出对分类结果有影响的特征。可以使用KNIME的特征选择节点来选择最重要的特征,还可以使用节点进行特征缩放和编码。 在数据准备工作完成后,可以使用KNIME的模型训练节点来训练分类模型。可以选择常见的分类算法,如决策树、逻辑回归、支持向量机等。通过交叉验证和网格搜索来优化模型参数。 在模型训练完成后,可以使用KNIME的模型评估节点来评估模型的性能。可以计算准确率、精确率、召回率等指标,还可以绘制学习曲线和混淆矩阵来进行模型评估。 最后,可以使用KNIME的模型部署节点将训练好的模型应用到新数据上。可以使用KNIME的数据导出节点将结果保存为CSV文件或数据库。 总之,通过使用KNIME进行泰坦尼克数据分析,我们可以完成从数据导入到模型评估的整个流程。KNIME提供了丰富的数据处理和分析工具,能够帮助我们更好地理解和利用泰坦尼克号数据集。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值