当前位置:   article > 正文

sklearn之Multioutput 估计器_multioutputclassifier

multioutputclassifier

sklearn.multioutput 可以处理多输出 (multi-output) 的分类

一个例子就是预测图片每一个像素(标签) 的像素值是多少 (从 0 到 255 的 256 个类别)

Multioutput 估计器有两个:

  • MultiOutputRegressor: 多输出回归   

  • MultiOutputClassifier: 多输出分类

MultiOutputClassifier:

  • 标签 1 - 小于等于 4,4 和 7 之间,大于等于 7 (三类)

  • 标签 2 - 数字本身 (十类)

  1. from sklearn.multioutput import MultiOutputClassifier
  2. from sklearn.datasets import load_digits
  3. from sklearn.model_selection import train_test_split
  4. from sklearn.ensemble import RandomForestClassifier
  5. import numpy as np
  6. digits = load_digits()
  7. X_train, X_test, y_train, y_test= train_test_split( digits['data'], digits['target'], test_size=0.2 )
  8. y_train_1st=y_train.copy()
  9. y_train_1st[y_train<=4]=0
  10. y_train_1st[np.logical_and(y_train>4,y_train<7)]=1
  11. y_train_1st[y_train>=7]=2
  12. y_train_multioutput=np.c_[y_train_1st,y_train]
  13. print(y_train_multioutput)
  14. #用含有 100 棵决策树的随机森林来解决这个多输入分类问题。
  15. Mo=MultiOutputClassifier(RandomForestClassifier(n_estimators=100))
  16. Mo.fit(X_train,y_train_multioutput)
  17. #这个 ndarray 第一列是标签 1 的类别,第二列是标签 2 的类别。
  18. print(Mo.predict(X_test[:5,:]))

测试结果:

  1. F:\开发工具\pythonProject\tools\venv\Scripts\python.exe F:/开发工具/pythonProject/tools/python的sklear学习/sklearn04.py
  2. [[0 3]
  3. [1 5]
  4. [1 5]
  5. ...
  6. [2 9]
  7. [2 9]
  8. [2 7]]
  9. [[0 3]
  10. [0 0]
  11. [0 0]
  12. [0 0]
  13. [2 9]]
  14. Process finished with exit code 0

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/150348
推荐阅读
相关标签
  

闽ICP备14008679号