美文网首页
从获取一个世界中的真实样本开始

从获取一个世界中的真实样本开始

作者: 醉看红尘这场梦 | 来源:发表于2020-03-12 10:27 被阅读0次

在这个系列里,我们的目的就是从零开始,完整的创建一个基于真实数据的机器学习项目,并通过这个实践,对使用机器学习技术解决问题的方式,有一个更为具体的了解。

而万里长征的第一步,当然就是找到可以用来学习的数据。

使用来自现实生活的真实数据

为了尽可能让我们的项目贴近实际的情况,我们最好选择来自实际生活中的数据进行学习,而不是实验室中哪些已经为我们准备好的测试和验证数据集。因为,认识客观数据、组织原始数据记录,去除数据记录中的噪音,同样是机器学习项目中,非常重要的一个环节

那么,究竟上哪去找现实世界中的数据呢?靠自己收集显然是不现实的。不过好在,有很多网站为我们提供了这样的开放数据库,例如:

其中,在之前的例子里,我们也提到过UCI,我们从中下载了北京PM 2.5的模型数据。这次,我们要使用一个更“有名”的数据集,之所以更有名,是因为很多机器学习的教程,都采用了这个数据。他就是从1990年开始统计的美国加州的不同地区的房价。

我们可以在Kaggle中搜索到这份数据,这里,是传送门

认真思考要解决的问题究竟是什么

了解数据集

拿到数据后的第一件事,当然就是了解其中包含的内容。我们下载下来的应该是一个叫做california-housing-prices.zip的文件,解压缩之后,是一个叫做housing.csv的文件,其中包含了下面这些字段(当然,你也可以在Kaggle的预览页面看到这些内容):

YourFirstMLProj

其中:

  • longitude / latitude:表示房屋位置的经纬度;
  • housing_median_age:表示该地区的平均房龄;
  • total_rooms:表示该地区的总房间数;
  • total_bedrooms:表示该地区的总卧室数;
  • population:表示该地区的总人数;
  • households:表示该地区的总住户数;
  • median_income:表示该地区人口的平均收入;
  • median_house_value:表示平均房价;
  • ocean_proximity:表示该区域是否临海;

以上这些字段,之所以会统计成平均值,是因为每一条记录,表示的都是美国人口调查局最小地理统计单位内的数值,其中,每个统计单位内大约有600 - 3000人口不等。这和把北京分为东城区、朝阳区、海淀区等等的含义类似。

认清建模的目的

了解完数据集之后,接下来,我们要搞清楚建模的目标。也就是说,我们要用这些数据集做什么事情呢?当然,一个最直接的想法就是用这个模型预测房价,以找到最具投资价值的地区。

于是,在我们得到的这份数据里,median_house_value就是数据集中的Label
,而其它列则是Features。

在泊学的Machine Learning 101中提到过,Features是指要进行预测而提供的已知条件,而Label则是和Features对应的结果,每一组Features对应着它自己的结果,这是在机器学习领域特有的表达方式。在整个系列中,我们都将使用这样的表述,请大家记住。

但通常,在一个大型系统里,机器学习的过程并不是孤立的,而是一连串学习系统的集合。我们管这样的集合,叫做Pipeline

YourFirstMLProj

就像图中这样,插红旗的,表示我们的目标,评估特定地区房屋的市场价值。此时的输入,就是采集到的各种和房屋有关的数据,输出的,则是房价。

但得到房价后,这个值还可以继续做为输入。例如,把它和一些经济因素的数据放在一起,来进一步评估地区的投资价值。

而由这样的关系形成的数据计算流程,就叫做Pipeline,在整个流水线上,我们评估房价的模型,叫做Upstream,而评估投资价值的模型,叫做Downstream。

这样做的一个好处就是,面对非常广泛的数据集合,不同研究领域的团队,可以根据自己的实际需要对样本进行取舍,并且,一旦其中某个环节的计算节点发生了故障,整个系统在一个相对的时间段里,仍旧是可用的,因为之前计算形成的结果还在。

相关文章

  • 从获取一个世界中的真实样本开始

    在这个系列里,我们的目的就是从零开始,完整的创建一个基于真实数据的机器学习项目,并通过这个实践,对使用机器学习技术...

  • 随机模拟

    我们为什么要进行模拟? 一般情况下样本都是从真实世界中采样得到的,虽然我们事先不知道真实世界的概率分布是多少,但是...

  • RNA-seq分析至尊套餐

    本分析从HISAT2比对的counts开始,先整合所有的counts数据,再获取再半数以上样本中CPM>1的基因,...

  • iOS UIImage(RGB)转CVPixelBufferRe

    最近在做一个图像识别的项目,用到了YUV相关知识。实际中,是从视频样本中获取CVPixelBufferRef,然后...

  • auc

    AUC应该反映的是分类器对样本的排序能力:AUC就是从所有1样本中随机选取一个样本,从所有0样本中随机选取一个样本...

  • AVAssetReader视频数据读取

    AVAssetReader介绍 可以通过AVAssetReader获取视频文件里媒体样本,可以直接从存储器中读取未...

  • 经典重读:Evaluating Knowledge Transf

    在零样本学习(ZSL)中,一个重要的问题是如何有效的从其他来源获取知识。现在通行的ZSL方法中。Word-Embe...

  • Bagging原理解析

    1. 原理 从原始样本集中有放回抽样,获取训练子集。假设训练集有个样本,每轮从训练集中有放回的抽取个训练样本。共进...

  • 慢下来,去生活

    不知道从什么时候开始,人们开始在这个快速发展的世界中迷失自我,习惯忙碌,喜欢从反馈迅速的APP中获取快感,...

  • 机器学习常见面试题

    1、如何解决类别不平衡问题 从数据角度 主动获取:获取更多的少量样本数据针对少量样本数据,可以尽可能去扩大这些少量...

网友评论

      本文标题:从获取一个世界中的真实样本开始

      本文链接:https://www.haomeiwen.com/subject/vifyjhtx.html