鱼C论坛

 找回密码
 立即注册
查看: 3235|回复: 9

关于sklearn的一个报错问题

[复制链接]
发表于 2019-5-14 21:20:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. import numpy as np
  2. import pandas as pd
  3. import seaborn as sn
  4. import matplotlib.pyplot as plt
  5. from sklearn.ensemble import RandomForestRegressor
  6. from sklearn.model_selection import train_test_split
  7. from sklearn.metrics import confusion_matrix
  8. from sklearn.model_selection import GridSearchCV
  9. from sklearn.model_selection import cross_val_score # 交叉验证模块
  10. from sklearn.metrics import classification_report
  11. from sklearn.metrics import precision_score, recall_score, f1_score
复制代码

  1. data = np.genfromtxt("f:\\seeds_dataset.csv", delimiter=",")  #读取数据

  2. #拆分数据成x和y两部分
  3. x_data = np.array(data[0:,1:-1])
  4. y_data = np.array(data[0:,-1, np.newaxis])

  5. #拆分成训练集和验证集
  6. X_train, X_test, Y_train, Y_test = train_test_split(x_data, y_data, train_size=0.8, random_state=1)
复制代码

  1. model = RandomForestRegressor(max_features=0.6)  # 随机抽取的特征子集中所使用的特征数目为4
  2. param_grid = {"n_estimators":[10, 50]} # 随机森林中基本模型的数目为10、50
  3. grid_search = GridSearchCV(model, param_grid, cv=5) # 5折交叉验证

  4. grid_search.fit(X_train, Y_train)
  5. print(grid_search.best_score_)      #正确率

  6. print(grid_search.best_params_)      #最佳 参数组合  
  7. # criterion参数为信息熵,最大深度为6
  8.    
  9. y_pred=grid_search.predict(X_test)
  10. y_pred = y_pred[:,np.newaxis]
  11. print(y_pred.shape)
  12. #print(classification_report(Y_test,y_pred))


  13. p = precision_score(Y_test, y_pred, average=None) # 查准率
  14. r = recall_score(Y_test, y_pred, average=None)   # 查全率
  15. f1score = f1_score(Y_test, y_pred, average=None)  # f1分值

  16. # 宏查准率、宏查全率、宏f1分值
  17. print("macro_precision: %.3f" % (sum(p) / 3.0))
  18. print("macro_recall:%.3f" % (sum(r) / 3.0))
  19. print("macro_f1socre:%.3f" % (sum(f1score) / 3.0))
  20. #绘制混淆矩阵,
  21. sn.heatmap(confusion_matrix(Y_test, y_pred), cmap='rainbow', annot=True)
复制代码



在求查准率、查全率和f1分值的时候报错,提示Classification metrics can't handle a mix of multiclass and continuous targets,需要怎么修改才能正常运行呢?

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
andy大宝 + 1 + 1 善于提问

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-5-14 21:25:32 | 显示全部楼层

回帖奖励 +10 鱼币

多分类不适宜用2分类的指标,
可以针对某一个分类,其他分类为另一类来计算
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-2 14:26:54 | 显示全部楼层

回帖奖励 +10 鱼币

给大佬顶个贴,我是看不懂了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-2 14:35:37 | 显示全部楼层

回帖奖励 +10 鱼币

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-8-8 09:48:14 | 显示全部楼层

回帖奖励 +10 鱼币

好高深,以后来研究下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-8 14:02:53 | 显示全部楼层

回帖奖励 +10 鱼币

不合适多分类不适宜用2分类的指标,
可以针对某一个分类,其他分类为另一类来计算
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-8 17:48:22 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-8-8 17:49:22 | 显示全部楼层
好高深,一定认真来研究下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-10 12:46:48 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-2-22 13:43:46 | 显示全部楼层

回帖奖励 +10 鱼币

问题的确挺高深的,评价一下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-15 20:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表