北京什么白癜风医院好 https://jbk.39.net/yiyuanzaixian/bjzkbdfyy/※本文为指南者留学学员原创,转载请联系授权学员背景W同学本科背景南京理工大学通信工程GPA81.2背提项目指南者留学机器学习项目实战汇丰银行外币理财用户购买意愿预测
01
契机背景
我是一名大四的本科生,在大三升大四的暑假参加了指南者留学的机器学习背景提升项目,主要内容是汇丰银行外币理财用户购买意愿预测。首先,我想谈一谈为什么选择指南者的背景提升项目。在大学前三年的学习中,作为电子信息类专业的学生,除了需要接触大量的与电子学科相关理论,编程能力也是很重要的一部分,谁能够将器件的理论知识与编程代码相结合,谁就能在短时间内实现器件功能的设计,并且相较于一些传统的电子设计软件,通过编程设计出来的器件能够更好的实现功能的多样性和创新性。譬如在一个传统芯片的设计中,可能添加一个功能就需要在版图上进行全部芯线的重新连接和绘制,但在数字化的芯片设计中只需要添加或修改其中的一部分代码。其次,是为了个人能力的进一步提升。在本科的学习过程中,我从未接触过python这类语言,也未参与过机器学习相关的课程,但python无疑是当下最热门的计算机语言之一,“大数据分析+机器学习”的模式也无疑是当下最热门的项目之一。我希望能通过我的个人能力,对某类数据集实现从无到有、从复杂到简单的分析过程,能够从单一的数字中挖掘出有用的信息。这对我来说是一个全新的项目和挑战,而指南者的背提项目恰好给予了我这一机会。最后一条是为了弥补自己在留学申请时科研项目上的空缺。在大学阶段我虽然完成了不少实验和课程设计,但所接触的科研经历总体较少,而在院校申请时科研项目经历又是很被看重的一方面,因此这一机会成为了我背景提升的“救命稻草”。
02
项目过程及收获
主要的项目过程是首先通过老师的课程学习相关的基础知识,譬如科研项目的一般流程、机器学习的项目简介、Numpy库、Matplotlib库、Pandas库、数据清洗的一般方法、回归模型、分类模型、评价指标等。每一次课程都会对应着相关的作业(主要是对老师给的题目进行编程并写一份简单的报告),之后老师会集中几次作业的情况对我的作业进行单独讲解,这个过程大约持续了3~4周。这些作业内容帮助我很好地理解了课程的相关内容,并进一步加深了对python编程的理解。完成了上述课程的学习之后就进入了具体的项目实战。我的项目内容主要是结合汇丰银行以往的用户购买外汇理财产品的数据以及用户本身的信息(如住房情况、信贷状况、家庭背景、工作信息等)来进行有效特征的筛选,也就是从其中挑选出对购买理财产品影响因子较大的因素放入最终的模型,而无关的因素则可以删去,并且通过用户自身信息与过往金融行为来搭建购买意愿预测系统,提高最终预测模型的效率。首先需要在数据预处理中进行了缺失值填补、独热编码等步骤,并进行了朴素的过采样处理保证数据集的平衡性。在数据处理的第一步我就碰到了问题,但我的指导老师梅老师一直对我的每次问题进行了详细的解答,为我省去了很多不必要的麻烦。在进行模型搭建之前先对数据进行一定的清洗,毕竟在以后面对实际的数据集时,不可能得到一个完完整整的数据库,因此数据清洗是必要的,以某数据集为例统计可得到该数据集共有行损失,64列损失。查看每列数据的缺失值比例,其中部分结果如下:从中可以看出,该数据集中有大量的缺失值,出于下一步模型的需要因此不能进行简单的删除,对此我使用Imputer进行了缺失值填补等数据预处理步骤。同时,在该数据集中有几个特征是无序的分类特征。为了处理这一问题,我进行了独热编码等步骤,即为每一个无序分类特征的每一个可能的类别创建一个“虚拟”变量。经过以上处理之后数据集就显得有序了许多,于是就开始进行下面的步骤。在特征抽取步骤中,我使用了GBDT和PCA的方法进行,两种方法各有优点和缺点,我都进行了尝试并对相应的结果进行了对比。在本项目中的PCA降维中,可以绘制出n_