sklearn随机森林模型:ValueError: Unknown label type: 'unknown'

目录

sklearn随机森林模型:ValueError: Unknown label type: 'unknown'

问题:

解决:

完整错误:


问题:

分类的标签数据被客户错误地标注为了浮点型;

让学生去做出现了问题,有问题的程序如下;

def random_forest_selection(df):clf = RandomForestClassifier(n_estimators=100,\random_state=42,\class_weight = 'balanced',\min_samples_leaf = 4,\min_samples_split = 4,\max_depth = 5,n_jobs = -1,)clf_X = df.drop(['label'], axis=1)clf_y = df.labelmodel = clf.fit(clf_X,clf_y)#feat_importances = pd.DataFrame(model.feature_importances_, index=clf_X.columns, columns=["importance"])feature_importances = pd.DataFrame({'feature': clf_X.columns, 'importance': model.feature_importances_})feature_importances.sort_values(by='importance', ascending=False, inplace=True)#feat_importances[:10].plot(figsize(12,5),kind='bar',)plot_feature_importances(feature_importances, n = 10, threshold = 0.95)most = min(50,df.shape[1]//5)return feature_importances.feature[0:100].valuesmy_important = random_forest_selection(df_in)
my_important

解决:

初始数据类型为float64

转换时,正确的书写格式为Int64

这样转换可以转换过去,但是在进入模型的时候会发生问题,

所以,终极的正确的的处理方式是:

缺失值填充后进行数据格式转换;且使用小写int64

df_in = df_in.fillna(0)
df_in['label'] = df_in['label'].astype('int64')

df_in = df_origin
df_in['label'] = df_in['label'].astype("int")
#'Int64'
#df_in['label'] = df_in['label'].astype("Int64")df_in['label'].value_counts()
# df_in['label'].describe()

完整错误:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-41-511d3bf43def> in <module>
----> 1 my_important = random_forest_selection(df_in)
      2 my_important

<ipython-input-40-4490edd7b355> in random_forest_selection(df)
     12     clf_y = df.label
     13 
---> 14     model = clf.fit(clf_X,clf_y)
     15     #feat_importances = pd.DataFrame(model.feature_importances_, index=clf_X.columns, columns=["importance"])
     16     feature_importances = pd.DataFrame({'feature': clf_X.columns, 'importance': model.feature_importances_})

D:\anaconda\lib\site-packages\sklearn\ensemble\_forest.py in fit(self, X, y, sample_weight)
    329         self.n_outputs_ = y.shape[1]
    330 
--> 331         y, expanded_class_weight = self._validate_y_class_weight(y)
    332 
    333         if getattr(y, "dtype", None) != DOUBLE or not y.flags.contiguous:

D:\anaconda\lib\site-packages\sklearn\ensemble\_forest.py in _validate_y_class_weight(self, y)
    557 
    558     def _validate_y_class_weight(self, y):
--> 559         check_classification_targets(y)
    560 
    561         y = np.copy(y)

D:\anaconda\lib\site-packages\sklearn\utils\multiclass.py in check_classification_targets(y)
    181     if y_type not in ['binary', 'multiclass', 'multiclass-multioutput',
    182                       'multilabel-indicator', 'multilabel-sequences']:
--> 183         raise ValueError("Unknown label type: %r" % y_type)
    184 
    185

ValueError: Unknown label type: 'unknown'

sklearn随机森林模型:ValueError: Unknown label type: ‘unknown‘相关推荐

  1. sklearn随机森林模型参数解释

    n_estimators ​ 随机森林决策树的数目,n_estimators越大越好,但占用的内存与训练和预测的时间也会相应增长,且边际效益是递减的,所以要在可承受的内存/时间内选取尽可能大的n_es ...

  2. ValueError Unknown label type unknown

    应该是标签数据集的类型出错了,那么使用dtype打印一下数据类型看看(不要使用type函数,这样会发现都是int类型的),发现这时候的标签数据类型是object,这样sklearn是无法识别的,所以使 ...

  3. sklearn.svm.SVC中raise ValueError(“Unknown label type: %r” % y_type)ValueError: Unknown label type:处理

    关于sklearn.svm.SVC中raise ValueError("Unknown label type: %r" % y_type)ValueError: Unknown l ...

  4. sklearn中ValueError: Unknown label type: ‘continuous‘错误解决

    ValueError: Unknown label type: 'continuous'错误解决 今天在做决策树鸢尾花分类时出现了一个错误: 解决方法是:train_y后加上astype('int') ...

  5. 成功解决raise ValueError(“Unknown label type: %s“ % repr(ys))ValueError: Unknown label type: (array([24

    成功解决raise ValueError("Unknown label type: %s" % repr(ys))ValueError: Unknown label type: ( ...

  6. kaggle项目:基于随机森林模型的心脏病患者预测分类!

    公众号:尤而小屋 作者:Peter 编辑:Peter 大家好,我是Peter~ 新年的第一个项目实践~给大家分享一个新的kaggle案例:基于随机森林模型(RandomForest)的心脏病人预测分类 ...

  7. 机器学习笔记 十九:由浅入深的随机森林模型之分类

    随机森林学习内容 1. 集成学习 2.sklearn中的集成算法 2.1 sklearn中的集成算法模块ensemble 2.2 RandomForestClassifier 2.2.1 参数 2.2 ...

  8. 随机森林模型sklearn_Sklearn_随机森林

    一.集成算法概述 集成学习(ensemble learning)是时下非常流行的机器学习算法,它本身不是一个单独的机器学习算法,而是通 过在数据上构建多个模型,集成所有模型的建模结果.基本上所有的机器 ...

  9. 大数据分析案例-基于随机森林模型对北京房价进行预测

    目录 1.项目背景 2.项目简介 2.1数据说明 2.2技术工具 3.算法原理 4.项目实施步骤 4.1理解数据 4.2数据预处理 4.2.1缺失值处理 4.2.2重复值处理 4.2.3异常值处理 4 ...

最新文章

  1. 21个令程序员泪流满面的瞬间
  2. python中x y表示_Python中表达式x += y和x = x+y 的区别详解
  3. collapse 聚合
  4. 控件不响应点击事件解决办法
  5. 缓存穿透、击穿、雪崩什么的傻傻分不清楚?看了这篇文后,我明白了
  6. 带有下标的赋值维度不匹配是什么意思_三言两语说清TensorFlow是什么?拿来干嘛的?...
  7. 成功的人都很会控制自己的情绪
  8. 科研不是比赛,而是一种对未知和完美的自我追求——跟邢波(Eric Xing)面对面聊科研...
  9. 在MAC OS X下安装usb转串口驱动(PL2303主控芯片)
  10. css 彩虹色渐变色,纯CSS实现颜色渐变效果(包含环形渐变、线性渐变、彩虹效果等)...
  11. QWebEngineView崩溃及替代方案
  12. NOD32升级ID获取器For流星无语
  13. 关于微擎人人商城互动直播通信服务安装和启动教程记录
  14. 运维工程师必知:什么是千兆交换机?
  15. 【matlab】雷达成像系列 之 BP(BackProjection,后向投影) 成像算法
  16. 飞利浦zigbee智能灯泡的软硬件设计
  17. HTG评论GE Link入门套件:最经济的智能灯泡选择
  18. 四年级学生要用计算机吗,四年级计算机的教学计划
  19. 用java编写人机围棋游戏_JAVA写的围棋游戏的源代码.doc
  20. (小技巧)h5 手机键盘弹出收起的处理

热门文章

  1. 基于 Go 语言构建企业级的 RESTful API 服务
  2. 7个问题,直击管理的本质
  3. 推荐8个冷门但硬核的软件和网站,你一定不能错过!
  4. “三板斧”式文化价值体系互助协作,打通企业全流程管理模式
  5. L3-001 凑零钱(dfs+玄学剪枝=AC)
  6. HTML的标签描述14
  7. JVM运行时数据区---方法区(演变和垃圾回收)
  8. lpi linux认证权威指南 pdf,LPI Linux认证指南读书笔记
  9. oracle四大语言_Oracle数据库之四大语言
  10. matlab 天线设计 泰勒加权_微带天线设计尺寸MATLAB编程及其仿真验证