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
    
    

    The 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"                                                                                     
          ⋮
    
    

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

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

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

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

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

    свернуть все

    Характерный трансформатор, заданный как FeatureTransformer объект.

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

    Пример: 1:12

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

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

    свернуть все

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

    Имя столбцаОписание
    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-means, чтобы назначить каждое наблюдение одному из 10 кластеры. Каждая строка получившейся функции соответствует наблюдению и является 1st компонент центроида кластера, сопоставленный с этим наблюдением. Результирующей функцией является числовая переменная.
    kmd4Euclidean distance to centroid 4 (kmeans clustering with k = 10)Программа использует кластеризацию k-means, чтобы назначить каждое наблюдение одному из 10 кластеры. Каждая строка получившейся функции является евклидовым расстоянием от соответствующего наблюдения до центроида 41й кластер. Результирующей функцией является числовая переменная.
    kmiCluster index encoding (kmeans clustering with k = 10)Программа использует кластеризацию k-means, чтобы назначить каждое наблюдение одному из 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