0
インデクサーをpysparkに適用することはできますが、カテゴリはアルファベット順に並べ替えることができますか?StringIndexer PySparkデータフレームを適用するが、アルファベット順に並べる
私はStringindexerを適用した後、インデックス値の辞書を持っていますが、別の方法で注文したいと思います。
index_df = StringIndexer(inputCol="gender", outputCol="genderIndex")
meta = [f.metadata for f in index_df.schema.fields if f.name == "genderIndex"]
meta
[{u'ml_attr': {u'name': u'genderIndex',
u'type': u'nominal',
u'vals': [u'Male', u'Female']}}]
a=dict(enumerate(meta[0]["ml_attr"]["vals"]))
a=
{0: u'Male', 1: u'Female'}
しかし、例えば、私は、女性は0になりたい、それが
C、A、Bだった場合、私は= 0、B = 1、C = 2、などをしたいと思います...
StringIndexerはラベル頻度に基づいて列ラベルにインデックスを提供します。あなたのケースでは、それを行うカスタムトランスフォーマをコーディングする必要があるかもしれないと考えてください。 – Suresh
あなたのユースケースはわかりませんが、インデックス付きの列を辞書に保存し、それをMLパイプラインに使用しない場合は、列を並べて密度の高いランクを実行します。これはあなたを助けるかもしれません。 – Suresh