Может использовать только метод доступа .sparse с разреженными данными - PullRequest
1 голос
/ 16 октября 2019

Я выполнил OHE для своих данных с параметром sparse = True - который, похоже, ничего не делает?

Я пытался:

# One Hot Encoding
df_ohe = pd.get_dummies(df, columns=cats, drop_first=True, sparse=True)
df_ohe = df_ohe.sparse.to_coo().tocsr() #Explicitely convert
df_ohe.memory_usage().sum()

..., который возвращает

AttributeError: Может использоваться только метод доступа .sparse с разреженными данными.

Помощь будет принята с благодарностью. Спасибо!

1 Ответ

1 голос
/ 16 октября 2019

Вы захотите импортировать метод csr_matrix (который преобразует числовые массивы в разреженную матрицу), используя

from scipy.sparse import csr_matrix

Затем вы можете просто написать

df_ohe = pd.get_dummies(df, columns=cats, drop_first=True)
df_ohe = csr_matrix(df_ohe.values)

Итак, обратите внимание, что здесь яудалил sparse=True из метода get_dummies, а затем изменил синтаксис для преобразования в разреженную матрицу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...