0
我正在使用sklearn的OneHotEncoder,但想要不轉換我的數據。任何想法如何做到這一點?OneHotEncoder後未轉換
>>> from sklearn.preprocessing import OneHotEncoder
>>> enc = OneHotEncoder()
>>> enc.fit([[0, 0, 3], [1, 1, 0], [0, 2, 1], [1, 0, 2]])
>>> enc.n_values_
array([2, 3, 4])
>>> enc.feature_indices_
array([0, 2, 5, 9])
>>> enc.transform([[0, 1, 1]]).toarray()
array([[ 1., 0., 0., 1., 0., 0., 1., 0., 0.]])
,但我希望能夠做到以下幾點:
>>> enc.untransform(array([[ 1., 0., 0., 1., 0., 0., 1., 0., 0.]]))
[[0, 1, 1]]
我怎麼會去這樣做呢?
對於上下文,我已經構建了一個神經網絡,它學習一個熱門的編碼空間,並且想要現在使用nn來進行真實的預測,這需要使用原始數據格式。
我注意到sklearn.feature_extraction.DictVectorizer有一個inverse_transform方法。 – kmace
剛發現這個答案,它非常詳盡,但它可以幫助你http://stackoverflow.com/questions/22548731/how-to-reverse-sklearn-onehotencoder-transform-to-recover-original-data –