import org.apache.spark.SparkContext
import org.apache.spark.mllib.classification.SVMWithSGD
import org.apache.spark.mllib.regression.LabeledPoint
import org.apache.spark.mllib.linalg.Vectors
val data = sc.textFile("/tmp/tmp/churn_shipper11.txt")
val parsedData = data.map { line =>
val parts = line.split('\t')
LabeledPoint(parts(0).toDouble, Vectors.dense(parts.tail.map(x => x.toDouble)))
}
val numIterations = 20
val model = SVMWithSGD.train(parsedData, numIterations)
val labelAndPreds = parsedData.map { point =>
val prediction = model.predict(point.features)
(point.label, prediction)
}
model.save(sc, "/tmp/tmp/m1")
val sameModel = SVMModel.load(sc, "/tmp/tmp/m1")
val data2 = sc.textFile("/tmp/tmp/churn_shipper33.txt")
val parsedData2 = data2.collect.foreach { line =>
val parts2 = line.split('\t')
val prediction2 = sameModel.predict(Vectors.dense(parts2.tail.map(x => x.toDouble)))
if(prediction2==1.0)
println(parts2(0).toString + " "+ prediction2)
}
import org.apache.spark.mllib.classification.SVMWithSGD
import org.apache.spark.mllib.regression.LabeledPoint
import org.apache.spark.mllib.linalg.Vectors
val data = sc.textFile("/tmp/tmp/churn_shipper11.txt")
val parsedData = data.map { line =>
val parts = line.split('\t')
LabeledPoint(parts(0).toDouble, Vectors.dense(parts.tail.map(x => x.toDouble)))
}
val numIterations = 20
val model = SVMWithSGD.train(parsedData, numIterations)
val labelAndPreds = parsedData.map { point =>
val prediction = model.predict(point.features)
(point.label, prediction)
}
model.save(sc, "/tmp/tmp/m1")
val sameModel = SVMModel.load(sc, "/tmp/tmp/m1")
val data2 = sc.textFile("/tmp/tmp/churn_shipper33.txt")
val parsedData2 = data2.collect.foreach { line =>
val parts2 = line.split('\t')
val prediction2 = sameModel.predict(Vectors.dense(parts2.tail.map(x => x.toDouble)))
if(prediction2==1.0)
println(parts2(0).toString + " "+ prediction2)
}