diff --git a/R/pkg/vignettes/sparkr-vignettes.Rmd b/R/pkg/vignettes/sparkr-vignettes.Rmd index a742484c4cda0ba8ef312018bbc711c20bb58bdd..bc8bc3c26c116ada2c79b834450dc79c5e095166 100644 --- a/R/pkg/vignettes/sparkr-vignettes.Rmd +++ b/R/pkg/vignettes/sparkr-vignettes.Rmd @@ -469,6 +469,8 @@ SparkR supports the following machine learning models and algorithms. #### Classification +* Linear Support Vector Machine (SVM) Classifier + * Logistic Regression * Multilayer Perceptron (MLP) @@ -532,6 +534,26 @@ head(carsDF_test) ### Models and Algorithms +#### Linear Support Vector Machine (SVM) Classifier + +[Linear Support Vector Machine (SVM)](https://en.wikipedia.org/wiki/Support_vector_machine#Linear_SVM) classifier is an SVM classifier with linear kernels. +This is a binary classifier. We use a simple example to show how to use `spark.svmLinear` +for binary classification. + +```{r} +# load training data and create a DataFrame +t <- as.data.frame(Titanic) +training <- createDataFrame(t) +# fit a Linear SVM classifier model +model <- spark.svmLinear(training, Survived ~ ., regParam = 0.01, maxIter = 10) +summary(model) +``` + +Predict values on training data +```{r} +prediction <- predict(model, training) +``` + #### Logistic Regression [Logistic regression](https://en.wikipedia.org/wiki/Logistic_regression) is a widely-used model when the response is categorical. It can be seen as a special case of the [Generalized Linear Predictive Model](https://en.wikipedia.org/wiki/Generalized_linear_model). diff --git a/examples/src/main/r/ml/survreg.R b/examples/src/main/r/ml/survreg.R index bf6c0a161943f45abdb3884b8c2bd1d4460e6a35..e4eadfca86f6cf30da0b9b7dab511d81e3014583 100644 --- a/examples/src/main/r/ml/survreg.R +++ b/examples/src/main/r/ml/survreg.R @@ -43,3 +43,4 @@ head(aftPredictions) # $example off$ sparkR.session.stop() + diff --git a/examples/src/main/r/ml/svmLinear.R b/examples/src/main/r/ml/svmLinear.R new file mode 100644 index 0000000000000000000000000000000000000000..c632f1282ea764ab1dc1c815013e904a0b9c8de0 --- /dev/null +++ b/examples/src/main/r/ml/svmLinear.R @@ -0,0 +1,42 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# To run this example use +# ./bin/spark-submit examples/src/main/r/ml/svmLinear.R + +# Load SparkR library into your R session +library(SparkR) + +# Initialize SparkSession +sparkR.session(appName = "SparkR-ML-svmLinear-example") + +# $example on$ +# load training data +t <- as.data.frame(Titanic) +training <- createDataFrame(t) + +# fit Linear SVM model +model <- spark.svmLinear(training, Survived ~ ., regParam = 0.01, maxIter = 10) + +# Model summary +summary(model) + +# Prediction +prediction <- predict(model, training) +showDF(prediction) +# $example off$ +sparkR.session.stop()