请提前准备好python的数据分析相关库,例如pandas、numpy、sklearn等

1. 参加比赛:Titanic

1.1 在比赛页面下载数据

这里以“泰坦尼克号生存率预测”案例为例

train.csv为训练集,
test.csv为测试集,
gender_submission.csv为提交的样例,用于告诉你提交的格式

1.2 分析数据并训练分类器

# -*- coding: utf-8 -*-import pandas as pd #数据分析
import numpy as np #科学计算
from pandas import Series,DataFramedata_train = pd.read_csv("G:/Machine Learning/Kaggle/GettingStar/Titanic/train.csv")
data_trainfrom sklearn.ensemble import RandomForestRegressor### 使用 RandomForestClassifier 填补缺失的年龄属性
def set_missing_ages(df):# 把已有的数值型特征取出来丢进Random Forest Regressor中age_df = df[['Age','Fare', 'Parch', 'SibSp', 'Pclass']]# 乘客分成已知年龄和未知年龄两部分known_age = age_df[age_df.Age.notnull()].as_matrix()unknown_age = age_df[age_df.Age.isnull()].as_matrix()# y即目标年龄y = known_age[:, 0]# X即特征属性值X = known_age[:, 1:]# fit到RandomForestRegressor之中rfr = RandomForestRegressor(random_state=0, n_estimators=2000, n_jobs=-1)rfr.fit(X, y)# 用得到的模型进行未知年龄结果预测predictedAges = rfr.predict(unknown_age[:, 1::])# 用得到的预测结果填补原缺失数据df.loc[ (df.Age.isnull()), 'Age' ] = predictedAges return df, rfrdef set_Cabin_type(df):df.loc[ (df.Cabin.notnull()), 'Cabin' ] = "Yes"df.loc[ (df.Cabin.isnull()), 'Cabin' ] = "No"return dfdata_train, rfr = set_missing_ages(data_train)
data_train = set_Cabin_type(data_train)dummies_Cabin = pd.get_dummies(data_train['Cabin'], prefix= 'Cabin')dummies_Embarked = pd.get_dummies(data_train['Embarked'], prefix= 'Embarked')dummies_Sex = pd.get_dummies(data_train['Sex'], prefix= 'Sex')dummies_Pclass = pd.get_dummies(data_train['Pclass'], prefix= 'Pclass')df = pd.concat([data_train, dummies_Cabin, dummies_Embarked, dummies_Sex, dummies_Pclass], axis=1)
df.drop(['Pclass', 'Name', 'Sex', 'Ticket', 'Cabin', 'Embarked'], axis=1, inplace=True)import sklearn.preprocessing as preprocessing
scaler = preprocessing.StandardScaler()from sklearn import linear_model# 用正则取出我们要的属性值
train_df = df.filter(regex='Survived|Age_.*|SibSp|Parch|Fare_.*|Cabin_.*|Embarked_.*|Sex_.*|Pclass_.*')
train_np = train_df.as_matrix()# y即Survival结果
y = train_np[:, 0]# X即特征属性值
X = train_np[:, 1:]# fit到RandomForestRegressor之中
clf = linear_model.LogisticRegression(C=1.0, penalty='l1', tol=1e-6)
clf.fit(X, y)data_test = pd.read_csv("G:/Machine Learning/Kaggle/GettingStar/Titanic/test.csv")
data_test.loc[ (data_test.Fare.isnull()), 'Fare' ] = 0
# 接着我们对test_data做和train_data中一致的特征变换
# 首先用同样的RandomForestRegressor模型填上丢失的年龄
tmp_df = data_test[['Age','Fare', 'Parch', 'SibSp', 'Pclass']]
null_age = tmp_df[data_test.Age.isnull()].as_matrix()
# 根据特征属性X预测年龄并补上
X = null_age[:, 1:]
predictedAges = rfr.predict(X)
data_test.loc[ (data_test.Age.isnull()), 'Age' ] = predictedAgesdata_test = set_Cabin_type(data_test)
dummies_Cabin = pd.get_dummies(data_test['Cabin'], prefix= 'Cabin')
dummies_Embarked = pd.get_dummies(data_test['Embarked'], prefix= 'Embarked')
dummies_Sex = pd.get_dummies(data_test['Sex'], prefix= 'Sex')
dummies_Pclass = pd.get_dummies(data_test['Pclass'], prefix= 'Pclass')df_test = pd.concat([data_test, dummies_Cabin, dummies_Embarked, dummies_Sex, dummies_Pclass], axis=1)
df_test.drop(['Pclass', 'Name', 'Sex', 'Ticket', 'Cabin', 'Embarked'], axis=1, inplace=True)test = df_test.filter(regex='Age_.*|SibSp|Parch|Fare_.*|Cabin_.*|Embarked_.*|Sex_.*|Pclass_.*')
predictions = clf.predict(test)
result = pd.DataFrame({'PassengerId':data_test['PassengerId'].as_matrix(), 'Survived':predictions.astype(np.int32)})
result.to_csv("G:/Machine Learning/Kaggle/GettingStar/Titanic/logistic_regression_predictions.csv", index=False)

1.3 得到分类结果,根据比赛格式要求,输出

运行完上述代码后,会得到一个logistic_regression_predictions.csv,打开后如图

1.4 提交结果



2. 编码环境

2.1 使用自己的Jupyter Notebook

2.2 使用Kaggle网站上的Notebook

创建一个Kaggle笔记本(“Notebook”),在其中存储所有代码

(1)单击比赛页面上的笔记本(“Notebooks”)选项卡。然后,点击“新笔记本”(“New Notebook”)。

(2)点击“创建”(“Create”)。(不要更改默认设置:“Python”应该出现在“Select language”下面,而您应该在“Select type”下面选择了“Notebook”。)



这显示了比赛数据的存储位置,以便我们可以将文件加载到笔记本中,下一步我们会做的。

至此,你只需要不断的提升你的模型即可

参加Kaggle比赛的流程相关推荐

  1. 参加kaggle比赛

    我参加Kaggle比赛的体会 转载于:https://www.cnblogs.com/think90/p/5813786.html

  2. 第一次参加kaggle比赛的一些收获与心得,记录一下

    #摘要 虽然陆陆续续接触过深度学习的一些相关知识,但是从来没有系统地学习和总结过.加上之前研究的领域是SLAM(实时建图和定位),没有很好的机会直接应用深度学习技术,实践深度学习的机会也比较少.近段时 ...

  3. 【第一次参加kaggle比赛记录-Quora Insincere Questions Classification】- Word Embedding

    In summary, word embeddings are a representation of the *semantics* of a word, efficiently encoding ...

  4. Kaggle比赛系列:比赛流程和竞赛分类

    一.Kaggle比赛基本流程 1.Importing Libraries and Packages 2.Loading and Viewing Data Set 3.Dealing with NaN ...

  5. 竞赛老陪跑怎么办?来自一位Kaggle比赛失败者的含泪总结

    大数据文摘出品 来源:medium 编译:zeroInfinity.笪洁琼 Kaggle比赛应该是数据竞赛中公认含金量最高的那个.每场比赛,参加的队伍至少上千人,也并非每次都次都能脱引而出,一不小心就 ...

  6. Kaggle比赛心得

    正文共5453个字,5张图,预计阅读时间14分钟. 最近参加了两场Kaggle比赛,收获颇多,一直想写篇文章总结一下.接触Kaggle到现在不到一年,比赛成绩一个银牌(5%)一个铜牌(9%),勉强算入 ...

  7. 「杂谈」AI工业界都有哪些值得参加的比赛?

    https://www.toutiao.com/a6701681119881855499/ 从深度学习新手到有志于站到算法之颠的老鸟,都可以通过参加一些比赛来获取经验或者证明自己,今天聊聊AI图像领域 ...

  8. 【杂谈】AI工业界都有哪些值得参加的比赛?

    从深度学习新手到有志于站到算法之颠的老鸟,都可以通过参加一些比赛来获取经验或者证明自己,今天聊聊AI图像领域值得参加的一些比赛. 作者&编辑 | 汤兴旺&言有三 当我们谈到AI比赛时, ...

  9. 实战Kaggle比赛----预测房价(多层感知机)

    文章目录 实战Kaggle比赛----预测房价 下载和缓存数据集 Kaggle简介 访问和读取数据集 数据预处理 标准正态化.缺失值填充.离散值one-hot编码 小栗子帮助理解 训练 KKK折交叉验 ...

最新文章

  1. Ironic 的 Rescue 救援模式实现流程
  2. D3DXCOLOR 和 D3DCOLOR 和 D3DCOLORVALUE
  3. 大数的菲波那契计算/Huge Fibonacci Numbers - ACM
  4. 基于OpenResty的弹性网关实践(二)
  5. 【软件开发底层知识修炼】二十五 ABI之函数调用约定二之函数返回值为结构体时的约定
  6. 2017双11技术揭秘—TDDL/DRDS 的类 KV 查询优化实践
  7. A star 算法 (Python)
  8. python批量将文件夹下所有图片中一种颜色改变为随机颜色
  9. Android SQLite数据库 SQLiteOpenHelper的操作使用
  10. 未解决:运行EtherCalc出错:Error: Cannot find module 'zappajs'
  11. thinkphppaginate.php,thinkphp如何使用paginate及其参数示例使用
  12. 【c++】设计一个立方体类Box,它能计算并输出立方体的体积和表面积。
  13. Android实现访斗鱼视频播放
  14. [ 读书笔记 ] 1 -《 程序员修炼之道 - 通向务实的最高境界 (第2版)》
  15. C语言从键盘输入1605,山东理工大学ACM平台题答案关于C语言 1605 Balloon Comes!
  16. 移动互联网创业团队开发管理经验
  17. CSS中绝对定位导致页面混乱的原因以及解决办法
  18. 机器学习实战(七):Ensemble Learning and Random Forests
  19. 新装的mysql数据库默认密码是多少_数据库的设置及其初始密码
  20. 写给二线城市【Python工程师】的成长指南

热门文章

  1. 计算机键盘的简洁键,键盘上的功能键【简单电脑常识】
  2. Android Studio 基础 之 简单获取手机端所有图片
  3. mysql json php 直接使用_PHP面试题大全(值得收藏)
  4. 面试经验之:蚂蚁饿了么抖音美团等多家面试问题!简历优化等
  5. 陆奇演讲:2021不能错过的四大趋势
  6. python练习题:045:正常血压
  7. 史上最糟糕简历:长度超过一页 使用过多术语
  8. 【英语六级】【仔细阅读】(3)
  9. 如何跟进团队的沟通、协作和执行?这款团队协作软件你得试试
  10. ceph秘钥管理机制