数据处理的方法论构建
*思路源于张龙祥学长的分享,下面是其课件截图
尝试对号入座
1.数据简单查看
## [1] 62 10
#1.2 查看数据属性_字段名colnames(sleep)
## [1] "BodyWgt" "BrainWgt" "NonD" "Dream" "Sleep" "Span" ## [7] "Gest" "Pred" "Exp" "Danger"
## 'data.frame': 62 obs. of 10 variables:## $ BodyWgt : num 6654 1 3.38 0.92 2547 ...## $ BrainWgt: num 5712 6.6 44.5 5.7 4603 ...## $ NonD : num NA 6.3 NA NA 2.1 9.1 15.8 5.2 10.9 8.3 ...## $ Dream : num NA 2 NA NA 1.8 0.7 3.9 1 3.6 1.4 ...## $ Sleep : num 3.3 8.3 12.5 16.5 3.9 9.8 19.7 6.2 14.5 9.7 ...## $ Span : num 38.6 4.5 14 NA 69 27 19 30.4 28 50 ...## $ Gest : num 645 42 60 25 624 180 35 392 63 230 ...## $ Pred : int 3 3 1 5 3 4 1 4 1 1 ...## $ Exp : int 5 1 1 2 5 4 1 5 2 1 ...## $ Danger : int 3 3 1 3 4 4 1 4 1 1 ...
## BodyWgt BrainWgt NonD Dream Sleep Span Gest Pred Exp Danger## 1 6654.000 5712.0 NA NA 3.3 38.6 645 3 5 3## 2 1.000 6.6 6.3 2 8.3 4.5 42 3 1 3## 3 3.385 44.5 NA NA 12.5 14.0 60 1 1 1
## ## setosa versicolor virginica ## 50 50 50
#prop.table的使用建立在table使用的基础之上#各分类变量的占比prop.table(ir_table)
## ## setosa versicolor virginica ## 0.3333333 0.3333333 0.3333333
prop.table(ir_table)*100
## ## setosa versicolor virginica ## 33.33333 33.33333 33.33333
## ## nonchilled chilled## Quebec 21 21## Mississippi 21 21
prop.table(co2_table)*100
## ## nonchilled chilled## Quebec 25 25## Mississippi 25 25
2.数据缺失值的处理
library(VIM)
## Loading required package: colorspace
## Loading required package: grid
## Loading required package: data.table
## VIM is ready to use. ## Since version 4.0.0 the GUI is in its own package VIMGUI.## ## Please use the package to use the new (and old) GUI.
## Suggestions and bug-reports can be submitted at: https://github.com/alexkowa/VIM/issues
## ## Attaching package: 'VIM'
## The following object is masked from 'package:datasets':## ## sleep
## [1] 0.3225806
## BodyWgt BrainWgt NonD Dream Sleep Span Gest Pred Exp Danger## nbr.val 62 62 48 50 58 58 58 62 62 62## nbr.null 0 0 0 1 0 0 0 0 0 0## nbr.na 0 0 14 12 4 4 4 0 0 0
## BodyWgt BrainWgt NonD Dream Sleep Span Gest Pred ## 0 0 14 12 4 4 4 0 ## Exp Danger ## 0 0
## BodyWgt BrainWgt Pred Exp Danger Sleep Span Gest Dream NonD ## 42 1 1 1 1 1 1 1 1 1 1 0## 2 1 1 1 1 1 1 0 1 1 1 1## 3 1 1 1 1 1 1 1 0 1 1 1## 9 1 1 1 1 1 1 1 1 0 0 2## 2 1 1 1 1 1 0 1 1 1 0 2## 1 1 1 1 1 1 1 0 0 1 1 2## 2 1 1 1 1 1 0 1 1 0 0 3## 1 1 1 1 1 1 1 0 1 0 0 3## 0 0 0 0 0 4 4 4 12 14 38
## missForest iteration 1 in progress...done!## missForest iteration 2 in progress...done!## missForest iteration 3 in progress...done!## missForest iteration 4 in progress...done!## missForest iteration 5 in progress...done!## missForest iteration 6 in progress...done!
#分变量类型进行填补
#连续型变量的填补
#填补均值或者中位数
#mice包中的线性多重插补
#caret包中用preProcess函数进行填补
*关于缺失值总结很到位
## ## Attaching package: 'dplyr'
## The following objects are masked from 'package:data.table':## ## between, first, last
## The following objects are masked from 'package:stats':## ## filter, lag
## The following objects are masked from 'package:base':## ## intersect, setdiff, setequal, union
3.错误数据和异常数据处理 这个部分我在群里分享了特征工程的文件,里面的过程很详细,这里只提供思路
4.数据抽样
4.1 sample随机抽样 我以前常用这个,但是现在喜欢用下面的函数
4.2 caret包中的createDataPartition/createFold函数 这一部分在刘顺祥cc的文章里,讲太详细了,在这不做重复劳动,直接学下来好了
4.3 关于不平衡分类的问题,在昨天刘顺祥cc的文章里已经分享了
5.变量的多重共线性问题,其实涉及的是特征选择的问题
5.1 结合业务和数据的重要性,先删除与分析无关的指标
思路1:caret包中的nearZerovar变量删除 代码:刘顺祥cc的caret(一)——数据预处理中
思路2:集成法,用随机森林计算变量的重要性 代码:在群分享文件的《特征工程》中
5.2相关系数矩阵的可视化
#思路一:corrgram::corrgram()
#不需要自己计算相关系数矩阵
labs=colnames(state.x77)corrgram::corrgram(state.x77, oma=c(7, 7, 2, 2), outer.labels=list(bottom=list(labels=labs,cex=1.5,srt=60), left=list(labels=labs,cex=1.5,srt=30)))
## corrplot 0.84 loaded
ord
5.3 caret包中的findCorrelation也在刘顺祥cc的文中,可自行扫二维码观看
5.4 关于多重共现性的逐步回归法,其实到现在这个程度也无需多论述了,代码在群分享文件的《特征工程》中也有,可以加群自己下载看。
做到这还没结束,还有关于统计检验和建模的问题,尤其是学长在课件中展示的和在他的公众号中提出的问题,都需要认真解决掉。但是,从手写笔记到R脚本,再到微文,这个时间用的真不少。可能以后统计检验和建模的问题我就自己消化了,因为我要腾出更多时间做东西,这个阶段不好再做基础的东西了。
另外,有想学Python爬虫的小伙伴可以私聊我,最近手贱买了天善的爬虫课,因为R的爬虫体系,我真的是懵B掉了,可参考的内容实在太少了,感觉学不透。所以买了Python的爬虫,就是下面的课。这个课很好,老师讲的内容是我想要的,因为个人原因,有心无力了,链接是https://edu.hellobi.com/course/261,有兴趣学这个课的小伙伴,可以公众号后台或者加群私聊我。
虽然,我是零基础Python,但是我从11点刷到2点,看了一遍下面的课,基本的都了解了,同时推荐王大伟学长的这个课。链接是https://edu.hellobi.com/course/234
所有的东西,烂熟于心,才是自己的,代码可以不用记,但是思路要不断不断的融合完善,我能分享的也就是这些,毕竟就算我都整合好了,恐怕最好的办法还是自己再做一遍,希望对大家有帮助吧。
我渣渣川,每天多学一点点,一切都会好的。
领取专属 10元无门槛券
私享最新 技术干货