LoginSignup
0
0

More than 5 years have passed since last update.

【翻訳】scikit-learn 0.18 User Guide 4.8. 予測対象(y) を変換する

Last updated at Posted at 2017-06-28

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ライセンス)。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0