本文整理汇总了Scala中org.apache.spark.ml.attribute.NominalAttribute类的典型用法代码示例。如果您正苦于以下问题:Scala NominalAttribute类的具体用法?Scala NominalAttribute怎么用?Scala NominalAttribute使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了NominalAttribute类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Scala代码示例。
示例1: TreeUtils
//设置package包名称以及导入依赖的类
package org.apache.spark.ml
import org.apache.spark.ml.attribute.{AttributeGroup, NominalAttribute, NumericAttribute}
import org.apache.spark.sql.DataFrame
object TreeUtils {
def setMetadata(
data: DataFrame,
featuresColName: String,
featureArity: Array[Int]): DataFrame = {
val featuresAttributes = featureArity.zipWithIndex.map { case (arity: Int, feature: Int) =>
if (arity > 0) {
NominalAttribute.defaultAttr.withIndex(feature).withNumValues(arity)
} else {
NumericAttribute.defaultAttr.withIndex(feature)
}
}
val featuresMetadata = new AttributeGroup("features", featuresAttributes).toMetadata()
data.select(data(featuresColName).as(featuresColName, featuresMetadata))
}
}
示例2: TreeUtils
//设置package包名称以及导入依赖的类
package org.apache.spark.ml
import org.apache.spark.ml.attribute.{AttributeGroup, NominalAttribute, NumericAttribute}
import org.apache.spark.sql.DataFrame
object TreeUtils {
def setMetadata(
data: DataFrame,
labelColName: String,
numClasses: Int,
featuresColName: String,
featureArity: Array[Int]): DataFrame = {
val labelAttribute = if (numClasses == 0) {
NumericAttribute.defaultAttr.withName(labelColName)
} else {
NominalAttribute.defaultAttr.withName(labelColName).withNumValues(numClasses)
}
val labelMetadata = labelAttribute.toMetadata()
val featuresAttributes = featureArity.zipWithIndex.map { case (arity: Int, feature: Int) =>
if (arity > 0) {
NominalAttribute.defaultAttr.withIndex(feature).withNumValues(arity)
} else {
NumericAttribute.defaultAttr.withIndex(feature)
}
}
val featuresMetadata = new AttributeGroup("features", featuresAttributes).toMetadata()
data.select(data(featuresColName).as(featuresColName, featuresMetadata),
data(labelColName).as(labelColName, labelMetadata))
}
}