etiqueta_binarizar

 label_binarize(y, *, classes, neg_label=0, pos_label=1,
                   sparse_output=False):
    """Binarize labels in a one-vs-all fashion
    Several regression and binary classification algorithms are
    available in scikit-learn. A simple way to extend these algorithms
    to the multi-class classification case is to use the so-called
    one-vs-all scheme.
    以一对多的方式二值化标签
     scikit-learn 中提供了几种回归和二元分类算法。 将这些算法扩展到多类分类情况的一种简单方法是使用所谓的“一对一”方案。
    This function makes it possible to compute this transformation for a
    fixed set of class labels known ahead of time.
    此函数可以为提前已知的一组固定类标签计算此转换。
    Parameters参数
    ----------
    y : array-like
        Sequence of integer labels or multilabel data to encode.#要编码的整数标签或多标签数据的序列。
    classes : array-like of shape [n_classes]
        Uniquely holds the label for each class.#唯一地保存每个类的标签。
    neg_label : int (default: 0)
        Value with which negative labels must be encoded.#负标签必须编码的值。
    pos_label : int (default: 1)
        Value with which positive labels must be encoded.#必须对正标签进行编码的值。
    sparse_output : boolean (default: False),
        Set to true if output binary array is desired in CSR sparse format#如果需要 CSR 稀疏格式的输出二进制数组,则设置为 true
    Returns
    -------
    Y : numpy array or CSR matrix of shape [n_samples, n_classes]
        Shape will be [n_samples, 1] for binary problems.#对于二元问题,形状将为 [n_samples, 1]。
    Examples
    --------
    >>> from sklearn.preprocessing import label_binarize
    >>> label_binarize([1, 6], classes=[1, 2, 4, 6])
    array([[1, 0, 0, 0],
           [0, 0, 0, 1]])
    The class ordering is preserved:
    >>> label_binarize([1, 6], classes=[1, 6, 4, 2])
    array([[1, 0, 0, 0],
           [0, 1, 0, 0]])
    Binary targets transform to a column vector
    >>> label_binarize(['yes', 'no', 'no', 'yes'], classes=['no', 'yes'])
    array([[1],
           [0],
           [0],
           [1]])
    See also
    --------
    LabelBinarizer : class used to wrap the functionality of label_binarize and
        allow for fitting to classes independently of the transform operation
    """

Registre los problemas encontrados. Resulta que no hay problema para usar esta función para el problema de tres categorías, pero ahora quiero modificar y adaptarme al problema de dos categorías, y encuentro muchos errores. Hay muchos lugares para modificar en el código renovar.

Resuelto, en resumen.

label_binarize puede convertir unidimensional en multidimensional para más de dos clasificaciones, y sigue siendo unidimensional para la clasificación binaria.Para adaptarse al siguiente código, es necesario convertir la clasificación binaria en bidimensional.

np_utils.to_categorical(train, 2) convierte la etiqueta original [1,0,0,0,1...] en un código único con una fila y dos columnas. 

Fui estúpido, lo pensé durante mucho tiempo, leí el código muchas veces, busqué muchas cosas, lo entendí completamente y casi quería volver a escribirlo, y luego lo hice con una línea de código, pero ¡el conocimiento es todavía demasiado superficial! .

Supongo que te gusta

Origin blog.csdn.net/qq_40016005/article/details/121445503
Recomendado
Clasificación