时间:2017-05-07 19:30~22:00
地点:822实验室
参加人数:8人
主持人:刘开心
收获:解决机器学习问题的流程;后续学习点汇总;边讲述边总结的技能
内容
决策树预测泰坦尼克生存者
主讲人:刘开心
活动流程
项目简介
我简单说一下这个项目,它会有这个训练集,是叫训练集吗?或者说数据的来源,是根据……就是泰坦尼克号沉船以后掉到了水里,他们各自的……有,有一些年龄啊,他们在上船的年龄、船票呀之类的,很多的信息,然后把这个人最后做统计,这个人……这个,泰坦尼克号沉了之后有没有活下来。我们的任务就是通过之前的类似于年龄啊还有船票啊这些乱七八糟的信息去预测这个人到底能不能……就是,通过已有的东西去预测这个人能不能被 被 被 就是他能不能活下来,假设以后再来个人有这些信息的话,能不能预测再有一艘泰坦尼克预测他能不能活下来。
——摘自ArtistQiu现场描述
都说口语不论说者还是听者都只有上下两句话的逻辑,看起来好像是对的😂,因为我们都听懂了,当时也没有觉得有什么问题,当写成文字的时候就感觉好逗😂Anyway,mark一下,看看大家之后口语表达会不会更清晰明了。
项目回顾
步骤
- 加载数据——pandas读取csv
- 将数据分为特征变量和目标变量——一般来讲用DataFrame的drop函数将csv文件的目标变量拷贝出来,然后drop掉,其余作为特征变量。
- 确立模型评价指标——本次使用accuracy。
- 拟合数据训练模型,找模型最优参数
- 预测
- 预测全死——正确率61.62%.
- 预测船上女性乘客全部存活,而剩下的人全部遇难——正确率78.68%.
- 预测所有女性以及小于10岁的男性都存活——正确率79.35%.
- 自行添加条件,让正确率尽可能高,几位同学的正确率有80.92%、81.+%、82.94%、83.+%。
手工决策树
sklearn决策树(正确率93.+%)
惊喜汇总
1、accuracy计算
(truth == pred).mean()*100
为什么用平均值呢,因为truth==pred可以得到一个[0,0,0,1,1,1]的序列,它们的正确率就等平均数。
2、Jacob惊喜
(1)找出数据中小众的部分
(2)跳出题目所给的限定
(3)记录解题过程,分享惊喜的点
(4)记录疑问
3、DataFrame使用注意index对应,否则无法比较
4、我们自己在不断的人工尝试中摸索出了决策树算法的实现
5、威武学长惊喜:通过交叉熵找每一步最优节点
后续学习点
- 总结Python切片
- 交叉熵
- one-hot
- KNN预测Titanic
- 权重矩阵预测Titanic
- AdaBoost预测Titanic
- 总结DataFrame
- sklearn文档
- 基尼系数
智慧锦囊
1、碰到瓶颈暂停,一件事太繁琐,一定有简便方法,比如人工尝试节点太困难,可以想到一定有库能直接调用,切忌一直磨刀。
2、记录学习过程。
3、碰到问题多尝试。
4、细心、认真。
5、上台讲话不怯场。
6、讲述人学会凝练话语、增加话语的趣味性,把自己想表述的东西用听者想听的话表述出来。
7、听者学会不打断发言,从感觉“无用”的谈话中找到有用的部分。
我们的822,我们的青春
欢迎所有热爱知识热爱生活的朋友和822实验室一起成长,吃喝玩乐,享受知识。