微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何计算精度?

如何解决如何计算精度?

我正在尝试计算Twitter情绪分析项目的准确性。但是,出现此错误,我想知道是否有人可以帮助我计算准确性?谢谢

错误ValueError: Classification metrics can't handle a mix of continuous and multiclass targets

我的代码

import re
import pickle
import numpy as np
import pandas as pd


from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import r2_score
from sklearn.metrics import accuracy_score

from sklearn.model_selection import train_test_split
from sklearn.feature_extraction.text import CountVectorizer
df = pd.read_csv("updated_tweet_info.csv")
data =  df.fillna(' ')

train,test = train_test_split(data,test_size = 0.2,random_state = 42)

train_clean_tweet=[]
for tweet in train['tweet']:
    train_clean_tweet.append(tweet)
test_clean_tweet=[]
for tweet in test['tweet']:
    test_clean_tweet.append(tweet)

v = CountVectorizer(analyzer = "word")
train_features= v.fit_transform(train_clean_tweet)
test_features=v.transform(test_clean_tweet)


lr = RandomForestRegressor(n_estimators=200)
fit1 = lr.fit(train_features,train['clean_polarity'])
pred = fit1.predict(test_features)
accuracy = accuracy_score(pred,test['clean_polarity'])`

解决方法

您正在尝试使用precision_score方法,但是准确性是一种分类指标。

在您的情况下,请尝试使用回归度量方法,例如:mean_squared_error(),然后应用np.sqrt()。这将返回“均方根误差”。数字越小越好。您还可以查看here了解更多详细信息。

尝试一下:

 import numpy as np
 rmse = np.sqrt(mean_squared_error(test['clean_polarity'],pred))

This guy also had the same problem

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。