Python классификация текста
пробую классифицировать текст и попробовал этот пример:
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.ensemble import RandomForestClassifier
from sklearn.ensemble import RandomForestRegressor
from sklearn.ensemble import ExtraTreesClassifier
from sklearn.linear_model import SGDClassifier
from sklearn.pipeline import Pipeline
#texts = ['текст номер один', 'текст номер два', 'комьютеры в лингвистике', 'компьютеры и обработка текстов']
texts_labels = [1, 1, 0, 0]
text_clf = Pipeline([
('tfidf', TfidfVectorizer()),
#('clf', RandomForestClassifier())
#('clf', ExtraTreesClassifier())
('clf', SGDClassifier())
])
text_clf.fit(texts, texts_labels)
res = text_clf.predict(['текст номер три'])
print(res) # [1]
Вопрос вот в чём, у меня имеется список слов, 4 столбца в excel файле:
текст1 текст2 текст3 текст4
текст1 текст2 текст3 текст4
текст1 текст2 текст3 текст4
текст1 текст2 текст3 текст4
текст1 текст2 текст3 текст4
каждая колонка со словами, относится к определённой категории. Как можно использовать такие данные для вышеприведённого примера? Как их загрузить в nltk, при помощи pandas или как сделать метки для категорий (столбцов)?
вот так я сейчас пытаюсь закодировать:
headers = ['visual', 'audio', 'kinest', 'digital']
data = pd.read_excel(path_to_file, header=None, names=headers)
obj_df = data.select_dtypes(include=['object']).copy()
onehotencoder = OneHotEncoder()
x = onehotencoder.fit_transform(obj_df['visual']).toarray()
print(x)```
но это (если правильно) для одного столбца...
Источник: Stack Overflow на русском