describe

Опишите генерированные признаки

    Описание

    describe(Transformer) распечатывает описание признаков, генерированных Transformer. Создайте FeatureTransformer объект Transformer при помощи gencfeatures функция.

    describe(Transformer,Index) распечатывает описание функций, идентифицированных Index.

    пример

    Info = describe(___) возвращает описания функции в таблице. Имена строки Info соответствуйте именам функций.

    Примеры

    свернуть все

    Генерируйте признаки из таблицы данных о предикторе при помощи gencfeatures. Смотрите генерированные признаки при помощи describe объектная функция.

    Считайте данные об отключении электроэнергии в рабочую область как таблица. Удалите наблюдения с отсутствующими значениями и отобразите первые несколько строк таблицы.

    outages = readtable("outages.csv");
    Tbl = rmmissing(outages);
    head(Tbl)
    ans=8×6 table
           Region           OutageTime        Loss     Customers     RestorationTime            Cause       
        _____________    ________________    ______    __________    ________________    ___________________
    
        {'SouthWest'}    2002-02-01 12:18    458.98    1.8202e+06    2002-02-07 16:50    {'winter storm'   }
        {'SouthEast'}    2003-02-07 21:15     289.4    1.4294e+05    2003-02-17 08:14    {'winter storm'   }
        {'West'     }    2004-04-06 05:44    434.81    3.4037e+05    2004-04-06 06:10    {'equipment fault'}
        {'MidWest'  }    2002-03-16 06:18    186.44    2.1275e+05    2002-03-18 23:23    {'severe storm'   }
        {'West'     }    2003-06-18 02:49         0             0    2003-06-18 10:54    {'attack'         }
        {'NorthEast'}    2003-07-16 16:23    239.93         49434    2003-07-17 01:12    {'fire'           }
        {'MidWest'  }    2004-09-27 11:09    286.72         66104    2004-09-27 16:37    {'equipment fault'}
        {'SouthEast'}    2004-09-05 17:48    73.387         36073    2004-09-05 20:46    {'equipment fault'}
    
    

    Некоторые переменные, такие как OutageTime и RestorationTime, имейте типы данных, которые не поддерживаются функциями обучения классификатора как fitcensemble.

    Генерируйте 25 признаков от предикторов в Tbl это может использоваться, чтобы обучить уволенный ансамбль. Задайте Region табличная переменная как ответ.

    Transformer = gencfeatures(Tbl,"Region",25,"TargetLearner","bag")
    Transformer = 
      FeatureTransformer with properties:
    
                         Type: 'classification'
                TargetLearner: 'bag'
        NumEngineeredFeatures: 22
          NumOriginalFeatures: 3
             TotalNumFeatures: 25
    
    

    Transformer объект содержит информацию о генерированных признаках, и преобразования раньше создавали их.

    Чтобы лучше изучить генерированные признаки, используйте describe объектная функция.

    Info = describe(Transformer)
    Info=25×4 table
                                         Type        IsOriginal          InputVariables                                                            Transformations                                                 
                                      ___________    __________    ___________________________    _________________________________________________________________________________________________________________
    
        Loss                          Numeric          true        Loss                           ""                                                                                                               
        Customers                     Numeric          true        Customers                      ""                                                                                                               
        c(Cause)                      Categorical      true        Cause                          "Variable of type categorical converted from a cell data type"                                                   
        RestorationTime-OutageTime    Numeric          false       OutageTime, RestorationTime    "Elapsed time in seconds between OutageTime and RestorationTime"                                                 
        sdn(OutageTime)               Numeric          false       OutageTime                     "Serial date number from 01-Feb-2002 12:18:00"                                                                   
        woe3(c(Cause))                Numeric          false       Cause                          "Variable of type categorical converted from a cell data type -> Weight of Evidence (positive class = SouthEast)"
        doy(OutageTime)               Numeric          false       OutageTime                     "Day of the year"                                                                                                
        year(OutageTime)              Numeric          false       OutageTime                     "Year"                                                                                                           
        kmd1                          Numeric          false       Loss, Customers                "Euclidean distance to centroid 1 (kmeans clustering with k = 10)"                                               
        kmd5                          Numeric          false       Loss, Customers                "Euclidean distance to centroid 5 (kmeans clustering with k = 10)"                                               
        quarter(OutageTime)           Numeric          false       OutageTime                     "Quarter of the year"                                                                                            
        woe2(c(Cause))                Numeric          false       Cause                          "Variable of type categorical converted from a cell data type -> Weight of Evidence (positive class = NorthEast)"
        year(RestorationTime)         Numeric          false       RestorationTime                "Year"                                                                                                           
        month(OutageTime)             Numeric          false       OutageTime                     "Month of the year"                                                                                              
        Loss.*Customers               Numeric          false       Loss, Customers                "Loss .* Customers"                                                                                              
        tods(OutageTime)              Numeric          false       OutageTime                     "Time of the day in seconds"                                                                                     
          ⋮
    
    

    Info таблица показывает следующее:

    • Первые три генерированных признака являются исходными к Tbl, несмотря на то, что программное обеспечение преобразует исходный Cause переменная к категориальной переменной c(Cause).

    • OutageTime и RestorationTime переменные не включены как генерированные признаки, потому что они - datetime переменные, которые не могут использоваться, чтобы обучить сложенную в мешок модель ансамбля. Однако программное обеспечение выводит многие генерированные признаки от этих переменных, таких как четвертая функция RestorationTime-OutageTime.

    • Некоторыми генерированными признаками является комбинация нескольких преобразований. Например, программное обеспечение генерирует шестой признак woe3(c(Cause)) путем преобразования Cause переменная к категориальной переменной и затем вычислению Веса значений Доказательства для получившейся переменной.

    Входные параметры

    свернуть все

    Покажите трансформатор в виде FeatureTransformer объект.

    Функции, чтобы описать в виде числового или логического вектора, указывающего на положение функций, или массив строк или массив ячеек из символьных векторов, указывающий на имена функций.

    Пример: 1:12

    Типы данных: single | double | logical | string | cell

    Выходные аргументы

    свернуть все

    Покажите описания, возвращенные как таблица. Каждая строка соответствует генерированному признаку, и каждый столбец предоставляет следующую информацию.

    ColumnName Описание
    TypeУказывает на тип данных функции, любого numeric или categorical
    IsOriginalУказывает, является ли функцией исходная функция (true) или спроектированная функция (false)
    InputVariablesУказывает, что исходные функции раньше генерировали признак
    TransformationsОписывает преобразования, используемые, чтобы генерировать признак, в порядке, они применяются — Для получения дополнительной информации, видят Преобразования Функции.

    Алгоритмы

    свернуть все

    Покажите преобразования

    Эта таблица предоставляет дополнительную информацию о некоторых более комплексных описаниях преобразования функции в Info.Transformations.

    Демонстрационное имя функцииДемонстрационное описание преобразования в InfoДополнительная информация
    eb4(Variable)Equal-width binning (number of bins = 4)Программное обеспечение разделяет Variable значения в 4 интервалы равной ширины. Получившейся функцией является категориальная переменная.
    fenc(Variable)Frequency encoding (number of levels = 10)Программное обеспечение вычисляет частоту 10 категории (или уровни) в Variable. В получившейся функции программное обеспечение заменяет каждое категориальное значение на соответствующую частоту категории, создавая числовую переменную.
    kmc1Centroid encoding (component #1) (kmeans clustering with k = 10)Программное обеспечение использует k - означает кластеризироваться, чтобы присвоить каждое наблюдение одному из 10 кластеры. Каждая строка в получившейся функции соответствует наблюдению и является 1компонент Св. кластерного центроида сопоставлен с тем наблюдением. Получившейся функцией является числовая переменная.
    kmd4Euclidean distance to centroid 4 (kmeans clustering with k = 10)Программное обеспечение использует k - означает кластеризироваться, чтобы присвоить каждое наблюдение одному из 10 кластеры. Каждая строка в получившейся функции является Евклидовым расстоянием от соответствующего наблюдения до центроида 4кластер th. Получившейся функцией является числовая переменная.
    kmiCluster index encoding (kmeans clustering with k = 10)Программное обеспечение использует k - означает кластеризироваться, чтобы присвоить каждое наблюдение одному из 10 кластеры. Каждая строка в получившейся функции является кластерным индексом для соответствующего наблюдения. Получившейся функцией является категориальная переменная.
    q50(Variable)Equiprobable binning (number of bins = 50)Программное обеспечение разделяет Variable значения в 50 интервалы равной вероятности. Получившейся функцией является категориальная переменная.
    woe5(Variable)Weight of Evidence (positive class = Class5)

    Программное обеспечение выполняет следующие шаги, чтобы создать получившуюся функцию:

    • Вычислите, сколько общих наблюдений имеет Class5 как ответ (a) и сколько имеет различный ответ (b).

    • Для каждой категории в Variable, определите, сколько наблюдений в той категории имеет Class5 как ответ (c) и сколько имеет различный ответ (d).

    • Для каждой категории вычислите Вес доказательства (WoE) как

      ln((c+0.5)/a(d+0.5)/b).

    • Замените каждое категориальное значение на соответствующий WoE, создав числовую переменную.

    Введенный в R2021a