Ich versuche, die Punktzahl, die ein Beitrag erhält, basierend auf dem Text des Beitrags und andere Features (Tageszeit, Länge der Post, etc.)Kombinieren Tasche von Wörtern und anderen Funktionen in einem Modell mit Sklearn und Pandas
Ich frage mich, wie man diese verschiedenen Arten von Eigenschaften am besten in einem Modell kombiniert. Im Moment habe ich etwas wie folgt (gestohlen von here und 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)
Es scheint sehr albern alle Funktionen zu extrahieren ich aus dem Pandas Datenrahmen wollen, nur um sie alle wieder zusammen sehen lassen. Gibt es einen besseren Weg, diesen Schritt zu tun?
Die CSV sieht ungefähr wie folgt aus:
ID,message,feature_1,feature_2
1,'This is the text',4,7
2,'This is more text',3,2
...
Können Sie ein Beispiel Ihres csv zeigen? – elyase
@elyase, ich habe gerade eine Spielzeugversion hinzugefügt. – Jeremy