Работает ли Word2vec с SVM и Naive - PullRequest
0 голосов
/ 30 октября 2019

Я хочу сравнить результаты Naive и Svm для анализа настроений, при этом была применена предварительная обработка word2vec. Массив Numpy. Как это было найдено, я удалил Nan и Empty Cells, чтобы избежать ошибки Nan,

TestVectors=    array([[-0.02333065, -0.06830189,  0.05387498, ...,  0.04265884,
             0.01568587, -0.02567855],
           [-0.02249814, -0.06813493,  0.05394414, ...,  0.0432987 ,
             0.01644579, -0.02526419],
           [-0.0231062 , -0.06867165,  0.053855  , ...,  0.04243317,
             0.01572957, -0.02579326],
           ...,
           [-0.02238956, -0.06807442,  0.05327198, ...,  0.04347492,
             0.01629916, -0.02601931],
           [-0.02290051, -0.06853537,  0.05373788, ...,  0.04329595,
             0.01624765, -0.02581339],
           [-0.02237919, -0.06845002,  0.05331901, ...,  0.04333212,
             0.01613807, -0.0254154 ]], dtype=float32)

testVectors = array([[-0.02333065, -0.06830189,  0.05387498, ...,  0.04265884,
         0.01568587, -0.02567855],
       [-0.02244616, -0.06824686,  0.05420425, ...,  0.04326656,
         0.01668167, -0.02535045],
       [-0.0231062 , -0.06867165,  0.053855  , ...,  0.04243317,
         0.01572957, -0.02579326],
       ...,
       [-0.02238956, -0.06807442,  0.05327198, ...,  0.04347492,
         0.01629916, -0.02601931],
       [-0.02294705, -0.06860121,  0.0538906 , ...,  0.04319755,
         0.01641706, -0.02602569],
       [-0.02230253, -0.06854253,  0.05342174, ...,  0.04323459,
         0.01632915, -0.02557723]], dtype=float32)

это работаетхорошо, когда Случайный лес применяется следующим образом:

forest = forest.fit(trainDataVecs, train["sentiment"])

it gives report like this:
    precision    recall  f1-score   support

        -1.0       0.57      0.96      0.72       401
         0.0       0.94      0.77      0.84      1592
         1.0       0.91      0.92      0.91      1981

   micro avg       0.86      0.86      0.86      3974
   macro avg       0.81      0.88      0.82      3974
weighted avg       0.89      0.86      0.87      3974

Но когда ** SVM применяется как Follow, алгоритм выполняется, но результаты неоднозначны:

from sklearn.svm import SVC
clf = SVC(gamma='auto')
clf.fit(trainDataVecs, train["sentiment"]) 
svm_result = clf.predict(testDataVecs)
print(classification_report(svm_result,train["sentiment"]))

             precision    recall  f1-score   support

        -1.0       0.00      0.00      0.00         0
         0.0       0.00      0.00      0.00         0
         1.0       1.00      0.50      0.67      3974

   micro avg       0.50      0.50      0.50      3974
   macro avg       0.33      0.17      0.22      3974
weighted avg       1.00      0.50      0.67      3974

Нужен ли нам какой-либо другой параметр для применения word2vec для svm и Naive, так как эти значения являются только массивом, и согласно документации svm массив можно использовать для обучения и тестирования svm, ИЛИ неправильно применять word2vec на svm, любая помощь будет оценена, спасибозаранее

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