我无法设置种子值来从中获得可重复的结果parallelSVM()。
 library(e1071)
 library(parallelSVM)
 data(iris)
 x <- subset(iris, select = -Species)
 y <- iris$Species
set.seed(1)
model       <- parallelSVM(x, y)
parallelPredictions <- predict(model, x)
set.seed(1)
model2       <- parallelSVM(x, y)
parallelPredictions2 <- predict(model2, x)
all.equal(parallelPredictions,parallelPredictions2) 
Run Code Online (Sandbox Code Playgroud)
我知道这不是为多核操作设置种子值的正确方法,但是我不知道该怎么做。
我知道使用时有一个选项,mclapply但这对我的情况没有帮助。
编辑:
我已经发现通过改变功能的溶液trainSample()内的parallelSVM具有trace和doRNG包装用于与种子foreach循环。
有人知道更好的解决方案吗?
parallel-processing r machine-learning reproducible-research random-seed
我有一个 json 文件,如下所示:
test= {'kpiData': [{'date': '2020-06-03 10:05',
   'a': 'MINIMUMINTERVAL',
   'b': 0.0,
   'c': True},
  {'date': '2020-06-03 10:10',
   'a': 'MINIMUMINTERVAL',
   'b': 0.0,
   'c': True},
  {'date': '2020-06-03 10:15',
   'a': 'MINIMUMINTERVAL',
   'b': 0.0,
   'c': True},
  {'date': '2020-06-03 10:20',
   'a': 'MINIMUMINTERVAL',
   'b': 0.0,}
]}
Run Code Online (Sandbox Code Playgroud)
我想将其传输到数据框对象,如下所示:
rdd = sc.parallelize([test])
jsonDF = spark.read.json(rdd)
Run Code Online (Sandbox Code Playgroud)
这会导致记录损坏。据我了解,其原因是,True和False不能是 Python 中的条目。所以我需要在之前将这些条目转换spark.read.json()为 TRUE、true 或“True”)。test 是一个字典,rdd 是一个 pyspark.rdd.RDD 对象。对于数据帧对象,转换非常简单,但我没有找到这些对象的解决方案。