• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

完整的R语言预测建模实例-从数据清理到建模预测

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

概述

本文使用Kaggle上的一个公开数据集,从数据导入,清理整理一直介绍到最后数据多个算法建模,交叉验证以及多个预测模型的比较全过程,注重在实际数据建模过程中的实际问题和挑战,主要包括以下五个方面的挑战:

  1. 缺失值的挑战
  2. 异常值的挑战
  3. 不均衡分布的挑战
  4. (多重)共线性的挑战
  5. 预测因子的量纲差异

以上的几个主要挑战,对于熟悉机器学习的人来说,应该都是比较清楚的,这个案例中会涉及到五个挑战中的缺失值,量纲和共线性问题的挑战。

案例数据说明

本案例中的数据可以在下面的网址中下载: 
https://www.kaggle.com/primaryobjects/voicegender/downloads/voicegender.zip 
下载到本地后解压缩会生成voice.csv文件 
下面首先大概了解一下我们要用来建模的数据 
 
数据共包含21个变量,最后一个变量label是需要我们进行预测的变量,即性别是男或者女 
前面20个变量都是我们的预测因子,每一个都是用来描述声音的量化属性。 
下面我们开始我们的具体过程

步骤1:基本准备工作

步骤1主要包含以下三项工作:

  1. 设定工作目录
  2. 载入需要使用的包
  3. 准备好并行计算
  1. ### the first step: set your working directory
  2. setwd("C:/Users/chn-fzj/Desktop/R Projects/Kaggle-Gender by Voice")
  3. ### R中的文件路径应把Windows系统默认的"\"替换为"/"
  4. ### load packages to be used, if not installed, please use ##install.packages("yourPackage")
  5. require(readr)
  6. require(ggplot2)
  7. require(dplyr)
  8. require(tidyr)
  9. require(caret)
  10. require(corrplot)
  11. require(Hmisc)
  12. require(parallel)
  13. require(doParallel)
  14. require(ggthemes)
  15. # parallel processing set up
  16. n_Cores <- detectCores()##检测你的电脑的CPU核数
  17. cluster_Set <- makeCluster(n_Cores)##进行集群
  18. registerDoParallel(cluster_Set)
  • 19
  • 20

步骤2:数据的导入和理解

数据下载解压缩后就是一份名为‘voice.csv’ 的文件,我们将csv文件存到我们设定的工作目录之中,就可以导入数据了。

  1. ### read in original dataset
  2. voice_Original <- read_csv("voice.csv",col_names=TRUE)
  3. describe(voice_Original)
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

Hmisc包中的describe 函数是我个人最喜欢的对数据集进行概述,整体上了解数据集的最好的一个函数,运行结果如下:

  1. voice_Original
  2. 21 Variables 3168 Observations
  3. -------------------------------------------------------------------
  4. meanfreq
  5. n missing unique Info Mean .05 .10 .25
  6. 3168 0 3166 1 0.1809 0.1260 0.1411 0.1637
  7. .50 .75 .90 .95
  8. 0.1848 0.1991 0.2177 0.2291
  9. lowest : 0.03936 0.04825 0.05965 0.05978 0.06218
  10. highest: 0.24353 0.24436 0.24704 0.24964 0.25112
  11. -------------------------------------------------------------------
  12. sd
  13. n missing unique Info Mean .05 .10 .25
  14. 3168 0 3166 1 0.05713 0.03162 0.03396 0.04195
  15. .50 .75 .90 .95
  16. 0.05916 0.06702 0.07966 0.08549
  17. lowest : 0.01836 0.02178 0.02400 0.02427 0.02456
  18. highest: 0.11126 0.11126 0.11265 0.11451 0.11527
  19. -------------------------------------------------------------------
  20. median
  21. n missing unique Info Mean .05 .10 .25
  22. 3168 0 3077 1 0.1856 0.1164 0.1340 0.1696
  23. .50 .75 .90 .95
  24. 0.1900 0.2106 0.2274 0.2358
  25. lowest : 0.01097 0.01359 0.01579 0.02699 0.02936
  26. highest: 0.25663 0.25698 0.25742 0.26054 0.26122
  27. -------------------------------------------------------------------
  28. Q25
  29. n missing unique Info Mean .05 .10 .25
  30. 3168 0 3103 1 0.1405 0.04358 0.07509 0.11109
  31. .50 .75 .90 .95
  32. 0.14029 0.17594 0.20063 0.21524
  33. lowest : 0.0002288 0.0002355 0.0002395 0.0002502 0.0002669
  34. highest: 0.2394595 0.2405416 0.2407352 0.2421235 0.2473469
  35. -------------------------------------------------------------------
  36. Q75
  37. n missing unique Info Mean .05 .10 .25
  38. 3168 0 3034 1 0.2248 0.1874 0.1963 0.2087
  39. .50 .75 .90 .95
  40. 0.2257 0.2437 0.2536 0.2577
  41. lowest : 0.04295 0.05827 0.07596 0.09019 0.09267
  42. highest: 0.26879 0.26892 0.26894 0.26985 0.27347
  43. -------------------------------------------------------------------
  44. IQR
  45. n missing unique Info Mean .05 .10 .25
  46. 3168 0 3073 1 0.08431 0.02549 0.02931 0.04256
  47. .50 .75 .90 .95
  48. 0.09428 0.11418 0.13284 0.15632
  49. lowest : 0.01456 0.01492 0.01511 0.01549 0.01659
  50. highest: 0.24530 0.24597 0.24819 0.24877 0.25223
  51. -------------------------------------------------------------------
  52. skew
  53. n missing unique Info Mean .05 .10 .25
  54. 3168 0 3166 1 3.14 1.123 1.299 1.650
  55. .50 .75 .90 .95
  56. 2.197 2.932 3.916 6.918
  57. lowest : 0.1417 0.2850 0.3260 0.5296 0.5487
  58. highest: 32.3507 33.1673 33.5663 34.5375 34.7255
  59. -------------------------------------------------------------------
  60. kurt
  61. n missing unique Info Mean .05 .10 .25
  62. 3168 0 3166 1 36.57 3.755 4.293 5.670
  63. .50 .75 .90 .95
  64. 8.318 13.649 27.294 75.169
  65. lowest : 2.068 2.210 2.269 2.293 2.463
  66. highest: 1128.535 1193.434 1202.685 1271.354 1309.613
  67. -------------------------------------------------------------------
  68. sp.ent
  69. n missing unique Info Mean .05 .10 .25
  70. 3168 0 3166 1 0.8951 0.8168 0.8322 0.8618
  71. .50 .75 .90 .95
  72. 0.9018 0.9287 0.9513 0.9630
  73. lowest : 0.7387 0.7476 0.7477 0.7485 0.7487
  74. highest: 0.9764 0.9765 0.9765 0.9785 0.9820
  75. -------------------------------------------------------------------
  76. sfm
  77. n missing unique Info Mean .05 .10 .25
  78. 3168 0 3166 1 0.4082 0.1584 0.1883 0.2580
  79. .50 .75 .90 .95
  80. 0.3963 0.5337 0.6713 0.7328
  81. lowest : 0.03688 0.08024 0.08096 0.08220 0.08266
  82. highest: 0.82259 0.82267 0.82610 0.83135 0.84294
  83. -------------------------------------------------------------------
  84. mode
  85. n missing unique Info Mean .05 .10 .25
  86. 3168 0 2825 1 0.1653 0.00000 0.01629 0.11802
  87. .50 .75 .90 .95
  88. 0.18660 0.22110 0.24901 0.26081
  89. lowest : 0.0000000 0.0007279 0.0007749 0.0008008 0.0008427
  90. highest: 0.2791181 0.2795230 0.2795852 0.2797034 0.2800000
  91. -------------------------------------------------------------------
  92. centroid
  93. n missing unique Info Mean .05 .10 .25
  94. 3168 0 3166 1 0.1809 0.1260 0.1411 0.1637
  95. .50 .75 .90 .95
  96. 0.1848 0.1991 0.2177 0.2291
  97. lowest : 0.03936 0.04825 0.05965 0.05978 0.06218
  98. highest: 0.24353 0.24436 0.24704 0.24964 0.25112
  99. -------------------------------------------------------------------
  100. meanfun
  101. n missing unique Info Mean .05 .10 .25
  102. 3168 0 3166 1 0.1428 0.09363 0.10160 0.11700
  103. .50 .75 .90 .95
  104. 0.14052 0.16958 0.18519 0.19343
  105. lowest : 0.05557 0.05705 0.06097 0.06254 0.06348
  106. highest: 0.22342 0.22576 0.22915 0.23114 0.23764
  107. -------------------------------------------------------------------
  108. minfun
  109. n missing unique Info Mean .05 .10 .25
  110. 3168 0 913 1 0.0368 0.01579 0.01613 0.01822
  111. .50 .75 .90 .95
  112. 0.04611 0.04790 0.05054 0.05644
  113. lowest : 0.009775 0.009785 0.009901 0.009911 0.010163
  114. highest: 0.168421 0.178571 0.185185 0.200000 0.204082
  115. -------------------------------------------------------------------
  116. maxfun
  117. n missing unique Info Mean .05 .10 .25
  118. 3168 0 123 0.99 0.2588 0.1925 0.2192 0.2540
  119. .50 .75 .90 .95
  120. 0.2712 0.2775 0.2791 0.2791
  121. lowest : 0.1031 0.1053 0.1087 0.1111 0.1124
  122. highest: 0.2774 0.2775 0.2778 0.2791 0.2791
  123. -------------------------------------------------------------------
  124. meandom
  125. n missing unique Info Mean .05 .10 .25
  126. 3168 0 2999 1 0.8292 0.1045 0.1888 0.4198
  127. .50 .75 .90 .95
  128. 0.7658 1.1772 1.5602 1.8004
  129. lowest : 0.007812 0.007979 0.007990 0.008185 0.008247
  130. highest: 2.544271 2.591580 2.676989 2.805246 2.957682
  131. -------------------------------------------------------------------
  132. mindom
  133. n missing unique Info Mean .05 .10
  134. 3168 0 77 0.92 0.05265 0.007812 0.007812
  135. .25 .50 .75 .90 .95
  136. 0.007812 0.023438 0.070312 0.164062 0.187500
  137. lowest : 0.004883 0.007812 0.014648 0.015625 0.019531
  138. highest: 0.343750 0.351562 0.400391 0.449219 0.458984

  139. 鲜花

    握手

    雷人

    路过

    鸡蛋
    该文章已有0人参与评论

    请发表评论

    全部评论

    专题导读
    上一篇:
    人工智能入门-R语言数据分析与数据挖38发布时间:2022-07-18
    下一篇:
    R语言的下载与安装(win&amp;mac)发布时间:2022-07-18
    热门推荐
    热门话题
    阅读排行榜

    扫描微信二维码

    查看手机版网站

    随时了解更新最新资讯

    139-2527-9053

    在线客服(服务时间 9:00~18:00)

    在线QQ客服
    地址:深圳市南山区西丽大学城创智工业园
    电邮:jeky_zhao#qq.com
    移动电话:139-2527-9053

    Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap