小编Mas*_*ha 的帖子

如何解释Spark OneHotEncoder的结果

我从Spark文档中读到了OHE条目,

单热编码将一列标签索引映射到一列二进制向量,最多只有一个单值.此编码允许期望连续特征(例如Logistic回归)的算法使用分类特征.

但遗憾的是,他们没有对OHE结果给出完整的解释.所以运行给定的代码:

from pyspark.ml.feature import OneHotEncoder, StringIndexer

df = sqlContext.createDataFrame([
(0, "a"),
(1, "b"),
(2, "c"),
(3, "a"),
(4, "a"),
(5, "c")
], ["id", "category"])

stringIndexer = StringIndexer(inputCol="category",      outputCol="categoryIndex")
model = stringIndexer.fit(df)
indexed = model.transform(df)

encoder = OneHotEncoder(inputCol="categoryIndex", outputCol="categoryVec")
encoded = encoder.transform(indexed)
encoded.show()
Run Code Online (Sandbox Code Playgroud)

并得到了结果:

   +---+--------+-------------+-------------+
   | id|category|categoryIndex|  categoryVec|
   +---+--------+-------------+-------------+
   |  0|       a|          0.0|(2,[0],[1.0])|
   |  1|       b|          2.0|    (2,[],[])|
   |  2|       c|          1.0|(2,[1],[1.0])|
   |  3|       a|          0.0|(2,[0],[1.0])|
   |  4|       a|          0.0|(2,[0],[1.0])|
   |  5|       c|          1.0|(2,[1],[1.0])|
   +---+--------+-------------+-------------+
Run Code Online (Sandbox Code Playgroud)

我怎么能解释OHE的结果(最后一栏)?

python apache-spark pyspark one-hot-encoding

7
推荐指数
1
解决办法
3726
查看次数

标签 统计

apache-spark ×1

one-hot-encoding ×1

pyspark ×1

python ×1