Я применяю OneHotEncoder для массива numpy.
Вот код
print X.shape, test_data.shape #gives 4100, 15) (410, 15)
onehotencoder_1 = OneHotEncoder(categorical_features = [0, 3, 4, 5, 6, 8, 9, 11, 12])
X = onehotencoder_1.fit_transform(X).toarray()
onehotencoder_2 = OneHotEncoder(categorical_features = [0, 3, 4, 5, 6, 8, 9, 11, 12])
test_data = onehotencoder_2.fit_transform(test_data).toarray()
print X.shape, test_data.shape #gives (4100, 46) (410, 43)
, где X
и test_data
равны <type 'numpy.ndarray'>
X
это мой поезд, пока test_data
мой тестовый набор.
Как же нет.столбцов разных для X
& test_data
.они должны быть 46 или 43 для обоих после применения onehotencoder.
Я применяю OnehotEncoder для определенных атрибутов, поскольку они являются категоричными по своей природе как в X
, так и вtest_data
Может кто-нибудь указать, что здесь не так?