import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
#Load and Display dataset
data = pd.read_csv('/content/Titanic-Dataset.csv')
data.head()
#Histogram
plt.figure(figsize=(8, 5))
plt.hist(data['Age'].dropna(), bins=20)
plt.xlabel('Age')
plt.ylabel('Frequency')
plt.title('Age Distribution')
plt.show()
#Bar Chart
data['Pclass'].value_counts().sort_index().plot(kind='bar')
plt.xlabel('Passenger Class')
plt.ylabel('Number of Passengers')
plt.title('Passengers by Class')
plt.show()
#Pie Chart
data['Survived'].value_counts().plot( kind='pie',
autopct='%1.1f%%',
labels=['Not Survived', 'Survived']
)
plt.title('Survival Distribution')
plt.ylabel('')
plt.show()
#Boxplot
sns.boxplot(x='Pclass',
y='Fare', data=data)
plt.title('Fare by Passenger Class')
plt.show()
#Scatterplot
sns.scatterplot(x='Age',
y='Fare', data=data)
plt.xlabel('Age')
plt.ylabel('Fare')
plt.title('Age vs Fare')
plt.show()
#Countplot
sns.countplot(x='Pclass', hue='Survived', data=data)
plt.xlabel('Passenger Class')
plt.ylabel('Count')
plt.title('Survival by Passenger Class')
plt.show()
#Heatmap
correlation_matrix = data.corr(numeric_only=True)
plt.figure(figsize=(10, 7))
sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm')
plt.title('Correlation Heatmap')
plt.show()
#PCA
pca_data = data[['Age', 'SibSp', 'Parch', 'Fare']].dropna()
scaler = StandardScaler()
scaled_data = scaler.fit_transform(pca_data)
pca = PCA(n_components=2)
principal_components = pca.fit_transform(scaled_data)
pca_df = pd.DataFrame( principal_components, columns=['PC1', 'PC2'] )
plt.figure(figsize=(8, 5))
sns.scatterplot(x='PC1',
y='PC2', data=pca_df)
plt.title('PCA of Titanic Numerical Variables')
plt.show()
