http://scikit-learn.org/0.18/modules/preprocessing_targets.html を google 翻訳した。
scikit-learn 0.18 ユーザーガイド 4. データセット変換 より
4.8. 予測対象(y) を変換する
4.8.1. ラベルの二値化
LabelBinarizer は、マルチクラスラベルのリストからラベルインジケータ行列を作成するのに役立つユーティリティクラスです:
>>> from sklearn import preprocessing
>>> lb = preprocessing.LabelBinarizer()
>>> lb.fit([1, 2, 6, 4, 2])
LabelBinarizer(neg_label=0, pos_label=1, sparse_output=False)
>>> lb.classes_
array([1, 2, 4, 6])
>>> lb.transform([1, 6])
array([[1, 0, 0, 0],
[0, 0, 0, 1]])
インスタンスごとに複数のラベルを使用する場合は、 MultiLabelBinarizer を使用します。
>>> lb = preprocessing.MultiLabelBinarizer()
>>> lb.fit_transform([(1, 2), (3,)])
array([[1, 1, 0],
[0, 0, 1]])
>>> lb.classes_
array([1, 2, 3])
4.8.2. ラベルのエンコーディング
LabelEncoder は、 0 と n_classes-1 の間の値のみを含むようにラベルを正規化するためのユーティリティクラスです。 これは時には効率的なCythonルーチンを書くのに便利です。 LabelEncoderは次のように使用できます:
>>> from sklearn import preprocessing
>>> le = preprocessing.LabelEncoder()
>>> le.fit([1, 2, 2, 6])
LabelEncoder()
>>> le.classes_
array([1, 2, 6])
>>> le.transform([1, 1, 2, 6])
array([0, 0, 1, 2])
>>> le.inverse_transform([0, 0, 1, 2])
array([1, 1, 2, 6])
非数値ラベルを数値ラベルに変換するためにも使用できます(ハッシュ可能で比較可能な場合)。
>>> le = preprocessing.LabelEncoder()
>>> le.fit(["paris", "paris", "tokyo", "amsterdam"])
LabelEncoder()
>>> list(le.classes_)
['amsterdam', 'paris', 'tokyo']
>>> le.transform(["tokyo", "tokyo", "paris"])
array([2, 2, 1])
>>> list(le.inverse_transform([2, 2, 1]))
['tokyo', 'tokyo', 'paris']
scikit-learn 0.18 ユーザーガイド 4. データセット変換 より
©2010 - 2016、scikit-learn developers(BSDライセンス)。