这门课程得主要目的是通过真实的数据,以实战的方式了解数据分析的流程和熟悉数据分析python的基本操作。知道了课程的目的之后,我们接下来我们要正式的开始数据分析的实战教学,完成kaggle上泰坦尼克的任务,实战数据分析全流程。 这里有两份资料需要大家准备: z图书《Python for Data Analysis》第六章和 baidu.com & google.com(善用搜索引擎) 本次学习由开源学习组织Datawhale发起
数据建模的方式
本次数据的建模用到的是python在深度学习中常用的sklearn库进行模型的搭建。 sklearn拥有可以用于监督和无监督学习的方法,一般来说监督学习使用的更多。sklearn中的大部分函数可以归为估计器(Estimator)和转化器(Transformer)两类。 【思考】
什么情况下切割数据集的时候不用进行随机选取?
回答:在数据的数据量达到一定程度大时,其本身已经具有足够的随机性时,或是在此前已经对数据进行了随机化处理。
数据建模
创建基于树的分类模型(决策树、随机森林)
在参与本次组队学习前,我就曾在《python 深度学习》与《机器学习》(西瓜书)书中初步学过关于决策树的概念,而随机森林更是在机器学习中十分重要的算法构建基础。 决策树在分类上具有很高的可读性,而在本次学习里,将所给的数据进行分裂成不同子集,将数据进行分类,在后续给出对应标签的预测结果。在训练模型和得到数据的结果时,将所得出的结果与我们先前对标签的预测结果进行对比,进而调节模型的参数,让其保持在一个输出最优结果的状态。 【思考】
为什么线性模型可以进行分类任务,背后是怎么的数学关系 对于多分类问题,线性模型是怎么进行分类的
回答:线性模型能根据数据对应的值进行对应,一个数据的不同值在多个线性模型分析下所处的位置则为其分类的终点,若其被分在模型上某一类的范围内,就认为此数据属于这个类别,从而完成分类。 对于多分类的问题,可以利用逻辑回归训练多个分类器,把其中一个当做一类,其他的作为一类输入样本,在每个分类器得出属于的类,在m个结果中统计得票最多的类(或者几率最高的类),作为最终的结果,适用于分类不多的情况。
模型评估
在模型评估里,我们用到的是python中非常常用的一种模型处理的简单方法,但是又非常有效,就是k折交叉验证法。在处理验证集和数据集包含的样本太少,时而无法获得在统计学上代表的数据的情况下,使用k折交叉验证法可以有效解决。关于k折交叉验证法的详细介绍可以去看《Python 深度学习》一书的第四章机器学习模型评估部分。 需要注意的是,k折的数量是否合理与模型的评估结果关系重大
小结
在本次学习的最后一节里,我结合之前参与过的深度学习的内容加以理解,对其进行自己的思考,第一次实践了不同的验证方法。在23日之后的学习里,我会再进行西瓜书与《Python深度学习》这两本书的学习一起来重新的对数据分析,这一门课程加以更深的理解。
|