我已经为情绪分析创建了一个分类器,并且在训练时没有遇到任何问题。但在测试时,我无法获得正确的输出。这里的主要问题是我输入分类器的特征向量没有返回正确的值。
这是我对特征向量的实现:
#Fucntion for feature vector for a single tweet
def getSVMFeatureVector(tweets):
sortedFeatures = sorted(featureList)
map = {}
feature_vector = []
for t in tweets:
label = 0
map = {}
#Initialize empty map
for w in sortedFeatures:
map[w] = 0
#Fill the map
for word in t:
if word in map:
map[word] = 1
#end for loop
values = map.values()
feature_vector.append(values)
return feature_vector
#end
正确的向量返回应该有' 1'放置在有击中的位置,即值与我的要素列表中存在的值匹配。但相反,它返回一个满0的向量。我认为我的这段代码存在逻辑错误。
featureList包含从数据集中提取的特征词。 示例:假设我的数据集包含足球比赛中的所有推文。所以功能列表如下所示:featureList = [' football',' el classico',' messi',' ronaldo',&# 39;巴塞罗那'马德里' ...]。这些是在预处理过的推文后准备的。