使用层次多标签分类

一个简单的例子,展示如何在HiClass中使用多标签分类。 请查看多标签分类的算法概述部分,了解实现的动机和背景。

输出:

[[['Mammal' 'Human']
  ['Fish' '']]

 [['Mammal' 'Human']
  ['Mammal' 'Bovine']]

 [['Mammal' 'Human']
  ['' '']]]

import numpy as np
from sklearn.tree import DecisionTreeClassifier
from hiclass.MultiLabelLocalClassifierPerNode import MultiLabelLocalClassifierPerNode

# Define data
X_train = [[1, 2], [3, 4], [5, 6]]
X_test = [[1, 2], [3, 4], [5, 6]]

# Define labels
Y_train = np.array(
    [
        [["Mammal", "Human"], ["Fish"]],  # Mermaid
        [["Mammal", "Human"], ["Mammal", "Bovine"]],  # Minotaur
        [["Mammal", "Human"]],  # just a Human
    ],
    dtype=object,
)

# Use decision tree classifiers for every node
tree = DecisionTreeClassifier()
classifier = MultiLabelLocalClassifierPerNode(local_classifier=tree)

# Train local classifier per node
classifier.fit(X_train, Y_train)

# Predict
predictions = classifier.predict(X_test)
print(predictions)

脚本的总运行时间: ( 0 分钟 0.007 秒)

Gallery generated by Sphinx-Gallery