Я очень новичок в python, а также в обучении машинам. Я пытаюсь работать с Sentiment Анализ данных twitter, поэтому при разработке я напрямую использую sklearn без какого-либо препроцесса в nltk.анализ настроений с использованием sklearn в python
#reading data from csv having 1 column with text and other with sentiment as pos and neg
for index, row in val.iterrows():
statement = row['tweets'].strip() #get the tweet from csv
tweets.append((statement, row['emo'])) #append the tweet and emotion(pos,neg)
Тогда я использовал этот classfier
classifier = Pipeline([
('vectorizer', CountVectorizer()),
('tfidf', TfidfTransformer()),
('classifier', OneVsRestClassifier(LinearSVC())
)])
#Dividing data into training and Testing
np.random.shuffle(tweets)
for key, value in tweets:
keys.append(key)
values.append(value)
size = len(keys) * 1/2
X_train = np.array(keys[0:size])
y_train = np.array(values[0:size])
X_test = np.array(keys[size + 1: len(keys)])
y_test = np.array(values[size + 1: len(keys)])
классификатор
classifier = classifier.fit(X_train, y_train)
K-Fold Точность Тест
X_folds = np.array_split(X_test, 3)
y_folds = np.array_split(y_test, 3)
scores = list()
for k in range(3):
X_train = list(X_folds)
X_test = X_train.pop(k)
X_train = np.concatenate(X_train)
y_train = list(y_folds)
y_test = y_train.pop(k)
y_train = np.concatenate(y_train)
clsf = classifier.fit(X_train, y_train)
scores.append(clsf.score(X_test, y_test))
С выше я получаю точность [+0,92494226327 944573, +0,91974595842956119, +0,93360277136258663] с помощью K-кратное с к = 3.
Насколько я вижу в коде TfidfTransformer, я нашел свой вид только предварительной обработки данных. Значит ли это, что если я работаю с sklearn, мне не нужно предварительно обрабатывать его, как указано в nltk.
Мой вопрос -
Если я могу непосредственно запустить набор данных на библиотеку scikit без предварительной обработки и получаю довольно хороший результат, когда сценарий , где я должен буду использовать предварительную обработку (nltk) перед запуском данных на skicit?
Название немного противоречит множеству вопросов, представленных здесь. Попытайтесь сузить его до одного вопроса. Также рассмотрите свой вопрос и исправьте форматирование кода. – Hooked
Вы можете использовать NLTK для тега вашего корпуса, когда-то помечен и организован, вы можете работать с классификацией scikit-learn. Я не понял, что ваш вопрос поможет мне помочь вам. –
, не делая никаких тегов nltk с corpus, я получаю хорошую точность непосредственно над scikit-learn, так почему именно мне нужно пометить корпус? –