gpt4 book ai didi

apache-spark - sparklyr ml_kmeans 字段 "features"不存在

转载 作者:行者123 更新时间:2023-12-04 05:15:59 26 4
gpt4 key购买 nike

AWS EC2 Spark/Hadoop 集群。

以下 baisc K-Means sparklyr 代码适用于 Spark 2.0.1

  kmeans_model <- iris_tbl %>%
select(Petal_Width, Petal_Length) %>%
ml_kmeans(centers = 3)

我已升级到 Spark 2.1.1,但出现此错误

    Error: java.lang.IllegalArgumentException: Field "features" does not exist.
at org.apache.spark.sql.types.StructType$$anonfun$apply$1.apply(StructType.scala:264)
at org.apache.spark.sql.types.StructType$$anonfun$apply$1.apply(StructType.scala:264)
...
io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144)

我已经用代码做了一些测试

kmeans_model <- iris_tbl %>%
select(Petal_Width, Petal_Length) %>%
ml_kmeans(k = 3, features = c("Petal_Length", "Petal_Width"))

kmeans_model <- iris_tbl %>%
dplyr::select(Petal_Width, Petal_Length) %>%
ml_kmeans(centers = 3, features = c("Petal_Length", "Petal_Width"))

但还是报同样的错误。

最佳答案

这段代码不能在 Spark 2.0 中运行,就像它不能在更新的版本中运行一样。此代码的应用程序不正确,与 Spark 版本无关。默认情况下,ml_kmeans(和其他 ml_* 函数)期望名为 featuresVector 类型列。 features 可用于覆盖名称,应该是:

a length-one character vector

在不使用 ft_vector_assembler 的情况下,唯一让它工作的方法是提供 公式:

kmeans_model <- iris_tbl %>% 
ml_kmeans(formula= ~ Petal_Width + Petal_Length, k = 3)

关于apache-spark - sparklyr ml_kmeans 字段 "features"不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47520863/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com