2017-04-24 2 views
0

아마도 this question과 다소 비슷하지만 SparkR 데이터 프레임이 캐럿 패키지와 호환되지 않는 것 같습니다. SparkR에서 캐럿 사용?

내 모델을 학습하려고

, 나는 다음과 같은 오류가 발생합니다 :

Error in as.data.frame.default(data) : 
    cannot coerce class "structure("SparkDataFrame", package = "SparkR")" to a data.frame 

어떤 방법이 문제가 있습니까? 다음은 홍채를 사용하여 재현 할 수있는 예입니다.

#load libraries 
library(caret) 
library(randomForest) 
set.seed(42) 

#point R session to Spark 
Sys.setenv(SPARK_HOME = "your/spark/installation/here") 
.libPaths(c(file.path(Sys.getenv("SPARK_HOME"), "R", "lib"), .libPaths())) 

#load SparkR 
library(SparkR) 

#initialize Spark context 
sc <- sparkR.init(master = "local",sparkEnvir = list(spark.driver.memory="2g")) 

#initialize SQL context 
sqlContext <- sparkRSQL.init(sc) 

train2 <- createDataFrame(sqlContext, iris) 

#train the model 
model <- train(Species ~ Sepal_Length + Petal_Length, 
       data = train2, 
       method = "rf", 
       trControl = trainControl(method = "cv", number = 5) 

) 

다시 말하지만이 방법이 있습니까? 그렇지 않다면, SparkR을 이용한 기계 학습을위한 가장 직접적인 경로는 무엇입니까?

+0

이 불가능합니다. – mtoto

+0

@mtoto 필자는 확실히 이것을 발견했다고 생각합니다. 그러나 SparkR로 기계 학습을 달성하기위한 몇 가지 대안은 무엇입니까? 거기 아무도 없나요? – skathan

+0

예 : http://spark.apache.org/docs/latest/sparkr.html#machine-learning – mtoto

답변

1

SparkDataFramescaret의 훈련 방법을 사용할 수 없습니다. 당신은 그러나 SparkR::spark.randomForest를 사용하여, 임의의 숲 분류를 양성하는 예를 들어, Spark-ml 년대 알고리즘을 사용할 수 있습니다

#train the model 
model <- spark.randomForest(train2, 
          type="classification", 
          Species ~ Sepal_Length + Petal_Length, 
          maxDepth = 5, 
          numTrees = 100) 

summary(model) 
관련 문제