describe

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

    Описание

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

    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 переменная к категориальной переменной и затем вычислению Веса значений Доказательства для получившейся переменной.

    Генерируйте признаки из таблицы данных о предикторе при помощи genrfeatures. Смотрите генерированные признаки при помощи 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, имейте типы данных, которые не поддерживаются функциями обучения модели регрессии как fitrensemble.

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

    rng("default") % For reproducibility
    Transformer = genrfeatures(Tbl,"Loss",25,TargetLearner="bag")
    Transformer = 
      FeatureTransformer with properties:
    
                         Type: 'regression'
                TargetLearner: 'bag'
        NumEngineeredFeatures: 22
          NumOriginalFeatures: 3
             TotalNumFeatures: 25
    
    

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

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

    Info = describe(Transformer)
    Info=25×4 table
                                         Type        IsOriginal          InputVariables                                     Transformations                          
                                      ___________    __________    ___________________________    ___________________________________________________________________
    
        c(Region)                     Categorical      true        Region                         "Variable of type categorical converted from a cell data type"     
        Customers                     Numeric          true        Customers                      ""                                                                 
        c(Cause)                      Categorical      true        Cause                          "Variable of type categorical converted from a cell data type"     
        kmd2                          Numeric          false       Customers                      "Euclidean distance to centroid 2 (kmeans clustering with k = 10)" 
        kmd1                          Numeric          false       Customers                      "Euclidean distance to centroid 1 (kmeans clustering with k = 10)" 
        kmd4                          Numeric          false       Customers                      "Euclidean distance to centroid 4 (kmeans clustering with k = 10)" 
        kmd5                          Numeric          false       Customers                      "Euclidean distance to centroid 5 (kmeans clustering with k = 10)" 
        kmd9                          Numeric          false       Customers                      "Euclidean distance to centroid 9 (kmeans clustering with k = 10)" 
        cos(Customers)                Numeric          false       Customers                      "cos( )"                                                           
        RestorationTime-OutageTime    Numeric          false       OutageTime, RestorationTime    "Elapsed time in seconds between OutageTime and RestorationTime"   
        kmd6                          Numeric          false       Customers                      "Euclidean distance to centroid 6 (kmeans clustering with k = 10)" 
        kmi                           Categorical      false       Customers                      "Cluster index encoding (kmeans clustering with k = 10)"           
        kmd7                          Numeric          false       Customers                      "Euclidean distance to centroid 7 (kmeans clustering with k = 10)" 
        kmd3                          Numeric          false       Customers                      "Euclidean distance to centroid 3 (kmeans clustering with k = 10)" 
        kmd10                         Numeric          false       Customers                      "Euclidean distance to centroid 10 (kmeans clustering with k = 10)"
        hour(RestorationTime)         Numeric          false       RestorationTime                "Hour of the day"                                                  
          ⋮
    
    

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

    Info(1:3,:) % describe(Transformer,1:3)
    ans=3×4 table
                        Type        IsOriginal    InputVariables                           Transformations                        
                     ___________    __________    ______________    ______________________________________________________________
    
        c(Region)    Categorical      true          Region          "Variable of type categorical converted from a cell data type"
        Customers    Numeric          true          Customers       ""                                                            
        c(Cause)     Categorical      true          Cause           "Variable of type categorical converted from a cell data type"
    
    

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

    Info(10,:) % describe(Transformer,10)
    ans=1×4 table
                                       Type      IsOriginal          InputVariables                                   Transformations                         
                                      _______    __________    ___________________________    ________________________________________________________________
    
        RestorationTime-OutageTime    Numeric      false       OutageTime, RestorationTime    "Elapsed time in seconds between OutageTime and RestorationTime"
    
    

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

    Info(19,:) % describe(Transformer,19)
    ans=1×4 table
                           Type      IsOriginal    InputVariables                                                  Transformations                                               
                          _______    __________    ______________    ____________________________________________________________________________________________________________
    
        fenc(c(Cause))    Numeric      false           Cause         "Variable of type categorical converted from a cell data type -> Frequency encoding (number of levels = 10)"
    
    

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

    свернуть все

    Покажите трансформатор в виде 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 номинальная категориальная переменная. Затем для каждой категории в Variable, определите, сколько наблюдений в той категории имеет Class5 как ответ (c) и сколько имеет различный ответ (d).

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

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

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

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

    Введенный в R2021a