Модель SparkR Glm

Я пытаюсь использовать glm на SparkR.

Это пример из официальной документации Spark.

df <- createDataFrame(sqlContext, iris)

# Fit a gaussian GLM model over the dataset.
model <- glm(Sepal_Length ~ Sepal_Width + Species, data = df, family = "gaussian")

# Model summary are returned in a similar format to R's native glm().
summary(model)
##$devianceResiduals
## Min       Max     
## -1.307112 1.412532
##
##$coefficients
##                   Estimate  Std. Error t value  Pr(>|t|)    
##(Intercept)        2.251393  0.3697543  6.08889  9.568102e-09
##Sepal_Width        0.8035609 0.106339   7.556598 4.187317e-12
##Species_versicolor 1.458743  0.1121079  13.01195 0           
##Species_virginica  1.946817  0.100015   19.46525 0           

# Make predictions based on the model.
predictions <- predict(model, newData = df)
head(select(predictions, "Sepal_Length", "prediction"))
##  Sepal_Length prediction
##1          5.1   5.063856
##2          4.9   4.662076
##3          4.7   4.822788
##4          4.6   4.742432
##5          5.0   5.144212
##6          5.4   5.385281

Когда я делаю резюме по модели, я получаю следующее:

summary(model) 
       Length         Class          Mode 
            1 PipelineModel            S4 
model

An object of class "PipelineModel"
Slot "model":
Java ref type org.apache.spark.ml.PipelineModel id 188 

Что это значит? как я могу увидеть те результаты из сводки, которые объяснены в примере?

Во-вторых, я попробовал другой пример из блоков данных на другом наборе данных.

training<-createDataFrame(sqlContext,training)

 #|-- LINESET: string (nullable = true)
 #|-- TIMEINTERVAL: integer (nullable = true)
 #|-- SmsIn: double (nullable = true)
 #|-- SmsOut: double (nullable = true)
 #|-- CallIn: double (nullable = true)
 #|-- CallOut: double (nullable = true)
 #|-- Internet: double (nullable = true)
 #|-- ValueAmp: double (nullable = true)

model <- glm(ValueAmp ~ TIMEINTERVAL + LINESET,
             family = "gaussian", data =training)
summary(model)
preds<- predict(model,training)

errors <- select(
  preds, preds$label, preds$prediction, preds$LINESET,
  alias(preds$label - preds$prediction, "error"))

display(sample(errors, F, .0001))

**Errore in (function (classes, fdef, mtable)  : 
  unable to find an inherited method for function ‘display’ for signature ‘"DataFrame"**’

Как я могу исправить отображаемые ошибки? Почему на датабриках это работает?


person DanieleO    schedule 10.02.2016    source источник


Ответы (1)


как я могу увидеть те результаты из сводки, которые объяснены в примере?

Резюме в стиле R было введено в Spark 1.6.0 (см. SPARK-11473 ). Похоже, вы используете более раннюю версию.

Как я могу исправить отображаемые ошибки? Почему на датабриках это работает?

Он не работает локально, потому что display не является функцией Spark / SparkR, а является проприетарной функцией платформы DataBricks.

person zero323    schedule 10.02.2016