Использование TF-IDF в кадре данных панд - PullRequest
0 голосов
/ 05 октября 2019

Я пытаюсь использовать TF-IDF в пандах с содержимым набора данных. Два столбца: первый столбец - текстовые данные, а другой - категориальные данные. Это похоже на удар

                summary                                 type of attack 

уволены неизвестные афроамериканцынесколько ... Armed Assault неизвестные преступники взорвали взрывчатку paci ... Бомбардировщик лет Карла Армстронга банду бросил огнем ... Инфраструктура Карла Армстронга лет член банды ворвался в ... Инфраструктура неизвестных преступников бросила коктейль Молотова в ... Инфраструктура

я хочу использовать tf-idf для преобразования первого столбца, а затем использовать его для построения режима прогнозирования вторых столбцов, содержащих тип атаки

1 Ответ

0 голосов
/ 05 октября 2019

Я помог вам обработать ваш df в X и y для обучения на коротком примере.

import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.preprocessing import LabelEncoder

data = {'summary':['unknown african american assailants fired',
'Armed Assault unknown perpetrators detonated explosives','Bombing karl armstrong member years gang threw'],'type of attack':['bullet','explosion','gang']}

#tfidf
df = pd.DataFrame(data)

tf = TfidfVectorizer()

X = tf.fit_transform(df['summary'])

#label encoding
le = LabelEncoder()

y = le.fit_transform(df['type of attack'])

#your X and y ready to be trained
print('X----')
print(X)
print('y----')
print(y)

Вывод

X----
  (0, 9)    0.4673509818107163
  (0, 4)    0.4673509818107163
  (0, 1)    0.4673509818107163
  (0, 0)    0.4673509818107163
  (0, 15)   0.35543246785041743
  (1, 8)    0.4233944834119594
  (1, 7)    0.4233944834119594
  (1, 13)   0.4233944834119594
  (1, 5)    0.4233944834119594
  (1, 2)    0.4233944834119594
  (1, 15)   0.3220024178194947
  (2, 14)   0.37796447300922725
  (2, 10)   0.37796447300922725
  (2, 16)   0.37796447300922725
  (2, 12)   0.37796447300922725
  (2, 3)    0.37796447300922725
  (2, 11)   0.37796447300922725
  (2, 6)    0.37796447300922725
y----
[0 1 2]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...