我正在创建两个Dataframe,training和test,它们在feature列中都有一个列表。我显示()两者,它们都返回相同的结构。所以我想知道有什么区别,为什么要和vectors.dense争论?
training = spark.createDataFrame(
[
(1.0, [0.0, 1.1, 0.1]),
(0.0, [2.0, 1.0, -1.0]),
(0.0, [2.0, 1.3, 1.0]),
(1.0, [0.0, 1.2, -0.5]),
],
["label", "features"],
)
# Prepare test data
test = spark.createDataFrame(
[
(1.0, Vectors.dense([-1.0, 1.5, 1.3])),
(0.0, Vectors.dense([3.0, 2.0, -0.1])),
(1.0, Vectors.dense([0.0, 2.2, -1.5])),
],
["label", "features"],
)
training.show()
test.show()
退货:
+-----+----------------+
|label| features|
+-----+----------------+
| 1.0| [0.0, 1.1, 0.1]|
| 0.0|[2.0, 1.0, -1.0]|
| 0.0| [2.0, 1.3, 1.0]|
| 1.0|[0.0, 1.2, -0.5]|
+-----+----------------+
+-----+--------------+
|label| features|
+-----+--------------+
| 1.0|[-1.0,1.5,1.3]|
| 0.0|[3.0,2.0,-0.1]|
| 1.0|[0.0,2.2,-1.5]|
+-----+--------------+
谢谢你们
1条答案
按热度按时间sycxhyv71#
我想我自己得到了答案,为了让ml模型工作,这个Dataframe需要一个np.array,而不是一个列表。我的解释是,它们相似,但结构不同。
欢迎评论。