Kaggle机器学习入门实战 -- Titanic乘客生还预测

简介:

如果你打算研究机器学习或是今后想从事数据科学相关的工作,Kaggle应该是一个绕不过去的名字。

Kaggle是2010年在旧金山创立的一个数据建模和数据分析竞赛平台,在很短的时间内就声名鹊起,去年被google收购,在业界具有很高的知名度和权威性,企业可以在上面发布数据和想要解决的问题,并进行“悬赏”,数据科学家和机器学习的爱好者们可以基于这个平台提交自己的模型和预测结果,平台会根据测试集对参赛者进行评分排名,排名最高几位可以分享奖金,更重要的是,kaggle为全世界数据分析及机器学习爱好者们提供了一个交流学习的平台,里面不乏机器学习的顶尖高手,各大公司也常年在kaggle上招募比赛名次好的团队和选手,良好的kaggle竞赛履历绝对是简历上的加分项,如果你参加过多次Featured(商业问题,有奖金)和Research(学术类)类型的比赛,并且多次进入TOP10%甚至TOP5%,那么你只用蹲在家里,猎头自会找上门。

Kaggle分为5个大的板块:

- Competitions(竞赛)

分为商业竞赛、学术类竞赛、入门级竞赛和一些由大公司如Google、Fackbook不定时举办的邀请赛。

- Datasets(数据集)

公司或个人贡献的各类型的数据集,搞机器学习最怕找不到数据,kaggle给大家获取数据练习提供了一些捷径。

- Kernels(数据分析及建模)

有点类似GitHub的代码管理,说直白点就是给用户提供了云上的数据分析和建模的环境,不过涉及到代码上传,我厂童鞋请慎用...

- Discussion(讨论区)

里面有全世界各地的数据科学、机器学习的专家和爱好者,针对题目、算法、建模等热烈的讨论,冥思苦想几天的问题看看大牛们的解题思路说不定就秒懂。

- Jobs(工作)

一些公司会直接在kaggle上放出数据挖掘、机器学习类的岗位,基本都是欧美的中小型公司。


一、Kaggle竞赛的一般步骤

下图是kaggle竞赛步骤的简单示意图,中间迭代的步骤也可以看做是一般机器学习建模及验证的步骤,需要特别注意的是,比赛结束以前,kaggle提供用来验证的测试数据集是Public数据集,提供给大家进行及时验证和反馈模型效果的,所以在Publlic Leaderboard上的排名和得分并不是最终结果,待比赛结束后,会用Private数据集进行最终的计分和排名,目的是防止模型过拟合,能真正在未知数据上取得好成绩的才是优秀的模型。


image.png

好了,说了这么多,不在Kaggle上刷刷榜,怎么好意思说自己在学习数据挖掘和机器学习呢:-),我们以Kaggle上最为知名的入门题目 Titanic: Machine Learning from Disaster(利用机器学习预测泰坦尼克乘客是否生还)为例,看看怎么玩Kaggle。

二、软件环境

sklearn + numpy + pandas + seaborn

我使用的是sklearn,很成熟的机器学习框架,最新版本也支持深度神经网络,当然数据处理和可视化还需要用到numpy,pandas,seaborn,当然你也可以使用tensorflow等其他框架,kaggle并不要求上传模型本身,只需要预测结果就可以了,强烈推荐大家使用python3.6的科学发行版Anaconda,这些库里面都有。


三、理解题目&下载数据

题目地址:https://www.kaggle.com/c/titanic
这是Kaggle上热度最高的题目,迄今为止参赛的队伍已经超过10000支,基本上所有参与Kaggle的人都会拿这个题目练手。所以题目虽简单,但取得好的名次也不容易。


目录
相关文章
|
20天前
|
机器学习/深度学习 数据采集 算法
深入了解机器学习:从入门到应用
【10月更文挑战第6天】深入了解机器学习:从入门到应用
|
3天前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
机器学习基础:使用Python和Scikit-learn入门
12 1
|
14天前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
【10月更文挑战第12天】本文介绍了如何使用Python和Scikit-learn进行机器学习的基础知识和入门实践。首先概述了机器学习的基本概念,包括监督学习、无监督学习和强化学习。接着详细讲解了Python和Scikit-learn的安装、数据处理、模型训练和评估等步骤,并提供了代码示例。通过本文,读者可以掌握机器学习的基本流程,并为深入学习打下坚实基础。
15 1
|
16天前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
本文介绍了如何使用Python和Scikit-learn进行机器学习的基础知识和实践。首先概述了机器学习的基本概念,包括监督学习、无监督学习和强化学习。接着详细讲解了Python和Scikit-learn的安装、数据处理、模型选择与训练、模型评估及交叉验证等关键步骤。通过本文,初学者可以快速上手并掌握机器学习的基本技能。
42 2
|
16天前
|
机器学习/深度学习 人工智能 算法
揭开深度学习与传统机器学习的神秘面纱:从理论差异到实战代码详解两者间的选择与应用策略全面解析
【10月更文挑战第10天】本文探讨了深度学习与传统机器学习的区别,通过图像识别和语音处理等领域的应用案例,展示了深度学习在自动特征学习和处理大规模数据方面的优势。文中还提供了一个Python代码示例,使用TensorFlow构建多层感知器(MLP)并与Scikit-learn中的逻辑回归模型进行对比,进一步说明了两者的不同特点。
47 2
|
16天前
|
机器学习/深度学习 数据挖掘 Serverless
手把手教你全面评估机器学习模型性能:从选择正确评价指标到使用Python与Scikit-learn进行实战演练的详细指南
【10月更文挑战第10天】评估机器学习模型性能是开发流程的关键,涉及准确性、可解释性、运行速度等多方面考量。不同任务(如分类、回归)采用不同评价指标,如准确率、F1分数、MSE等。示例代码展示了使用Scikit-learn库评估逻辑回归模型的过程,包括数据准备、模型训练、性能评估及交叉验证。
38 1
|
20天前
|
机器学习/深度学习 人工智能 数据挖掘
机器学习基础:使用Python和Scikit-learn入门
【10月更文挑战第6天】在人工智能领域,机器学习已成为核心技术。本文指导初学者使用Python与Scikit-learn入门机器学习,涵盖基本概念、环境搭建、数据处理、模型训练及评估等环节。Python因简洁性及其生态系统成为首选语言,而Scikit-learn则提供了丰富工具,简化数据挖掘与分析流程。通过实践示例,帮助读者快速掌握基础知识,为进一步深入研究奠定坚实基础。
21 4
|
26天前
|
机器学习/深度学习 算法 API
机器学习入门(六):分类模型评估方法
机器学习入门(六):分类模型评估方法
|
26天前
|
机器学习/深度学习 算法
机器学习入门(三):K近邻算法原理 | KNN算法原理
机器学习入门(三):K近邻算法原理 | KNN算法原理
|
26天前
|
机器学习/深度学习 算法 数据挖掘
机器学习入门(二):如何构建机器学习模型,机器学习的三要素,欠拟合,过拟合
机器学习入门(二):如何构建机器学习模型,机器学习的三要素,欠拟合,过拟合