Python实现决策树1(系列文章)--从最简单的算法开始

从泰坦尼克号开始到决策树,千里之行始于coding。

1 初衷

初衷一:一直以来从网上各路大神的分享中受益匪浅,总也想有点feedback。
初衷二:很早就想好好写一写决策树(曾经用SAS写过ID3,但是总觉得那不算是一个很好的完成状态)。

2 文章的内容

这一系列的文章大约分成四部分:
第一部分:介绍Kaggle上的一个例子,是基于泰坦尼克号生还/死亡数据做的决策树模型。个人觉得这个例子还是不错的,认同里面说的一些理念;当然最大的好处是提供了样本数据,并且做出了一些结果,可以和自己写的结果进行印证。

第二部分:决策树的基本概念,以及我实现决策树的过程。比较有趣的是,我一直更喜欢函数式编程,但是在写决策树的过程中,突然发现对象式编程的写法还是比较方便的。

第三部分:按流程把过程中用到的大约20几个函数的实现都逐一的说明。

第四部分:如何使用自建的决策树进行应用,比较结果。(之后会使用决策树继续做深度树)

3 从泰坦尼克号开始(Kaggle)

Introduction to Decision Trees (Titanic dataset)
利用泰坦尼克号数据的决策树建模
先给出Kaggle(简称K)给出的决策数据结果,整体上说,决策树模型的结果还是比较容易懂的,里面具体的内容我下次再细说吧。

泰坦尼克号事故的背景可以通过电影有比较好的了解,简单来说以下模型的任务是预测乘客的生存率(survived or not)。需要的画可以把电影再看一次。

变量解释
sibsp: The dataset defines family relations in this way…
Sibling = brother, sister, stepbrother, stepsister
Spouse = husband, wife (mistresses and fiancés were ignored)
parch: The dataset defines family relations in this way…
Parent = mother, father
Child = daughter, son, stepdaughter, stepson
Some children travelled only with a nanny, therefore parch=0 for them.

发布了3 篇原创文章 · 获赞 0 · 访问量 44

猜你喜欢

转载自blog.csdn.net/yukai08008/article/details/104637469