私はパンダの列にscit-learn LabelEncoderをフィッティングしていますdf。LabelEncoderパンダスのためのフィット順
遭遇した文字列が整数にマップされる順序はどのように決定されますか?それは決定論的ですか?
さらに重要なことに、この注文を指定することはできますか?
import pandas as pd
from sklearn import preprocessing
df = pd.DataFrame(data=["first", "second", "third", "fourth"], columns=['x'])
le = preprocessing.LabelEncoder()
le.fit(df['x'])
print list(le.classes_)
### this prints ['first', 'fourth', 'second', 'third']
encoded = le.transform(["first", "second", "third", "fourth"])
print encoded
### this prints [0 2 3 1]
私は、これは文字列が列に表示される順序であるため、le.classes_
は[0 1 2 3
]、であることを["first", "second", "third", "fourth"]
、その後encoded
ことを期待します。これはできますか?
私はLabelEncoderを使って文字列を整数ラベルにエンコードしています。数字ラベルを表示するには、記述したように特定の順序が必要です。どのようにそれを行うかを理解する?私はおそらく自分自身を書く必要があります。 –
あなたが言ったようにカスタムソリューションをロールしたり、Scickit-learnバージョンを修正したり、Mephyの答えに記載されているソート順に頼ってください。それは私のように見えます。 – tkja
ええええええええええええええええええええええええええええええええ、それはとにかくかなり速いです。ありがとう –