在instanciating一個MultiLabelBinarizer
後,我需要它的inverse_transform
方法爲我在別處構建的矩陣。 不幸的是,sklearn - 無法立即調用MultiLabelBinarizer的inverse_transform
import numpy as np
from sklearn.preprocessing import MultiLabelBinarizer
mlb = MultiLabelBinarizer(classes=['a', 'b', 'c'])
A = np.array([[1, 0, 0], [1, 0, 1], [0, 1, 0], [1, 1, 1]])
y = mlb.inverse_transform(A)
產生AttributeError: 'MultiLabelBinarizer' object has no attribute 'classes_'
我注意到,如果我添加的mlb
的instanciation後,這條線,
mlb.fit_transform([(c,) for c in ['a', 'b', 'c']])
錯誤消失。我猜這是因爲fit_transform
設置了classes_
屬性的值,但我期望它在實例化時完成,因爲我提供了一個classes
參數。
我使用sklearn版本0.17.1和python 2.7.6。 我做錯了什麼?