这篇文章翻译自Titanic Data Science Solutions
这篇文章带我们浏览了对于解决Kaggle这样的数据科学竞赛的典型工作流程。
在Kaggle的Kernels里有很多优秀的notebook来学习实际的数据科学竞赛。然而多数将跳过一些对于答案的发展(产生)过程的解释,这些notebook是专家为专家提供的。(However many will skip some of the explanation on how the solution is developed as these notebooks are developed by experts for experts.)
这篇文章(notebook)遵循一步一步的工作流程,解释每一步和我们在产生解决方案是所做的每一个决定的根本依据。
The competition solution workflow goes through seven stages described in
竞赛解决流程如Data Science Solutions书中所描述的七个阶段。
工作流程揭示了每个阶段的一般流程,然而这里有一些例外的使用例子。
我们可能会结合多个工作流程阶段。我们可能通过可视化数据分析。
比上示流程更早的使用一个阶段(stage)。我们可能在清洗数据(wrangle)数据前后分析数据。
在工作流中多次使用同一个阶段。可视化阶段可能被多次使用
彻底放弃一个阶段。在竞赛中,我们可能不需要使我们的数据集提供阶段来产品化或者服务。
像Kaggle这样的竞赛网站定义解答的问题或询问的疑问,与此同时,提供训练数据科学模型的数据集和用于测试模型结果的测试数据集。对于泰坦尼克号生存竞赛的疑问或问题的定义在这里。
从训练集样本中乘客是否从泰坦尼克号灾难中存活下来,我们的模型可以基于不包含存活信息的给定测试集预测测试集中的乘客是否存活。
我们可能也想形成一些对于问题区域的早期理解。这被描述在Kaggle竞赛的description页面。这里是一些需要注意的地方。
1912年4月15号,在它首次航线时,泰坦尼克号撞上冰山后沉没,导致了2224名乘客和船员中有1502名丧生。即有32%的生存率。
海难导致那么多人身亡的原因之一就是那里没有提供给乘客和船员足够的救生艇。
虽然在沉船中幸存有一些运气的成分,但一些人群比另一些更有可能生存下来,比如说女人、孩子和上流社会。
数据科学的解决方案流程是为了解决七个主要目标。
分类。我们可能想对我们的样本进行分类或归类。我们可能也想理解不同类别对于我们解决目标的含义或关联。
关联。可以基于训练集的有效特征解决问题。哪个数据集特征对我们的解决目标贡献最大?从统计学角度是否表明一个特征和解决目标之间存在某种关联?特征值改变,最终结果是否也发生改变,是否反之也成立?对于给定的数据集中数值特征和类别特征,这个都可以被检测出来。我们或许也想确定与之后的目标和工作流程的存活之外的特征之间的关联。(We may also want to determine correlation among features other than survival for subsequent goals and workflow stages.)关联特定的特征可能帮助创建、填充或修正特征。
转换。为了训练模型,需要预处理数据。取决于模型算法的选择,可能模型需要所有的特征转换为等价的数值类型。例如,将文本类型转化为数值类型。
填充。数据预处理可能也需要我们估算一个特征的任何缺失值。也许没有缺失值时,模型算法才会发挥出最好的效果。
修正。我们也许也对给定训练集中特征中的错误或可能不准确的值进行分析,并且尝试去修正这些值或将包含这些错误的样本删除。如果一个特征不能帮助分析结果或者可能显著的使结果偏斜,我们可能也会完全丢弃它。
创建。我们可以基于一个存在的特征或者一系列特征创建新的特征,这样新的特征遵循(follow)相关、转换、完整的目标。
制图.。如何选择正确的可视化图表取决于数据的本质和解决的目标。
Kaggle-Titanic入门教程1
Kaggle-Titanic入门教程2
Kaggle-Titanic入门教程3