美文网首页
构造多分类器的常用方法

构造多分类器的常用方法

作者: 来个芒果 | 来源:发表于2017-05-09 11:31 被阅读0次

    现实中常常遇到多分类的任务,我们可以利用二分类器来解决这种多分类为题,常用的方法由:

    • 一对一 one vs one,ovoSvms,
      将n个类别两两配对,产生n(n-1)/2个二分类任务
    • 一对多 ovr
      每次将一个类别作为正例,其余作为负例,产生n个二分类任务
    • 多对多 ovo
      部分类别作为正例,其余类别作为负例

    重点介绍OVR方法:
    首先根据n个类别训练n个模型:

    models = {}
    for origin in unique_origins:
        lr=LogisticRegression()
        x_train=cars[features]
        y_train=cars['origin']==origin#因为预测列只能是binary classification,所以应把它转化为只有0/1或true/false的形式。
        lr.fit(x_train,y_train)
        models[origin]=lr
    

    使用每个模型进行预测,建立一个预测概率结果的dataframe,选取每行中最大概率所在col作为预测的分类结果:

    testing_probs = pd.DataFrame(columns=unique_origins)
    for origin in unique_origins:
        predictions=models[origin].predict_proba(test[features])
        testing_probs[origin]=predictions[:,1]
    
    predicted_origins=testing_probs.idxmax(axis=1)
    print(predicted_origins)
    

    相关文章

      网友评论

          本文标题:构造多分类器的常用方法

          本文链接:https://www.haomeiwen.com/subject/fnubtxtx.html