我是新来的,因为事业。 我的数据集包含大量具有分类变量的列。 我想利用特征向量存储这些分类,并使用VectorIndexer以一种方便的方式执行从分类到有序和向后的映射。
所以,我想要实现像这样简单的事情(pyspark表示法):
df = spark.createDataFrame(
[
(0, Vectors.dense([0.1, 0.2])),
(1, Vectors.dense([0.1, 0.2])),
(2, Vectors.dense([0.2, 1.2])),
(3, Vectors.dense([0.1, 0.2])),
(4, Vectors.dense([0.1, 2.2])),
(5, Vectors.dense([0.1, 0.2]))],
["id", "features"]
)
但是对于字符串功能:
# shall not work. For demonstration purposes only
df = spark.createDataFrame(
[
(0, Vectors.dense(['a', 'x'])),
(1, Vectors.dense(['b', 'x'])),
(2, Vectors.dense(['c', 'y'])),
(3, Vectors.dense(['a', 'z'])),
(4, Vectors.dense(['z', 'x'])),
(5, Vectors.dense(['c', 'z']))],
["id", "features"]
)
我猜Vector类不应该使用字符串,但是我想在这里建议你最好的方法来使它工作。