如何解决如何计算精度?
我正在尝试计算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))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。