本文整理汇总了Scala中org.apache.spark.ml.feature.StandardScaler类的典型用法代码示例。如果您正苦于以下问题:Scala StandardScaler类的具体用法?Scala StandardScaler怎么用?Scala StandardScaler使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了StandardScaler类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Scala代码示例。
示例1: StandardScalerJob
//设置package包名称以及导入依赖的类
import io.hydrosphere.mist.api._
import io.hydrosphere.mist.api.ml._
import org.apache.spark.ml.Pipeline
import org.apache.spark.mllib.linalg.{Vector => LVector}
import org.apache.spark.ml.feature.StandardScaler
import org.apache.spark.ml.linalg.Vectors
import org.apache.spark.sql.SparkSession
object StandardScalerJob extends MLMistJob {
def session: SparkSession = SparkSession
.builder()
.appName(context.appName)
.config(context.getConf)
.getOrCreate()
def train(savePath: String): Map[String, Any] = {
val data = Array(
Vectors.dense(0.0, 10.3, 1.0, 4.0, 5.0),
Vectors.dense(2.0, 0.0, 3.0, 4.0, 5.0),
Vectors.dense(4.0, 0.0, 0.0, 6.0, 7.0)
)
val df = session.createDataFrame(data.map(Tuple1.apply)).toDF("features")
val scaler = new StandardScaler()
.setInputCol("features")
.setOutputCol("scaledFeatures")
.setWithStd(true)
.setWithMean(false)
val pipeline = new Pipeline().setStages(Array(scaler))
val model = pipeline.fit(df)
model.write.overwrite().save(savePath)
Map.empty[String, Any]
}
def serve(modelPath: String, features: List[Array[Double]]): Map[String, Any] = {
import LocalPipelineModel._
val pipeline = PipelineLoader.load(modelPath)
val data = LocalData(
LocalDataColumn("features", features)
)
val result: LocalData = pipeline.transform(data)
val response = result.select("features", "scaledFeatures").toMapList.map(rowMap => {
val mapped = rowMap("scaledFeatures").asInstanceOf[LVector].toArray
rowMap + ("scaledFeatures" -> mapped)
})
Map("result" -> response)
}
}