楼主: PLMKI
1305 2

[学习分享] 用R做数据分析及挖掘提升职场竞争力 [推广有奖]

  • 0关注
  • 11粉丝

教授

41%

还不是VIP/贵宾

-

威望
1
论坛币
-615 个
通用积分
106.2228
学术水平
23 点
热心指数
33 点
信用等级
20 点
经验
25386 点
帖子
569
精华
0
在线时间
826 小时
注册时间
2017-5-3
最后登录
2024-4-18

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
用R做数据分析及挖掘提升职场竞争力
02.png
一、开课时间
时间:2017年12月11日-2018年1月1日(十五天)

二、课程定价
费用:600元/天 (赠送录制视频)

学习方式

1、上课方式:同步现场直播学习+录播学习+在线答疑 +1万次反复观看

2、课程时间:上午9:00-12:00;下午1:30-4:30;答疑4:30-5:00

3、直播课程,开课即学

4、在线反复观看,1万次反复观看


四、报名福利(优惠)

1、现场班老学员可以享受9折优惠;

2、同一机构3人以上报名,9折优惠;

3、同一机构6人以上报名,8折优惠;

4、赠送R语言课程视频;

5、专业老师在线答疑;

6、精致课程练习题供学员课后操作更易于学员理解与掌握所受知识,提高实战能力;

7、报名成功后发送老师课程讲义供学员提前预习;

8、提供就业培训、就业指导、就业面试题;

9、免费参加CDA数据分析研究院俱乐部活动。

10、赠送经管之家(原人大经济论坛)论坛币1000

(前三项优惠不叠加)


五、讲师介绍

CDA数据分析讲师杨磊磊老师

       博宇通达大数据部数据分析师,首都经济贸易大学应用统计专业大数据方向硕士,智慧交通大数据项目,电力大数据项目


CDA数据分析讲师熊巍老师   

       统计学专业博士,加州大学伯克利分校统计学院高级访问学者,对外经济贸易大学大数据与风险管理中心成员、中国人民大学应用统计研究中心成员、具有丰富的统计学及数学教学经验,人大经济论坛讲师,研究方向为数据挖掘、机器学习、稳健高维降维、应用统计模型等,在国外SCI及国内核心外期刊上发表论文二十余篇并参与完成多项著作。

       目前致力于大数据、超高维数据在交叉学科的前沿领域研究,主持并参与了包括国家自然科学基金项目在内的多项国家级课题及北京市自然科学基金、社会哲学规划项目等重大省部级课题,其中在研的有自己主持的教育部人文科学项目“基因与环境的交互效应对复杂疾病的影响及稳健地识别分析与应用”、以及参与的“大数据的统计学基础理论与分析技术创新研究”、“大数据下Leverage重要性抽样的稳健改进”等大数据项目。在学校承担多项课程,精通各种软件,正在编写《实用数据挖掘讲义》及《商务应用统计案例》。


CDA数据分析讲师傅毅老师

       上海师范大学商学院,副教授,同济大学数学系博士,研究领域:金融数学,曾担任咨询公司数据分析顾问,互联网金融公司风控模型顾问


CDA数据分析讲师白云芬老师

       毕业与上海交通大学理学院,获得博士学位,主要研究领域包括概率论、数理统计、经济最优化、风险管理及衍生品定价等方面,有着多年的授课经验,发表了SCI及核心期刊论文多篇,多次指导学生参加全国数学建模竞赛并获得国家级奖及省级奖。


CDA数据分析讲师郭照蕊老师

       上海师范大学商学院副教授,硕士生导师。2013年7月毕业于上海财经大学,获管理学(会计学)博士学位;同年进入上海师范大学商学院任教。

       2013年9月-2015年9月期间,在上海交通大学上海郭照蕊,高级金融学院从事金融工程博士后研究工作。在攻读博士之前,曾在广东海洋大学经济管理学院任教。

       近几年,先后在包括《管理世界》、《审计研究》、《Review of Pacific Basin Financial Markets and Policies》等在内的各类国内外学术期刊上发表论文十余篇,多篇论文被人大复印资料全文转载。

       2012年6月,获得2011年度潘序伦中青年会计、审计优秀论文奖;

       2013年1月,获得教育部首批研究生国家奖学金;

       2014年12月,获首届金融管理年会论文一等奖;

       2015年9月,获中国博士后制度建立30周年纪念活动暨全国博士后学术论坛优秀论文奖(两篇);

       2016年1月,获第二十二届中振科研基金优秀科研成果奖。


六、课程简介

       R语言是一种自由软件编程语言与操作环境,主要用于统计分析、绘图、数据挖掘。在高校以及统计分析领域非常受欢迎。

       R编程基础主要了解R语言的基本概念以及基本编程语句,编程基础主要侧重R包的管理,R的数据结构以及R基本的函数和语句和R可视化,R统计主要有R语言的统计应用(统计推断、线性回归、主成分分析),学员利用几个公司的实际例子来更好的理解R的统计应用。

       R数据挖掘基础理论与具体操作为主要内容,讲述数据挖掘的各主要步骤、算法和应用,并通过对实际案例的分析,帮助学生更加深入地理解常用的数据挖掘模型。本课程的要求学生能够使用R语言数据挖掘平台,通过对学生在获取数据、清理数据、分析数据和知识发现等不同环节的训练,帮助学生掌握在应用场景下独立使用数据挖掘理论与方法解决现实问题的能力。《R语言与数据挖掘》课程的研究对象主要是各种主流的数据挖掘模型,主要有7个方面的内容,分别是决策树模型、聚类模型、支持向量机、贝叶斯网络、关联分析、文本分析


七、课程大纲

第一章:R编程基础

第一节:R基本知识

1、准备

(1)介绍

(2)帮助

(3)如何提问

(4)安装

(5)设置工作路径

2、数据对象

(1)数据类型

(2)取子集

3、矩阵运算

4、读取写出数据(从各种文件,txt,json,xml,excel,mysql等)


第二节:R基本语句结构及循环

1、语句结构

(1)控制结构(顺序、条件、循环))

2、创建

(1)创建随机数

(2)常见分布

(3)创建函数

3、循环函数(常用循环函数lapply、tapply、split、mapply、apply等等)


第三节:R数据清洗

1、日期时间对象及处理

2、数据清洗

(1)数据总结

(2)创建新变量

3、数据清洗(规整数据(长型, reshape,plyr,dplyr包))


第四节:文本对象处理

1、文本对象处理

2、正则表达式


第五节:R画图

1、基本绘图,图像格式(pdf、png、jpeg)

2、ggplot2

3、目前好用的扩展,github,echarts,shiny,slidify


第六节:R统计分析

1、统计推断

2、线性回归

3、主成分分析


第二章:R数据挖掘

1、逻辑回归,聚类,关联规则,文本分析

2、决策树,神经网络,贝叶斯,SVM


八、课程重点

1、R的优点、R的对象、R读写数据、R子集、R去除缺失值、R向量运算构造(常见的基本运算函数、创建随机数、随机抽样)、R中的日期和时间、字符处理函数、分析性图标的基本原则、探索性图表、R绘图系统(基础绘图系统、Lattice绘图系统、ggplot2系统)、控制结构、函数创建和参数、循环函数、常见数据清理。

2、线性回归、最小二乘估计、评价线性回归的准确性、R2统计量、线性回归的共线性问题。

3、信用风险模型的业务理解、账龄分析、申请信用评级解释变量准备、初始信用违约预测之拒绝推断、KNN算法、决策树在变量选择的运用、变量筛选与数据清洗、连续变量分箱WOE转换、模型评估、生成评分卡、模型监测、分类模型建模流程:将所有的解释变量转化为连续变量。

4、分类变量的压缩、连续变量的压缩、水平变量编码转换、基于目标变量的转换-WOE、主成分分析、变量聚类。

5、层次聚类的思路、k-means聚类的思路和使用条件、预先处理变量、变量标准化、k-means聚类过程、轮廓系数、变量转换、用户画像的构建。

6、贝叶斯算法的优点、先验概率和后验概率、贝叶斯法则、连续变量的处理。

7、SVM原理、函数间隔与几何间隔、SVM线性问题、SVM非线性问题、核函数、松弛变量。

8、人工神经网络、感知器、多层感知器、BP神经网络原理。

9、决策树建模思路、Quinlan系列决策树建模原理、CART建模原理、模型修剪、模型评估、随机森林与组合算法、信息增益计算、ID3的缺点、比较多个变量的优先级、CART决策树原理、基尼系数、决策树建树原理、决策树方法总结、剪枝、CART的决策树修剪方法。

10、信用风险模型、分类变量的相关关系、逻辑回归、模型评估、因果关系建模与取数逻辑、估计方法、列联分析的原假设与备选假设、卡方检验、优势比、Logit回归与线性回归、Logit变换、logisitic回归模型评估、模型评估原则、样本内评估、评估指标汇总、ROC曲线、Lorenz曲线、累积提升度、K-S统计量、逻辑回归估计方法、极大似然估计。


九、课程目标

1、熟练掌握R语言的基本语法,常用函数的用法,能运用R语言的可视化、R数据清洗、R文本处理等功能处理一些简单的数据,最后能使用R处理一些常用的统计模型(统计推断,线性回归,主成分分析)。

2、R数据挖掘需要掌握逻辑回归,聚类,关联规则,文本分析,决策树和贝叶斯等模型,神经网络和SVM有所了解就可以。


十、报名流程及咨询
1. 提交报名信息:http://www.peixun.net/main.php?mod=buy&cid=1067
2. 给予反馈,确认报名信息
3. 交费
开户行:北京农商银行四季青支行万寿寺分理处
户名:北京国富如荷网络科技有限公司
卡号:0404 1001 0300 0003 092
支付宝:guofuruhe@126.com
户名:北京国富如荷网络科技有限公司
4. 邮递发票



咨询方式

龚加勇
电话:010-53605625
手机:17773656856

Q  Q: 1281241407

邮 箱:gongjiayong@pinggu.org




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:数据分析 竞争力 k-means聚类 logisitic 大数据的统计学基础 R语言 数据分析 数据挖掘 培训 学习

沙发
人脉引爆点 在职认证  发表于 2017-8-31 14:24:24 |只看作者 |坛友微信交流群
用R语言进行数据分析:命令行编辑器



C.1 预备工作
如果你的 UNIX 系统已经安装了 GNU readline 库, 那么 R 配置中允许在 UNIX 下编译 R 代码,调用内置的 命令行编辑器,编辑和重新调用以前用过的命令。 注意:该附录提到的接口不是用于 UNIX 系统的 GNOME接口,而仅仅用于标准的命令行 接口。
如果启动时设置了参数 –no-readline (使用 ESS 时非常有用), 则该命令不可用。
Windows 版本的 R 有简单的命令行编辑功能; 见 GUI 界面的 Help 菜单下的 Console,已经 描述 Rterm.exe 的命令行操作的 文件 README.Rterm。
当使用 readline 写 R 命令时,下面 描述的函数可用。
这些函数常常是控制字符或者是元字符(Meta character)。控制字符,如 Control-m 表示同时按住 <CTRL> 和 <m> 键,并且以 C-m 形式表示。元字符,如 Meta-b 表示同时按住 <META>和 <b> 键,下面以 M-b 形式记录。如果你的终端没有 <META> 键,你可以用ESC 开始的两个字符序列 键入元字符。因此对于 M-b,你可以键入 <ESC><b>。ESC 字符序列在 有真正元键的终端也是允许的。注意这种情况 对元字符有特殊意义的。
C.2 编辑
R 保存你键入的命令行的历史, 包括错误的命令。历史文件中的命令可以被重新调用,修改 以新的命令的形式重新提交。在 Emacs-形式的命令行编辑中,任何直接的输入 都会将字符直接插入到你所编辑的命令中, 并且取代光标右侧的字符。 vi 输入模式是通过 M-i 或 M-a 启动,字符可以被键入并且通过键入 <ESC> 结束输入模式。
任何时候键入 <RET> 都会使得命令 重新被提交。
其他的编辑命令在下面的表中有所总结。
C.3 命令行编辑总结
重新调用命令和垂直移动
C-p跳到前一个命令(回溯历史文件)。C-n跳到下一个命令(前溯历史文件)。C-r text搜索含有字符串 text 的最后一个命令。
在大多数终端,你可以使用上下键分别代替 C-p 和 C-n。
水平移动指针
C-a回到命令行开头。C-e跳到命令行结束。M-b回溯一个单词。M-f前溯一个单词。C-b回溯一个字符。C-f前溯一个字符。
在大多数终端,你可以使用左右键分别代替 C-b 和 C-f。
编辑和再提交
text在光标处插入文本 text。C-f text在光标后插入 text。<DEL>删除前面的字符(光标左侧)。C-d删除光标处的字符。M-d删除光标处单词以外的部分,并且“保存”它们。C-k删除光标到命令结束的部分,并且“保存”它们。C-y插入最后“保存”的文本。C-t转置光标处的文本。M-l将字符转换成小写字符。M-c将单词转换成大写。<RET>重新向 R 提交命令。
最后的 <RET> 命令将会终止命令行编辑。

使用道具

藤椅
人脉引爆点 在职认证  发表于 2017-8-31 14:27:36 |只看作者 |坛友微信交流群
R语言-处理异常值或报错的三个示例
之前用rvest帮人写了一个定期抓取amazon价格库存,并与之前价格比较的小程序,算是近期写过的第一个完整的程序了。里面涉及了一些报错的处理。

这里主要参考了stackoverflow上的以下问答:
How to skip an error in a loop
skip to next value of loop upon error in R
tryCatch部分,后续查找资料,发现以下博文: 1. R语言使用tryCatch进行简单的错误处理

以下是代码示例:

1)使用tryCatch函数跳过错误信息。(示例以download.file为样式)

看以下代码。这里需要批量下载一堆amazon产品信息。如果产品ID号不对,或者IP被限制,网页会打不开,而download.file会报错。我这里用tryCatch来获取网页打不开时的错误信息。并且要求执行下一步循环“”。

复制代码
for (n in 1:length(productlink)){
        tryCatch({
        download.file(productlink[n],paste0(getwd(),"/html/",productid[n,],".html"),cacheOK = TRUE)
        },error=function(e){cat("ERROR :",conditionMessage(e),"\n")})
        Sys.sleep(0.5) #增加了Sys.sleep(seconds)函数,让每一步循环都暂停一段时间。这个虽然会降低程序速度,但对于有访问限制的网站,不失为一个好的办法。
}
复制代码
上述示例由两个重要函数构成,即tryCatch和cat
查阅函数,tryCatch属于base包,condition system。在R语言使用tryCatch进行简单的错误处理这篇博文里有tryCatch的简单示范如下:

复制代码
result = tryCatch(
        {expr},
        warning = function(w) {warning-handler-code},
        error = function(e) { error-handler-code},
        finally = {cleanup-code}
        )
即如果warning时,对warning怎么处理,如果error时对error怎么处理。如果没有任何条件吻合,则最后会输出expr里的内容。如果有final项的话,则会同时输出finally项以及expr项
复制代码
tryCatch({a<-"c"
        b<-"c"
        b==a},
        error=function(e){cat("hahaha",conditionMessage(e),"\n\n")},
        finally={print("ccc")})
[1] "ccc"
[1] TRUE

tryCatch({a<-"c"

         cc==a}, #cc不存在
        error=function(e){cat("hahaha",conditionMessage(e),"\n\n")},
        finally={print("ccc")})
hahaha object 'cc' not found
复制代码
对于代码示例,即为,download成功则返回download内容,不成功则返回error=function(e){cat("ERROR :",conditionMessage(e),"\n")}
然后是cat函数。这个cat是一个输入输出值。这里等于,要求系统输出“ERROR :”+conditionMessage(e)的内容。然后用“”分行。
另外,在stackoverflow上的这篇问答,由mmann1123回答的问题里,我们看到了更为有趣的一个应用。
这里收缩起来,展开亦可阅读。
tryCatch示范
2)利用if语句以及stop语句。

即,如果某条件不成立,则停止程序,并输出stop里的内容。我这里主要用于检查原始product id是否输入正确。

if (!sum(check)==length(productlink)) {
        productlink<-NULL
        productid<-NULL
    stop("invalid productid please double check if any space or else in, and resave the file or the script will not run")
    }


3)处理使用data.frame批量读取数据时,元素因为不存在导致的data.frame报错。

譬如说以下示例,因为a不存在,而导致data.frame报错。

a<-NULL
b<-c("cc","dd")
data.frame(a,d)
> Error in data.frame(a, d) : 参数值意味着不同的行数: 0, 2
因此,对于在循环里,需要先单独合成data.frame,再使用rbind把各个data.frame合成在一起时,可以考虑增加异常值的赋值。如下面两段,如果我拉的网页里不存在product name,则length(productname)==1为FALSE,直接输出“product not download or not existing”,那么这个字段就不是空值或者2-3个行,而是1行,之后合并为data.frame时就不会报错了。

复制代码
data<-function(n){
        ####隐掉获得productname/price/category的代码
        if(!length(productname)==1) {productname="Product not download or not existing"}
        if (!length(price)==1) {
                        price=NA
                        category<-"Product not download or not existing"
        }
        data.frame(productname,price,category)
        #这里合成data.frame,如果这三个行数不等(多为空值NULL,或者某个字段有2-3行所导致。
        #使用上面的IF判断赋值的好处是,最后出来的productname,price,category保证是1行,可以用data.frame合并。并且对异常值也有输出。
复制代码
由于处理第2/3类错误时我还不了解tryCatch函数。目前看下来,貌似tryCatch函数能做的事情更多?

写下来供以后写代码时参考。

另外,tryCatch在java,C里均有类似功效。看来R归根到底,还是脱离不了底层语言啊。

接下来4月的学习计划,学完一个就写一篇博文~~整理思路记录笔记。

1)rCurl包,以及它那个厚厚的英文说明书。希望最后能学会用它爬一些rvest无法爬的脚本网页,以及搜索框网页等

2)用R做金融时间序列分析(炼数成金的班)

3)跟着老师重新复习财务分析知识(mooc课),在复习过去的财务知识后,再重新来看预测者网下的股票数据,尝试做一下挖掘与分析,至少从宏观上了解当前中国上市公司的布局与特点,为以后用R研究股票打打基础。

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-30 19:31