“这是怎么回事?”;“散列”;在Pyspark中将数据集拆分为ML训练集和测试集时使用的函数?
我正在学习如何在Pyspark中应用ML的教程。特别是,本教程从名为“这是怎么回事?”;“散列”;在Pyspark中将数据集拆分为ML训练集和测试集时使用的函数?,pyspark,hash,Pyspark,Hash,我正在学习如何在Pyspark中应用ML的教程。特别是,本教程从名为iris\u dataset的数据集开始,该数据集有150行,每行代表一种类型的花。数据集的一列是id,它按从1到150的顺序列出行。数据的其余列不影响此问题的目的 为了执行ML,该数据集将进行80/20%的训练测试分割(即80%的训练数据,20%的测试数据) 为了保证可再现的培训/测试分割,tutorial maker使用以下代码生成培训数据(training\u data): 我一直在为这段代码的运行方式苦苦挣扎,因此我想问
iris\u dataset
的数据集开始,该数据集有150行,每行代表一种类型的花。数据集的一列是id
,它按从1到150的顺序列出行。数据的其余列不影响此问题的目的
为了执行ML,该数据集将进行80/20%的训练测试分割(即80%的训练数据,20%的测试数据)
为了保证可再现的培训/测试分割,tutorial maker使用以下代码生成培训数据(training\u data
):
我一直在为这段代码的运行方式苦苦挣扎,因此我想问几个问题:
pmod
做什么hash(id)
做什么<80
和=80
做什么def training_data(iris_dataset):
return iris_dataset.filter("pmod(hash(id), 100) < 80")
def testing_data(iris_dataset):
return iris_dataset.filter("pmod(hash(id), 100) >= 80")