当前位置:   article > 正文

Kaggle入门——Titanic+随机森林(调参)+逻辑回归_titanic 调参

titanic 调参

本博客记录一下自己的Kaggle入门题目——Titanic。只弄了一天,特征工程做得比较草率,结果只有0.76+,不过主要是为了体验一下Kaggle竞赛的流程,以及熟悉一下Kaggle的使用。

1.题目相关

原题地址:https://www.kaggle.com/c/titanic/overview
数据:https://www.kaggle.com/c/titanic/data,数据的介绍页面上已经十分详尽,本博客就不赘述。
原题数据介绍中提到的特征工程处理我觉得挺好的(虽然我并没有完全采纳0-0),地址在这里:https://triangleinequality.wordpress.com/2013/09/08/basic-feature-engineering-with-the-titanic-data/
除此之外可以浏览一下kernels :https://www.kaggle.com/c/titanic/kernels,kernels是我认为Kaggle最亮眼的地方,可以在这里收到很多小tips的启发。
博主代码地址:https://github.com/AlannahYYL/titanic_mine

2.特征工程

正常情况下要先把数据可视化下看下每一列的和生还结果的相关性,已经进行数据分布分析。但是我大都省略了0-0,以下是我的特征处理:
首先合并train和test,方便获取一些列的统计信息。然后对数据进行初步观测,包括查看空值情况,方便后续填充。

train_csv = pd.read_csv(train_csv_path)
test_csv = pd.read_csv(test_csv_path)
#合并csv文件,进行数据清洗
total_csv = [train_csv,test_csv]
total_csv = pd.concat(total_csv)
total_csv.to_csv(total_csv_path,index=None)
#初步分析及填充
print(train_csv.info()) #打印摘要
print(train_csv.describe()) #打印描述性统计信息
print(train_csv.isnull().sum())#打印train空值数量
print(test_csv.isnull().sum())#打印test空值数量 Fare有1个空值
age_mode = float(total_csv['Age'].dropna().mode())#年龄众数 #24
embarked_mode = str(total_csv['Embarked'].dropna().mode())# 启航港 S
fare_mean = float(total_csv['Fare'].dropna().mean()) #旅客票价平均数 #33.29
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

接下来对要使用的特征进行处理:
Sex:

接下来对要使用的特征进行处理:
Sex:
def replace_Sex(x):
    if x=="male":
        return 0
    else:
        return 1
train_df['Sex'] = train_df['Sex'].apply(replace_Sex)
test_df['Sex'] = test_df['Sex'].apply(replace_Sex)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

Age:

def replace_Age(x):
    if x == 'NA':
        x= age_mode
    if 
  • 1
  • 2
  • 3
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/237078
推荐阅读
相关标签
  

闽ICP备14008679号