数据科学和机器学习之间区别的定义:数据科学专注于提取洞察力,而机器学习对预测有兴趣。我还注意到这两个领域大相径庭:
我在我的工作中同时使用了机器学习和数据科学:我可能会使用堆栈溢出流量数据的模型来确定哪些用户可能正在寻找工作(机器学习),但是会构建摘要和可视化来检查为什么(数据科学)。
我想进一步探讨数据科学和机器学习如何相互补充,展示我将如何使用数据科学来解决图像分类问题。我们将使用经典的机器学习挑战:MNIST数字数据库。
面临的挑战是根据28×28的黑白图像对手写数字进行分类。MNIST经常被认为是证明神经网络有效性的首批数据集之一。
预处理
默认的MNIST数据集的格式有些不方便,但Joseph Redmon已经帮助创建了CSV格式的版本。我们可以下载它的readr包。
library(readr)
library(dplyr)
mnist_raw <- read_csv("https://pjreddie.com/media/files/mnist_train.csv", col_names = FALSE)
该数据集对于60000个训练实例中的每一个包含一行,并且对于28×28图像中的784个像素中的每一个包含一列。
我们想先探索一个子集。在第一次探索数据时,您不需要完整的训练示例,因为使用子集可以快速迭代并创建概念证明