什么叫训练数据(training data)?

什么叫训练数据(training data)?

这个是讲AI的artificial neural network时候用的。 例如说你要做一个AND logic。在你建立了一个artificial neural network以后,它是一个没有任何功能的空白network。这时候你需要training data来train你的network。这个时候的training data,就是已经准备好的,正确的AND logic的input跟output,让这个artificial neural network来学习这个input和output的关系从而模仿AND logic(Hence artificial intelligence)。 在train好了以后,你要确认你的network时候符合你的training data的要求,你就选一组testing data(比training data数量要少很多,可以是training data的一部分),来test你的network是不是真的被train好了。一般不能达到100%正确,根据情况,一半90%以上,例如95%就不错了。这里就是为了证明你train的这个network,是针对你的training set是有用的。 至于validation data。你的training data sample,在统计学里,是在你的global population里选出来的,它不一定100%反应你的global population的特性。所以你要在global population里,另外再选一组validation data,来validate你之前通过test的network。也就是为了确认,你这个network,不是只对你的training data有用,而是对global population都有用的。 我是在国外上的大学,大四的时候学过这个。嘿嘿。 补充: 你说的这些我没学过。 不过我猜测training data应该跟我所学的artificial neural network的有类似。多半是你的system或者model,需要学习你所研究东西的behaviour。所以你用一组以前所得到的正确的data,里面包括所有相应的input跟output,来train你的system或者model。(感觉说来说去还是在说AI跟artificial neural network,嘿嘿) 补充二 我说反了吗?两年前学的,不太记得了。问问老师或者查查书吧。

数据集的最基本组成单位是指rdd的什么属性

RDD(Resilient Distributed Dataset)叫做分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。RDD具有数据流模型的特点:自动容错、位置感知性调度和可伸缩性。RDD允许用户在执行多个查询时显式地将工作集缓存在内存中,后续的查询能够重用工作集,这极大地提升了查询速度。

RDD的属性

一组分片(Partition),即数据集的基本组成单位。对于RDD来说,每个分片都会被一个计算任务处理,并决定并行计算的粒度。用户可以在创建RDD时指定RDD的分片个数,如果没有指定,那么就会采用默认值。默认值就是程序所分配到的CPU Core的数目。

一个计算每个分区的函数。Spark中RDD的计算是以分片为单位的,每个RDD都会实现compute函数以达到这个目的。compute函数会对迭代器进行复合,不需要保存每次计算的结果。

RDD之间的依赖关系。RDD的每次转换都会生成一个新的RDD,所以RDD之间就会形成类似于流水线一样的前后依赖关系。在部分分区数据丢失时,Spark可以通过这个依赖关系重新计算丢失的分区数据,而不是对RDD的所有分区进行重新计算。