Я хочу сравнить результаты 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, любая помощь будет оценена, спасибозаранее