更改稀疏矩阵第一列中每行的值

时间:2019-06-02 05:44:41

标签: python scikit-learn sparse-matrix sentiment-analysis svmlight

我正在对IMDB电影数据集进行情感分析,以训练出一个模型来预测已经给出的评论。

我已经创建并加载了单词袋(它是一个SVMlight文件)作为稀疏矩阵。下面的代码显示了如何加载数据。 每行都有一个评论,其中包含字数。

在X中保存了字数,而y包含了从1到10的相应电影等级。例如,如果您打印(y-train [2]),则得到9。

对于我的任务,我们只想预测电影的评分是负数还是正数,而不是确切的值。因此,我需要在y中更改等级,其中等级> 5为正(大概= 1),而<= 5为负(= 0)。 我正在努力改变这些价值观。

我尝试将常规FOR循环与IF一起使用,但这不起作用。我是Python的初学者,因此对于任何数据可能都不正确

##How the data is loaded
@mem.cache
def get_data_train():
    data_train = load_svmlight_file("labeledBowtrain.feat")
    return data_train[0], data_train[1]

X_train, y_train = get_data_train()

##My pretty crappy for loop
for i in y_train2:
    if y_train2 >=5:
        y_train2=1
    else:
        y_train2=0

那会导致错误消息: “ ValueError:具有多个元素的数组的真值不明确。请使用a.any()或a.all()”

我真的不知道该怎么做。谢谢:)

0 个答案:

没有答案