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

Как работает WhiteningTransformer?

Отбеливание или сферирование - это этап предварительной обработки данных. Его можно использовать для удаления корреляции или зависимостей между объектами в наборе данных. Это может помочь лучше обучить модель машинного обучения.

Собственные значения и собственные векторы сначала вычисляются из ковариации набора данных с нулевым центрированием. Затем они используются для отбеливания данных с помощью PCA (анализа главных компонентов).

Использование imperio WhiteningTransformer:

Все трансформаторы от imperio следуют API трансформаторов от sci-kit-learn, что делает их полностью совместимыми с конвейерами sci-kit learn. Во-первых, если вы не установили библиотеку, вы можете сделать это, набрав следующую команду:

pip install imperio

Теперь вы можете импортировать алгоритм, подогнать его и преобразовать некоторые данные.

from imperio import WhiteningTransformer
whitening = WhiteningTransformer()
X_transformed = whitening.fit_transform(X,y)

Как мы уже говорили, его можно легко использовать в конвейере научного обучения.

from sklearn.pipeline import Pipeline
from imperio import WhiteningTransformer
from sklearn.linear_model import LogisticRegression
pipe = Pipeline(
    [ 
     ('whitening', WhiteningTransformer()),
     ('model', LogisticRegression())
])

Помимо API-интерфейса sci-kit learn, у трансформаторов Imperio есть дополнительная функция, которая позволяет применять трансформатор к фрейму данных pandas.

new_df = whitening.apply(df, target = 'target')

Конструктор WhiteningTransformer имеет следующие аргументы:

  • column_index (list, default = None): список индексов категориальных столбцов, к которым применяется преобразователь. Если установлено значение «Нет», он будет применен ко всем столбцам.

У функции apply есть следующие аргументы.

  • df (pd.DataFrame): фрейм данных pandas, к которому следует применить преобразователь.
  • target (str): имя целевого столбца.
  • столбцы (список, по умолчанию = Нет): список с именами столбцов, к которым следует применить преобразователи.

Теперь применим его к набору данных. Мы будем использовать его в наборе данных о диабете Пима. Обратите внимание, мы можем применить его только к числовым данным, поэтому при необходимости выбирайте столбцы.

Как мы можем видеть из матриц путаницы, изначально мы получили точность 74%, а после применения WhiteningTransformer мы получили точность 79%.

Сделано с ❤ от Sigmoid.

Следуйте за нами в Facebook, Instagram и LinkedIn:

Https://www.facebook.com/sigmoidAI

Https://www.instagram.com/sigmo.ai/

Https://www.linkedin.com/company/sigmoid/