Python: как векторизовать кортежи в списках для бинарных функций - PullRequest
0 голосов
/ 04 сентября 2018

Я хочу сгенерировать двоичные функции для прогнозирования:

Входными данными будет список кортежей для точки данных, а двоичная функция представляет присутствие каждого кортежа во всех списках в столбце.

Введите:

mydf.iloc[1]['tuple_list'] = [('a', 'b'), ('a','c'), ('a')]
mydf.iloc[2]['tuple_list'] = [('a', 'c')]
...
mydf.ilco[i]['tuple_list'] = [('d','c'), ('a','b')]

Если после объединения всего списка столбцов 'tuple_list' имена двоичных объектов будут

[('a'), ('a', 'b'), ('a', 'c'), ('d', 'c')]

Выход:

mydf.iloc[1]['binary_feature'] = np.array(1, 1, 1, 0)
mydf.iloc[2]['binary_feature'] = np.array(0, 0, 1, 0)
...
mydf.ilco[i]['binary_feature'] = np.array(0, 1, 0, 1)

Я пытался использовать CountVectorizer, но его нельзя применить к кортежам в списке. Так есть ли другой эффективный способ сделать этот вид трансформации. Большое спасибо.

...