技能训练

(1)逻辑回归(Logistic Regression)大数据算法操作实践。 ① 作业目的。 旨在让学生了解逻辑回归作为一种广义的线性回归分析模型的含义,理解机器学习中的监督学习的内涵;引导学生解决实际问题时的参数设置及多方案的对比,尤其是解决二分类问题(实际上也可解决多分类问题);启发学生如何看待逻辑回归的推导过程与计算方式类似于回归的过程,但实际上主要是用来解决二分类问题的思考;体会各算法其中的异同点,从而加深对 Orange 平台中逻辑回归对分类功能的实现。 ② 作业准备。 Orange3 软件下载并安装。 源数据已转换为 Excel 文件,文件名为 banking-orange.xlsx。 下面将属性说明列示如下: age (numeric) 年龄 job : type of job (categorical: “admin”,“blue-collar”,“entrepreneur”,“housemaid”,“management”, “retired”,“self-employed”,“services”,“student ”,“technician”,“unemployed”,“unknown”)工作类型 marital : marital status (categorical: “divorced”,“married”,“single”,“unknown”) 婚姻状况 education (categorical: “basic.4y”,“basic.6y”,“basic.9y”,“high.school”,“illiterate”, “professional.course”,“university.degree”,“unknown”)教育状况 default: has credit in default? (categorical: “no”,“yes”,“unknown”)是否有信用卡 housing: has housing loan? (categorical: “no”,“yes”,“unknown”)是否有房贷 loan: has personal loan? (categorical: “no”,“yes”,“unknown”)是否有个人贷款 contact: contact communication type (categorical: “cellular”,“telephone”) 联系方式:手机,座机 month: last contact month of year (categorical: “jan”,“feb”,“mar”,…,“nov”,“dec”)最后一次联系的月份:目录类型 day_of_week: last contact day of the week (categorical: “mon”,“tue”,“wed”,“thu”,“fri”)最后一次联系的周记天:目录类型 duration: last contact duration,in seconds (numeric). -电话时长(秒,数字型) -Important note: this attribute highly affects the output target (e.g.,if duration=0 then y=’no’). The duration is not known before a call is performed,also,after the end of the call,y is obviously known. Thus,this input should only be included for benchmark purposes and should be discarded if the intention is to have a realistic predictive model. campaign: number of contacts performed during this campaign and for this client (numeric,includes ast contact)本次活动的联系次数 pdays: number of days that passed by after the client was last contacted from a previous campaign (numeric; 999 means client was not previously contacted)从上次活动最后一次联系到本次活动的天数(数字型,999 意味着上次活动没联系) previous: number of contacts performed before this campaign and for this client (numeric)在本次活动之前的联系次数 poutcome: outcome of the previous marketing campaign (categorical: “failure”,“nonexistent”,“success”)上次市场促销活动的成效(目录类型:失败,无下文,成功) emp.var.rate: employment variation rate—(numeric)就业变动率 cons.price.idx: consumer price index—(numeric) 消费价格指数 cons.conf.idx: consumer confidence index—(numeric) 消费信心指数 euribor3m: euribor 3 month rate—(numeric)3 月同业拆借利率 nr.employed: number of employees—(numeric)员工数量
a. 数据源分析。 该数据集来自 UCI 机器学习库,它与葡萄牙银行机构的直接营销活动(电话)有关。分类目标是预测客户是否将购买定期存款。 b. 作用分析。 由于逻辑回归模型预测 P Y( 1)  是 X 的函数(X 是单变量函数),所以从众多的变量中选择对 P Y( 1 or 0)  敏感性强的具备优良性状的变量是正确应用逻辑回归模型的第一步。 该方法一般在 Python 编程环境中实现。 可视化——了解各特征变量与 Y(目标变量)之间的关系,通过各条形图方式做基本判断,各类图示可见 banking-orange.xlsxToolbar Image如工作状况与 Y 之间的关系,如图 2-6-20 所示。

图 2-6-20 工作状况与 Y 之间的关系

其中,Y=1 在各职业类别中所占的比例如图 2-6-21 所示。

图 2-6-21 Y=1 在各职业类别中所占的比例
从图中可以看出,不同工作状态对 Y=1 的接受程度起伏变动大,由此可以基本判断职称可以是结果变量的良好预测因子。 Y=1 在各婚姻类别中所占的比例如图 2-6-22 所示。

2-6-22 Y=1 在各婚姻类别中所占的比例
从图中可以看出,不同婚姻状态对 Y=1 的接受程度起伏变动不大,或许可以基本判断婚姻状况不是结果变量的良好预测因子。 c. 特征选择。 递归特征消除(Recursive Feature Elimination,RFE)基于以下思想:首先,在初始特征集上训练估计器,并且通过 coef_属性或通过 feature_importances_属性获得每个特征的重要性。 然后,从当前的一组特征中删除最不重要的特征。在修剪的集合上递归地重复该过程,直到最终到达所需数量的要选择的特征,如图 2-6-23 所示。

图 2-6-23 递归特征消除
图中大多数变量的 p 值小于 0.05,因此,大多数变量对模型都很重要。 ③ 作业内容。 作业包括三个部分: ● 数据整理及转换; ● Orange 平台上机操作; ● 撰写分析报告。 a. 数据整理与转换。 ● 在 Excel 中打开 txt 文件。 要求:创建训练集及测试集两个 Excel 数据集,文件名自定。 ● 预处理数据。 要求:加标题表头,通过筛选批量删除含有“?”字符的记录。 b. Orange 平台上机操作。 总要求是对三种算法,即逻辑回归、支持向量机和朴素贝叶斯分别建立学习器,并比较各学习器的优劣。工作流完整,逻辑清晰并报告产出合理。关键内容如下: ● 三种算法的学习器; ● 训练集及测试集部署合理; ● 调整惩罚项及参数设置,调优学习器; ● 数据集在线端配属正确,不报错; ● 调用可视化模块,对支持向量进行展示。



c. 撰写数据分析报告。