如何将预测结果生成文件?

问题描述 投票:0回答:1

我已经制作了朴素贝叶斯模型进行预测。一切进展顺利,即使仅一次输入也可以预测。我想预测一个数据并将所有预测结果保存到一个csv文件中。但是当我尝试它时,我收到一条错误消息,如下图所示。这张图片显示了我如何循环数据以及出现的错误。

代码:

# load previously saved classifier and vectorizer
vectorizer, classifer = load()
print('\nPerform a test')      
df = pd.read_csv('tweet_BARU.csv') #read the CSV file
data_label = df["full_text"]

tweet_pred = []
tweet_input = data_label
for sentence in data_label:
    tweet_input_transformed = vectorizer.transform(sentence)
    prediction = classifer.predict(tweet_input_transformed)
    tweet_pred = 0
    if (prediction=='neutral'):
        tweet_pred.append('neutral')
    elif (prediction=='positive'):
        tweet_pred.append('positive')
    else:
        tweet_pred.append('negative')

predict = pd.DataFrame({
        "Data" : data_label,
        "label" : tweet_pred
    })


predict.to_csv("tweet_auto.csv", index = False)

错误:

    ---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-35-227d63cffdf9> in <module>()
     11     prediction = classifer.predict(tweet_input_transformed)
     12     tweet_pred = 0
---> 13     if (prediction=='neutral'):
     14         tweet_pred.append('neutral')
     15     elif (prediction=='positive'):

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

我在哪里弄错了?谁能解决?

python machine-learning scikit-learn naivebayes
1个回答
0
投票

我认为您应该使用类似:

df.to_csv('test.csv', mode='a', header=False)

如果要附加到文件。

© www.soinside.com 2019 - 2024. All rights reserved.