【发布时间】:2017-05-16 13:58:02
【问题描述】:
Acyally 正在开发 spark 2.0.2 我想知道,例如,基于 Spark ML 进行逻辑回归。我想将数据帧的每一行放入一个向量中,该向量将作为逻辑回归的输入,你能帮助获取导致数据帧的行吗?每一行都变成一个密集的向量。谢谢。这是我为获取数据帧所做的工作。
import org.apache.spark.ml.classification.LogisticRegression
import org.apache.spark.ml.linalg.{Vector, Vectors}
import org.apache.spark.ml.param.ParamMap
import org.apache.spark.sql.SparkSession
import org.apache.spark.sql.Row
import org.apache.hadoop.fs.shell.Display
object Example extends App {
val sparkSession = SparkSession.builder.master("local").appName("my-spark-app").getOrCreate()
val data=sparkSession.read.option("header", "true").csv("C://sample_lda_data.csv").toDF()
val data2=data.select("col2","col3","col4","col5","col6","col7","col8","col9")
最后我想得到这样的东西作为逻辑回归的输入 在第一个位置,它将是数据框的第一列,请提供任何帮助
val data=sparkSession.read.option("header", "true").csv("C://sample_lda_data.csv").toDF()
val data2=data.select("col2","col3","col4","col5","col6","col7","col8","col9")
val assembler = new VectorAssembler().setInputCols(Array("col2", "col3", "col4")).setOutputCol("features")
val output = assembler.transform(data2)
main" java.lang.IllegalArgumentException: Data type StringType is not supported.
我会很感激的。谢谢你们
【问题讨论】:
-
你可以使用VectorAssembler。
-
@mtoto 我用了你所说的,我编辑了代码我得到了这个错误 main" java.lang.IllegalArgumentException: Data type StringType is not supported.Any help
-
你所有的列都应该是数字
标签: scala apache-spark dataframe apache-spark-sql