aboutsummaryrefslogtreecommitdiff
path: root/mllib
diff options
context:
space:
mode:
authorHolden Karau <holden@pigscanfly.ca>2015-07-09 15:49:30 -0700
committerDB Tsai <dbt@netflix.com>2015-07-09 15:49:30 -0700
commite29ce319fa6ffb9c8e5110814d4923d433aa1b76 (patch)
treebce7c6a8dc31381a89450fdbba61ab9fe657f3f3 /mllib
parent69165330303a71ea1da748eca7a780ec172b326f (diff)
downloadspark-e29ce319fa6ffb9c8e5110814d4923d433aa1b76.tar.gz
spark-e29ce319fa6ffb9c8e5110814d4923d433aa1b76.tar.bz2
spark-e29ce319fa6ffb9c8e5110814d4923d433aa1b76.zip
[SPARK-8963][ML] cleanup tests in linear regression suite
Simplify model weight assertions to use vector comparision, switch to using absTol when comparing with 0.0 intercepts Author: Holden Karau <holden@pigscanfly.ca> Closes #7327 from holdenk/SPARK-8913-cleanup-tests-from-SPARK-8700-logistic-regression and squashes the following commits: 5bac185 [Holden Karau] Simplify model weight assertions to use vector comparision, switch to using absTol when comparing with 0.0 intercepts
Diffstat (limited to 'mllib')
-rw-r--r--mllib/src/test/scala/org/apache/spark/ml/regression/LinearRegressionSuite.scala57
1 files changed, 24 insertions, 33 deletions
diff --git a/mllib/src/test/scala/org/apache/spark/ml/regression/LinearRegressionSuite.scala b/mllib/src/test/scala/org/apache/spark/ml/regression/LinearRegressionSuite.scala
index 5f39d44f37..4f6a577395 100644
--- a/mllib/src/test/scala/org/apache/spark/ml/regression/LinearRegressionSuite.scala
+++ b/mllib/src/test/scala/org/apache/spark/ml/regression/LinearRegressionSuite.scala
@@ -18,7 +18,7 @@
package org.apache.spark.ml.regression
import org.apache.spark.SparkFunSuite
-import org.apache.spark.mllib.linalg.DenseVector
+import org.apache.spark.mllib.linalg.{DenseVector, Vectors}
import org.apache.spark.mllib.util.{LinearDataGenerator, MLlibTestSparkContext}
import org.apache.spark.mllib.util.TestingUtils._
import org.apache.spark.sql.{DataFrame, Row}
@@ -75,11 +75,10 @@ class LinearRegressionSuite extends SparkFunSuite with MLlibTestSparkContext {
as.numeric.data.V3. 7.198257
*/
val interceptR = 6.298698
- val weightsR = Array(4.700706, 7.199082)
+ val weightsR = Vectors.dense(4.700706, 7.199082)
assert(model.intercept ~== interceptR relTol 1E-3)
- assert(model.weights(0) ~== weightsR(0) relTol 1E-3)
- assert(model.weights(1) ~== weightsR(1) relTol 1E-3)
+ assert(model.weights ~= weightsR relTol 1E-3)
model.transform(dataset).select("features", "prediction").collect().foreach {
case Row(features: DenseVector, prediction1: Double) =>
@@ -104,11 +103,10 @@ class LinearRegressionSuite extends SparkFunSuite with MLlibTestSparkContext {
as.numeric.data.V2. 6.995908
as.numeric.data.V3. 5.275131
*/
- val weightsR = Array(6.995908, 5.275131)
+ val weightsR = Vectors.dense(6.995908, 5.275131)
- assert(model.intercept ~== 0 relTol 1E-3)
- assert(model.weights(0) ~== weightsR(0) relTol 1E-3)
- assert(model.weights(1) ~== weightsR(1) relTol 1E-3)
+ assert(model.intercept ~== 0 absTol 1E-3)
+ assert(model.weights ~= weightsR relTol 1E-3)
/*
Then again with the data with no intercept:
> weightsWithoutIntercept
@@ -118,11 +116,10 @@ class LinearRegressionSuite extends SparkFunSuite with MLlibTestSparkContext {
as.numeric.data3.V2. 4.70011
as.numeric.data3.V3. 7.19943
*/
- val weightsWithoutInterceptR = Array(4.70011, 7.19943)
+ val weightsWithoutInterceptR = Vectors.dense(4.70011, 7.19943)
- assert(modelWithoutIntercept.intercept ~== 0 relTol 1E-3)
- assert(modelWithoutIntercept.weights(0) ~== weightsWithoutInterceptR(0) relTol 1E-3)
- assert(modelWithoutIntercept.weights(1) ~== weightsWithoutInterceptR(1) relTol 1E-3)
+ assert(modelWithoutIntercept.intercept ~== 0 absTol 1E-3)
+ assert(modelWithoutIntercept.weights ~= weightsWithoutInterceptR relTol 1E-3)
}
test("linear regression with intercept with L1 regularization") {
@@ -139,11 +136,10 @@ class LinearRegressionSuite extends SparkFunSuite with MLlibTestSparkContext {
as.numeric.data.V3. 6.679841
*/
val interceptR = 6.24300
- val weightsR = Array(4.024821, 6.679841)
+ val weightsR = Vectors.dense(4.024821, 6.679841)
assert(model.intercept ~== interceptR relTol 1E-3)
- assert(model.weights(0) ~== weightsR(0) relTol 1E-3)
- assert(model.weights(1) ~== weightsR(1) relTol 1E-3)
+ assert(model.weights ~= weightsR relTol 1E-3)
model.transform(dataset).select("features", "prediction").collect().foreach {
case Row(features: DenseVector, prediction1: Double) =>
@@ -169,11 +165,10 @@ class LinearRegressionSuite extends SparkFunSuite with MLlibTestSparkContext {
as.numeric.data.V3. 4.772913
*/
val interceptR = 0.0
- val weightsR = Array(6.299752, 4.772913)
+ val weightsR = Vectors.dense(6.299752, 4.772913)
- assert(model.intercept ~== interceptR relTol 1E-3)
- assert(model.weights(0) ~== weightsR(0) relTol 1E-3)
- assert(model.weights(1) ~== weightsR(1) relTol 1E-3)
+ assert(model.intercept ~== interceptR absTol 1E-5)
+ assert(model.weights ~= weightsR relTol 1E-3)
model.transform(dataset).select("features", "prediction").collect().foreach {
case Row(features: DenseVector, prediction1: Double) =>
@@ -197,11 +192,10 @@ class LinearRegressionSuite extends SparkFunSuite with MLlibTestSparkContext {
as.numeric.data.V3. 4.926260
*/
val interceptR = 5.269376
- val weightsR = Array(3.736216, 5.712356)
+ val weightsR = Vectors.dense(3.736216, 5.712356)
assert(model.intercept ~== interceptR relTol 1E-3)
- assert(model.weights(0) ~== weightsR(0) relTol 1E-3)
- assert(model.weights(1) ~== weightsR(1) relTol 1E-3)
+ assert(model.weights ~= weightsR relTol 1E-3)
model.transform(dataset).select("features", "prediction").collect().foreach {
case Row(features: DenseVector, prediction1: Double) =>
@@ -227,11 +221,10 @@ class LinearRegressionSuite extends SparkFunSuite with MLlibTestSparkContext {
as.numeric.data.V3. 4.214502
*/
val interceptR = 0.0
- val weightsR = Array(5.522875, 4.214502)
+ val weightsR = Vectors.dense(5.522875, 4.214502)
- assert(model.intercept ~== interceptR relTol 1E-3)
- assert(model.weights(0) ~== weightsR(0) relTol 1E-3)
- assert(model.weights(1) ~== weightsR(1) relTol 1E-3)
+ assert(model.intercept ~== interceptR absTol 1E-3)
+ assert(model.weights ~== weightsR relTol 1E-3)
model.transform(dataset).select("features", "prediction").collect().foreach {
case Row(features: DenseVector, prediction1: Double) =>
@@ -255,11 +248,10 @@ class LinearRegressionSuite extends SparkFunSuite with MLlibTestSparkContext {
as.numeric.data.V3. 5.200403
*/
val interceptR = 5.696056
- val weightsR = Array(3.670489, 6.001122)
+ val weightsR = Vectors.dense(3.670489, 6.001122)
assert(model.intercept ~== interceptR relTol 1E-3)
- assert(model.weights(0) ~== weightsR(0) relTol 1E-3)
- assert(model.weights(1) ~== weightsR(1) relTol 1E-3)
+ assert(model.weights ~== weightsR relTol 1E-3)
model.transform(dataset).select("features", "prediction").collect().foreach {
case Row(features: DenseVector, prediction1: Double) =>
@@ -285,11 +277,10 @@ class LinearRegressionSuite extends SparkFunSuite with MLlibTestSparkContext {
as.numeric.dataM.V3. 4.322251
*/
val interceptR = 0.0
- val weightsR = Array(5.673348, 4.322251)
+ val weightsR = Vectors.dense(5.673348, 4.322251)
- assert(model.intercept ~== interceptR relTol 1E-3)
- assert(model.weights(0) ~== weightsR(0) relTol 1E-3)
- assert(model.weights(1) ~== weightsR(1) relTol 1E-3)
+ assert(model.intercept ~== interceptR absTol 1E-3)
+ assert(model.weights ~= weightsR relTol 1E-3)
model.transform(dataset).select("features", "prediction").collect().foreach {
case Row(features: DenseVector, prediction1: Double) =>