Разработка функций - это процесс преобразования ваших входных данных таким образом, чтобы они были более репрезентативными для алгоритмов машинного обучения. Однако о нем очень часто забывают из-за отсутствия простого в использовании пакета. Вот почему мы решили создать одно - imperio, третье наше непростительное проклятие.
Как работает ZCATransformer?
Отбеливание или сферирование - это этап предварительной обработки данных. Его можно использовать для удаления корреляции или зависимостей между объектами в наборе данных. Это может помочь лучше обучить модель машинного обучения.
Собственные значения и собственные векторы сначала вычисляются из ковариации набора данных с нулевым центрированием. Затем они используются для отбеливания данных с помощью ZCA (метод анализа нулевых компонентов).
Использование imperio ZCATransformer:
Все трансформаторы от imperio следуют API трансформаторов от sci-kit-learn, что делает их полностью совместимыми с конвейерами sci-kit learn. Во-первых, если вы не установили библиотеку, вы можете сделать это, набрав следующую команду:
pip install imperio
Теперь вы можете импортировать алгоритм, подогнать его и преобразовать некоторые данные.
from imperio import ZCATransformer zca = ZCATransformer() X_transformed = zca.fit_transform(X,y)
Как мы уже говорили, его можно легко использовать в конвейере научного обучения.
from sklearn.pipeline import Pipeline from imperio import ZCATransformer from sklearn.linear_model import LogisticRegression pipe = Pipeline( [ ('zca', ZCATransformer()), ('model', LogisticRegression()) ])
Помимо API-интерфейса sci-kit learn, у трансформаторов Imperio есть дополнительная функция, которая позволяет применять трансформатор к фрейму данных pandas.
new_df = zca.apply(df, target = 'target')
Конструктор ZCATransformer имеет следующие аргументы:
- column_index (list, default = None): список индексов категориальных столбцов, к которым применяется преобразователь. Если установлено значение «Нет», он будет применен ко всем столбцам.
У функции apply есть следующие аргументы.
- df (pd.DataFrame): фрейм данных pandas, к которому следует применить преобразователь.
- target (str): имя целевого столбца.
- столбцы (список, по умолчанию = Нет): список с именами столбцов, к которым следует применить преобразователи.
Теперь применим его к набору данных. Мы будем использовать его в наборе данных о диабете Пима. Обратите внимание, мы можем применить его только к числовым данным, поэтому при необходимости выбирайте столбцы.
Как мы можем видеть из матриц путаницы, изначально мы получили точность 77%, а после применения ZCATransformer мы получили точность 83%.
Сделано с ❤ от Sigmoid.
Следуйте за нами в Facebook, Instagram и LinkedIn:
Https://www.facebook.com/sigmoidAI