Hi,大家好,这是我第一篇博客。
作为非专业程序小白,博客内容必然有不少错误之处,还望各位大神多多批评指正。
在开始正式内容想先介绍下自己和一些异想天开的想法。
我是一名研究生,研究的方向是蛋白质结构与功能方向。在研究过程中发现生物系统是如此复杂,犹如一张网,信息流动,彼此相连,于是对复杂系统产生了兴趣,越发感觉生命的本质就是信息啊。后来看了一部电影叫做《创战纪》,男主的父亲便是创造了一个数字世界,在这个数字世界里进化出了数字生命(我们漂亮可爱的女主),虽然只是科幻,还是让我感到非常的震撼。正如《异次元骇客》里所讲的在科技发展到一定程度之后是不是也可以创造出一个数字世界呢,而我们的世界会不会也是另一个意义上的数字世界呢,是由更高层的世界的人(GOD)创造的呢?因为我们可以清晰的发现这个世界是有层次的,又是自相似的。从最底层的物理学研究的弦,夸克,原子,力,场等世界基本元素到化学研究的各种分子,化学反应再到生物学研究的由各种生命小分子按特定信息构建的核酸,蛋白质,细胞,组织,器官,个体,最终是由个体构成的群体,以人为例,即社会及其衍生出来的经济体系,文化体系,政治体系等。所有的层次都是在上一个层次的基础上构建的,彼此相似但又都涌现出新的特性,这便是这个世界的复杂性。我心中坚信所有复杂的事物都是由简单的事物构成的,也坚信这个世界必有其最底层的元素与规则(就如同计算机里面的0和1以及布尔逻辑运算),经过无数次的迭代演化(时间真的是个很神奇的物理量),变成了如今这个复杂多变的世界。而现在的科学就是在各个层次上研究这些元素和规则,如果有一天能够找到最底层的元素与规则,也许可以重构另一个数字的世界。这算是我一个遥远的梦吧,估计是很难实现了,但如果有机会我还是会为之奋斗的。
哈哈,脑洞开完了,现在回归现实。为了更靠近一点我的梦想,我打算从现在最火的机器学习学起,于是报名了一些课程,了解了一些基本的机器学习知识。不过奈何数学基础太差,程序语言也没有学过,所以学起来还是有些吃力。后来老师推荐了kaggle 竞赛,里面有很多项目,对熟悉数据处理与学习各种算法帮助很大。便参加了kaggle 上最为经典的泰坦尼克号生存预测项目,期间自己探索了一些,也拜读了一些大神的作品,感觉收获蛮大。为了不至于忘掉,在此做个总结,并希望与大家交流探讨。
1.项目基本信息
项目的背景是大家都熟知的发生在1912年的泰坦尼克号沉船灾难,这次灾难导致2224名船员和乘客中有1502人遇难。而哪些人幸存那些人丧生并非完全随机。比如说你碰巧搭乘了这艘游轮,而你碰巧又是一名人见人爱,花见花开的一等舱小公主,那活下来的概率就很大了,但是如果不巧你只是一名三等舱的抠脚大汉,那只有自求多福了。也就是说在这生死攸关的情况下,生存与否与性别,年龄,阶层等因素是有关系的,如果把这些因素作为特征,生存的结果作为预测目标,就可以建立一个典型的二分类机器学习模型。在这个项目中提供了部分的乘客名单,包括各种维度的特征以及是否幸存的标签,存在train.csv文件中,这是我们训练需要的数据;另一个test.csv文件是我们需要预测的乘客名单,只有相应的特征。我们要做的工作就是通过对训练数据的特征与生存关系进行探索,构建合适的机器学习的模型,再用这个模型预测测试文件中乘客的幸存情况,并将结果保存提交给kaggle。
2.数据集初步探索
#首先导入需要的库
import numpy as np
import pandas as pd
from IPython.display import display
%matplotlib inline
import seaborn as sns
#导入并展示训练数据和测试数据
train=pd.read_csv('train.csv')
test=pd.read_csv('test.csv')
display(train.head(n=1),test.head(n=1))
output1:
PassengerId | Survived | Pclass | Name | Sex | Age | SibSp | Parch | Ticket | Fare | Cabin | Embarked | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 0 | 3 | Braund, Mr. Owen Harris | male | 22.0 | 1 | 0 | A/5 21171 | 7.25 | NaN | S |
PassengerId | Pclass | Name | Sex | Age | SibSp | Parch | Ticket | Fare | Cabin | Embarked | |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | 892 | 3 | Kelly, Mr. James | male | 34.5 |