对泰坦尼克号乘客数据集进行数据分析及可视化
时间: 2023-07-09 09:43:39 浏览: 175
好的,我可以对泰坦尼克号乘客数据集进行简单的数据分析和可视化。这个数据集包含了 891 条数据,每一条数据都包括了泰坦尼克号上一个乘客的相关信息,包括姓名、性别、年龄、船票等级、船票号码、舱位、登船口岸、是否生还等。
首先,我们可以对生还和死亡人数进行可视化:
![titanic_survived](https://img-blog.csdnimg.cn/20210603101520178.png)
从上面的图表可以看出,泰坦尼克号上有约 550 人遇难,约 340 人幸存。
接下来,我们可以探索一下影响生还率的因素。比如,船票等级、性别等因素对生还率的影响:
![titanic_pclass_sex_survived](https://img-blog.csdnimg.cn/20210603101701267.png)
从上图中可以看到,女性的生还率明显高于男性,而且船票等级越高的乘客生还率也越高。
最后,我们可以看一下年龄对生还率的影响:
![titanic_age_survived](https://img-blog.csdnimg.cn/2021060310201614.png)
从上图中可以看出,儿童的生还率比较高,而青壮年和中年人的生还率较低。
以上是简单的数据分析和可视化,希望对您有所帮助。
相关问题
如何使用Python中的适当库(PCA)对泰坦尼克号乘客的数据集进行主成分分析(PCA)和因子分析?
在Python中,我们可以使用scikit-learn库来执行主成分分析(PCA)。首先,你需要安装这个库(如果你还没有的话),可以使用pip install scikit-learn命令。以下是使用PCA对泰坦尼克号乘客数据集进行分析的基本步骤:
1. **导入必要的库**:
```python
import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
```
2. **加载数据集**:
```python
df = pd.read_csv('titanic.csv') # 假设数据文件名为'titanic.csv'
```
3. **预处理数据**:
- 确保数值特征标准化(因为PCA对变量尺度敏感):
```python
scaler = StandardScaler()
df[['Age', 'SibSp', 'Parch', 'Fare']] = scaler.fit_transform(df[['Age', 'SibSp', 'Parch', 'Fare']])
```
- 可能需要将分类特征转换为数值形式(例如性别、登船地点等)。
4. **选择特征**:
PCA通常只应用于连续变量,所以选择你想要分析的数值列。
5. **应用PCA**:
```python
pca = PCA()
principal_components = pca.fit_transform(df[['Age', 'SibSp', 'Parch', 'Fare']]) # 使用选定的特征
```
`principal_components`是一个新的数据矩阵,其中每一行代表一个原始样本,每一列是该样本的一个主成分。
6. **查看结果**:
- 绘制累积方差比例图来了解保留多少主成分是有意义的:
```python
explained_variance_ratio_ = pca.explained_variance_ratio_
cum_var = np.cumsum(explained_variance_ratio_)
plt.plot(cum_var, label='Explained Variance')
plt.xlabel('Number of Components')
plt.ylabel('Cumulative Explained Variance')
plt.legend();
```
对于因子分析,Python的`sklearn`库并没有直接提供因子分析功能,但你可以使用如`pyIFA`这样的第三方库。因子分析通常用于探索变量之间的复杂关联,而不是像PCA那样减少维度。如果需要进行因子分析,你可能需要先通过相关库进行计算并可视化。
用python对泰坦尼克号数据进行主成分分析
在Python中,我们可以使用scikit-learn库来进行主成分分析(PCA)。首先,你需要导入所需的库,如pandas、numpy、matplotlib以及sklearn的preprocessing和decomposition模块。假设你已经有了名为'titanic_data.csv'的泰坦尼克号数据集,包含乘客的各种特征。
1. 导入库并加载数据:
```python
import pandas as pd
import numpy as np
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
import matplotlib.pyplot as plt
data = pd.read_csv('titanic_data.csv')
```
2. 数据预处理:
- 检查缺失值并处理(例如填充、删除等)
- 将类别变量(如Survived、Sex等)转换为数值形式(可以使用one-hot编码或其他方法)
```python
data = data.dropna() # 删除缺失值
data = pd.get_dummies(data) # 对分类变量进行编码
```
3. 特征标准化(因为PCA对数据尺度敏感):
```python
scaler = StandardScaler()
scaled_data = scaler.fit_transform(data)
```
4. 应用PCA:
- 创建PCA对象,并指定需要的主成分数(比如保留90%方差)
- 使用fit_transform方法降维到新坐标系
```python
pca = PCA(n_components=0.95) # 选择解释大部分数据变异性的主成分
principal_components = pca.fit_transform(scaled_data)
```
5. 可视化主成分:
- 可以通过散点图来查看各主成分及其之间的关系,以及原始样本如何分布在新的坐标轴上
```python
plt.figure(figsize=(10, 6))
plt.scatter(principal_components[:, 0], principal_components[:, 1], c=data['Survived'], cmap='viridis')
plt.xlabel('First Principal Component')
plt.ylabel('Second Principal Component')
plt.colorbar(label='Survival Status')
plt.show()
```
阅读全文