zoukankan      html  css  js  c++  java
  • multilabel-multiclass classifier

    multiclass与multilabel的区别

    • multiclass分类是指n取1
    • multilabel分类是指n取k

    对于xgboost,如果想要做multiclass分类可以借助sklearn的 from sklearn.multiclass import OneVsRestClassifier 。想要做multilabel分类,可以借助sklearn的 from sklearn.multioutput import MultiOutputClassifier。举例如下:

    import xgboost as xgb
    from sklearn.datasets import make_multilabel_classification
    from sklearn.model_selection import train_test_split
    from sklearn.multioutput import MultiOutputClassifier
    from sklearn.metrics import accuracy_score
    
    # create sample dataset
    X, y = make_multilabel_classification(n_samples=3000, n_features=45, n_classes=20, n_labels=1,
                                          allow_unlabeled=False, random_state=42)
    
    # split dataset into training and test set
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=123)
    
    # create XGBoost instance with default hyper-parameters
    xgb_estimator = xgb.XGBClassifier(objective='binary:logistic')
    
    # create MultiOutputClassifier instance with XGBoost model inside
    multilabel_model = MultiOutputClassifier(xgb_estimator)
    
    # fit the model
    multilabel_model.fit(X_train, y_train)
    
    # evaluate on test data
    print('Accuracy on test data: {:.1f}%'.format(accuracy_score(y_test, multilabel_model.predict(X_test))*100))
    
  • 相关阅读:
    宽带手记
    adb的logcat使用
    项目经理
    小A老空调需求管理小记
    作为一个项目经理你关注的是什么
    技术采撷
    项目的落地目标
    和我一起使用postcss+gulp进行vw单位的移动端的适配
    高级程序设计第十三章,简单的事件捕获事件冒泡整理
    javascript高级程序设计第二章知识点提炼
  • 原文地址:https://www.cnblogs.com/zongfa/p/14249270.html
Copyright © 2011-2022 走看看