SVM и NN Модель наложение на больших данных - PullRequest
0 голосов
/ 22 февраля 2019

Я тренировал модели SVM и NN, используя sklearn для двух классов.Один класс имеет 24000 твитов и еще 32000 твитов.

Когда я делаю проверку, это дает вот так

Для -

text_clf = Pipeline([('vect', CountVectorizer(stop_words='english')), ('tfidf',TfidfTransformer(use_idf=True)),('clf',MLPClassifier(activation="relu", solver='adam', alpha=0.001, hidden_layer_sizes=(5, 2), random_state=1)),])

              precision    recall  f1-score   support

    disaster       1.00      1.00      1.00     12862
 nondisaster       1.00      1.00      1.00      9543

   micro avg       1.00      1.00      1.00     22405
   macro avg       1.00      1.00      1.00     22405
weighted avg       1.00      1.00      1.00     22405

Для

text_clf = Pipeline([('vect', CountVectorizer(stop_words='english')), ('tfidf',TfidfTransformer(use_idf=True)),('clf',SGDClassifier(loss='hinge', penalty='l2', alpha=1e-3, random_state=42, verbose=1)),])
            text_clf.fit(X_train, y_train)

              precision    recall  f1-score   support

    disaster       1.00      1.00      1.00      6360
 nondisaster       1.00      1.00      1.00      4842

   micro avg       1.00      1.00      1.00     11202
   macro avg       1.00      1.00      1.00     11202
weighted avg       1.00      1.00      1.00     11202

Когда я изменяю значение alpha в NNмодель от 0,001 до 0,00001

              precision    recall  f1-score   support

    disaster       1.00      0.99      0.99     12739
 nondisaster       0.98      1.00      0.99      9666

   micro avg       0.99      0.99      0.99     22405
   macro avg       0.99      0.99      0.99     22405
weighted avg       0.99      0.99      0.99     22405

Когда я тестирую несколько записей, это всегда смещено на один класс.Например, SVM предсказывал каждый входной сигнал, не связанный с бедствием, а NN - с классом бедствия.

Любая идея или предложение, как я могу настроить эту модель?

1 Ответ

0 голосов
/ 22 февраля 2019

Насколько я видел, это происходит, когда набор данных смещен.Я верю в концепцию «Вывоз мусора» - «Вывоз мусора».

Было бы хорошо, если бы вы визуализировали данные ваших испытаний на поездах.Я полагаю, что это будет предвзятым мнением.

Сказав, что, принимая ваш случай использования в качестве предсказания бедствия из твитов, понятно, что если вы берете случайный набор твитов, даже 1 из 1000 не собираетсябыть о катастрофе.

Следовательно, было бы целесообразно свести ваш запрос к уточненной теме и пользователям, чтобы вы получили достаточно хороший набор данных.

Мысли?

Спасибо, Арун

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...