最后结果ValueError: continuous is not supported
说不支持继续,classification_report能评估回归问题嘛?我要怎样才能得到准确率,召回率和F1呢?
# 导入必要的库
from sklearn.metrics import classification_report
# 创建训练集和测试集
train_data = movie_features_df.iloc[:100] # 训练特征
train_labels = movie_features_df.iloc[:100] # 训练目标值(评分)
test_data = movie_features_df.iloc[100:] # 测试特征
test_labels = movie_features_df.iloc[100:] # 真实评分
# 训练knn模型
model_knn.fit(train_data,train_labels)
# 根据训练的模型预测测试集中的电影评分
predicted_ratings = []
for i in range(len(test_data)):
distances, indices = model_knn.kneighbors(movie_features_df.iloc[query_index,:].values.reshape(1, -1),
n_neighbors = 6)
#根据电影之间的相似度预测电影评分
predicted_rating = np.mean(train_data.iloc[indices.flatten(), -1].values)
predicted_ratings.append(predicted_rating)
# 对比预测值和真实值,计算准确率、召回率和F1值
true_ratings = test_data.values
predicted_ratings = np.array(predicted_ratings).reshape(-1,1)
predicted_ratings = np.repeat(predicted_ratings, test_data.shape[1],axis=1)
print(classification_report(true_ratings.flatten(), predicted_ratings.flatten()))