Sto provando a modellare la partitura ricevuta da un post, in base al testo del post e ad altre caratteristiche (ora del giorno, lunghezza del post, ecc.)Combinazione di parole e altre caratteristiche in un modello utilizzando sklearn e panda
Mi chiedo come combinare al meglio questi diversi tipi di funzionalità in un unico modello. In questo momento, ho qualcosa di simile al seguente (rubato da here e here).
import pandas as pd
...
def features(p):
terms = vectorizer(p[0])
d = {'feature_1': p[1], 'feature_2': p[2]}
for t in terms:
d[t] = d.get(t, 0) + 1
return d
posts = pd.read_csv('path/to/csv')
# Create vectorizer for function to use
vectorizer = CountVectorizer(binary=True, ngram_range=(1, 2)).build_tokenizer()
y = posts["score"].values.astype(np.float32)
vect = DictVectorizer()
# This is the part I want to fix
temp = zip(list(posts.message), list(posts.feature_1), list(posts.feature_2))
tokenized = map(lambda x: features(x), temp)
X = vect.fit_transform(tokenized)
sembra molto stupido per estrarre tutte le caratteristiche che voglio fuori dalla dataframe panda, solo per zip tutti di nuovo insieme. C'è un modo migliore per fare questo passo?
Il CSV sembra qualcosa di simile al seguente:
ID,message,feature_1,feature_2
1,'This is the text',4,7
2,'This is more text',3,2
...
Puoi mostrare un campione del tuo csv? – elyase
@elyase, ho appena aggiunto una versione giocattolo di esso. – Jeremy