作者:北有鸣鹿
个人辛苦之作,请勿随意转载,必追究责任。如需转载,请联系我
#https://www.kaggle.com/c/titanic
#本次建模的模型的最高准确率0.9665,AUC为0.9666
#1.导入数据集
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
train = pd.read_csv("all/train.csv", header=0)
test = pd.read_csv("all/test.csv")
#2.查看数据集整体信息
#查看变量缺失值信息
train.info()
test.info()
#显示前行具体信息观察数据
train.head()
test.head()
#变量名称及意义等
#Variable Definition Key
#Survived 生存 0 = 否, 1 = 是
#Pclass 票务类 1 = 1, 2 = 2, 3 = 3
#Name 姓名
#Sex 性
#Age 年龄 (年)
#SibSp 泰坦尼克号上的兄弟姐妹/配偶人数
#Parch 泰坦尼克号上的父母/孩子人数
#Ticket 票号
#Fare 乘客票价
#Cabin 客舱编号
#Embarked 登港 c = 瑟堡, q = 皇后镇, s = 南安普敦
#统计信息描述
train.describe()
test.describe()
#查看变量类型
train.dtypes
test.dtypes
#查看缺失信息
train.isnull().sum()
test.isnull().sum()
#查看目标变量的0,1比例,看是否为不平衡数据
count_train = pd.value_counts(train['Survived'], sort=True).sort_index()
count_train.value_counts()
count_train.plot(kind='bar')
plt.show()
#3.处理个字段信息
#(1)删除不需要的字段
train = train.drop(['PassengerId','Name','Ticket'], axis=1)
test = test.drop(['PassengerId','Name','Ticket'], axis=1)
#(2)处理Sex(性别)字段,女0,男1
train['Sex'] = train['Sex'].map({'female':0, 'male':1}).astype(int)
test['Sex'] = test['Sex'].map({'female':0, 'male':1}).astype(int)
#(3)处理Age字段
train['Age'].describe()
train['Age'].isnull().sum()
#直方图
train['Age'].dropna().hist(bins=16,range=(0,80),alpha=.5)
plt.sho