资源简介

这是kaggle泰坦尼克号准确率0.81的python数据分析超级详细的源代码 这是传说中的泰坦尼克机器学习比赛-对你来说最好的,第一次挑战,让你潜入机器学习比赛,熟悉Kaggle平台的工作原理。 竞争很简单:使用机器学习来创建一个模型,预测哪些乘客在泰坦尼克号沉船事故中幸存下来。

资源截图

代码片段和文件信息

# -*- coding:utf-8 -*-
“““
@ Created by PyCharm
@ file: version.py
@ author: Zhang Zhihao
@ email: 3382885270@qq.com
@ date: 2018/11/16 9:22
@ version: 1.0.0
“““
import re
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn
import seaborn
from sklearn.ensemble import RandomForestRegressor
from sklearn.preprocessing import MinMaxScaler
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.ensemble import RandomForestRegressor
from sklearn.pipeline import Pipelinemake_pipeline
from sklearn.ensemble import GradientBoostingClassifier RandomForestClassifier
from sklearn.feature_selection import SelectKBest

import warnings
“““
PassengerId => 乘客ID 
Pclass => 乘客等级(1/2/3等舱位) 
Name => 乘客姓名 
Sex => 性别 
Age => 年龄 
SibSp => 堂兄弟/妹个数 
Parch => 父母与小孩个数 
Ticket => 船票信息 
Fare => 票价 
Cabin => 客舱 
Embarked => 登船港口
“““



input_df = pd.read_csv ( ‘train.csv‘ header=0 )
submit_df = pd.read_csv ( ‘test.csv‘ header=0 )
# 合并他们
df = pd.concat ( [input_df submit_df] )
# 重建index
df.reset_index ( inplace=True )
# 删除reset_index()产生的index column
df.drop ( ‘index‘ axis=1 inplace=True )
# 查看train.csv中缺失的数据
print ( “查看train.csv中缺少数据:\n“ input_df.isnull ().sum () )
# Age            177
# Cabin          687
# Embarked         2
print ( “-“ * 40 )
# 查看test.csv中缺失的数据
print ( “查看test.csv中缺少数据:\n“ submit_df.isnull ().sum () )
# Age             86
# Fare             1
# Cabin          327
# 查看合并后缺失的数据
print ( “查看合并后缺失的数据:\n“ df.isnull ().sum () )
# 查看信息
print ( df.info () )
target_train = input_df[‘Survived‘]



# column:  12
# Age missing  263  type: float64
# Cabin missing  1014  type: object
# Embarked missing  2  type: object
# Fare missing  1  type: float64
# Name missing  0  type: object
# Parch missing  0  type: int64
# PassengerId missing  0  type: int64
# Pclass missing  0  type: int64
# Sex missing  0  type: object
# SibSp missing  0  type: int64
# Survived missing  418  type: float64
# Ticket missing  0  type: object


## 处理缺失值
# Cabin => 客舱
# Ticket => 船票信息
# PassengerId => 乘客ID
# 忽略它:
df = df.drop ( [‘Cabin‘ ‘Ticket‘ ‘PassengerId‘] axis=1 )

#  Age => 年龄
# # version1
# average_age= df[“Age“].mean()
# df[‘Age‘][df.Age.isnull()] = average_age
# # 可视化
# fig (axis1axis2) = plt.subplots(12figsize=(155))
# axis1.set_title(‘Original Age values‘)
# axis2.set_title(‘New Age values‘)
# df[‘Age‘].plot(kind=‘hist‘ bins=70 ax=axis1)
# df[‘Age‘].plot(kind=‘hist‘ bins=70 ax=axis2)
# plt.show()
# version2
# 试试随机选取平均值加减标准差范围的数来改进,使数据更接近真实情况。
average_age   = df[“Age“].mean()
std_age       = df[“Age“].std()
count_nan_age = df[“Age“].isnull().sum()
rand = np.random.randint(average_age - std_age average_age +
                         std_age size = count_nan_age)
df[‘Age‘][df.Age.isnull()] = rand
# # 可视化
# fig (axis1axis2) = plt.subplots(12figsize=(155))
# axis1.set_tit

评论

共有 条评论