0
這就是我所做的。我認爲一個熱門編碼器正在發生一些事情。一個熱門編碼器混淆
from sklearn.datasets import make_classification
from sklearn.feature_selection import RFE
X, y = make_classification(n_samples=50, n_features=10, random_state=10)
encoder = preprocessing.LabelEncoder()
encoder.fit(X)
X = encoder.transform(X)
print X
print X.shape
encoder = preprocessing.OneHotEncoder()
encoder.fit(X)
X = encoder.transform(X)
print encoder.feature_indices_
estimator = SVR(kernel="linear")
selector = RFE(estimator, 100, step=1)
selector = selector.fit(X, y)
在X上使用標籤編碼器後,我得到了一個形狀數組(50,10)(這是顯而易見的)。但是在做一次熱編碼之後,我得到的特徵索引如下。
[ 0 499 987 1487 1968 2459 2957 3401 3886 4379 4868]
就我所知,2個指標之間的最大範圍應該小於或等於行數,不是嗎?這是50.但在這裏,我得到了500而不是50.我有一個熱門編碼錯誤或有一個熱門編碼功能有任何其他問題?
(這個例子是採取僅用於說明我的問題)