我有一组句子的特征向量:
with open(sys.argv[1]) as trainingSentences:
sentence2region2value = json.loads(trainingSentences.read())
train_wordlist = []
for sentence,locations in sentence2region2value.iteritems():
train_wordlist.append(" ".join(sentence_to_words(sentence, True)))
vectorizer = CountVectorizer(analyzer = "word", \
tokenizer = None, \
preprocessor = None, \
stop_words = None, \
max_features = 5000)
train_data_features = vectorizer.fit_transform(train_wordlist)
train_data_features = train_data_features.toarray()
我还想为逻辑回归添加492个特征向量的标签。“预测”标签包含在sentence2region2value
字典中:
目前我正在尝试使用此:
for prediction in sentence2region2value["sentence"]["parsedsentence"].iteritems():
for i in train_data_features:
train_data_features[i] = np.append(train_data_features[i],np.array(prediction))
但它不起作用。有什么想法吗?在
你的问题表达式可读性不强,我不得不猜测一些变量是什么样子的,但我将对其进行评论:
因此
^{pr2}$prediction
将是字典中的一对值(key, value)
。我猜应该是("Qatar", [32,221,31])
,但我不确定你在措辞上是否做得那么差。在train_data_features
是一个数组(来自前面的toarray()
表达式),但我不知道它包含什么(shape和dtype?)。我猜字符串,可能只是对象(指向对象的指针,比如列表)。在无论如何,
i
就是其中一个元素。但是为什么train_data_features[i]
?只有当i
是一个数字,for i in range(train_data_features.shape[0]):
的结果时,这才有意义让我们假设}实际上是该数组的一个元素。在
i
是什么,因此{如果元素本身是一个数组,这个
np.append
就可以工作了。在但是
np.array(prediction)
是什么样子的呢?在这可能有用:
是的=np.数组(('quatar',[1,2,3]),dtype=对象)
如果
train_data_features[i]
相似,那么append将执行如下操作你没有给我们一个很好的概念,变量包含什么,或者你想要这个表达式做什么。但也许我的挣扎能帮你解决细节问题。在
我鼓励您在交互式会话中逐个测试代码,就像我在这里所做的那样。不要只写一个大的表达式,希望它能运行。一块一块地开发,确保每一块都能按预期工作。在
或者编辑问题,或者期待更多的反对票和/或接近票。在
相关问题 更多 >
编程相关推荐