Если в кратце то:
1. Дб корпус текстов с лейблами (например, позитивный твит, негативный твит)
2. Удаляешь знаки препинаия
3. Удаляешь стоп слова (предлоги и пр. не имеющее смысловой нагрузки)
4. Делаешь стемминг
5. Из каждого твита делаешь набор н-грамм
6. Из н-грамм делаешь TF-IDF словарь
7. Сплитишь полученный словарь на данные для обучения и данные для тестов
8. Засовываешь все это в понравившийся алгоритм для МЛ, например, так:
clf = RandomForestClassifier(n_jobs=-1)
clf.fit(X_train, y_train)
9. Сохраняешь полученную модель в пикл и потом уже используешь ее для текстов, которые необходимо классифицировать.
predict = clf.predict(tfidf_predict.toarray())