Библиотека knigago >> Компьютеры: Языки и системы программирования >> Python >> Предварительная подготовка данных в Python: Том 1. Инструменты и валидация


СЛУЧАЙНЫЙ КОММЕНТАРИЙ

# 2452, книга: Золотое сечение Иуды
автор: Валерий Ламзов

"Золотое сечение Иуды" - смелый и напряженный роман, погружающий читателя в запутанный мир лжи, предательства и последствий. Автор Валерий Ламзов мастерски сплетает различные сюжетные линии, создавая захватывающее и захватывающее повествование. Главный герой, Александр, частный детектив с темным прошлым, оказывается втянутым в сложную игру манипуляций и обмана. Он нанят, чтобы найти пропавшего скульптора, но вскоре обнаруживает, что за фасадом этого, казалось бы, простого дела...

СЛУЧАЙНАЯ КНИГА

Семейство Ченчи. Александр Дюма
- Семейство Ченчи

Жанр: Классическая проза

Год издания: 2007

Серия: Культовая классика

Артём Владимирович Груздев - Предварительная подготовка данных в Python: Том 1. Инструменты и валидация

Предварительная подготовка данных в Python: Том 1. Инструменты и валидация
Книга - Предварительная подготовка данных в Python: Том 1. Инструменты и валидация.  Артём Владимирович Груздев  - прочитать полностью в библиотеке КнигаГо
Название:
Предварительная подготовка данных в Python: Том 1. Инструменты и валидация
Артём Владимирович Груздев

Жанр:

Python

Изадано в серии:

неизвестно

Издательство:

ДМК Пресс

Год издания:

ISBN:

978-5-93700-156-6

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Предварительная подготовка данных в Python: Том 1. Инструменты и валидация"

В двухтомнике представлены материалы по применению классических методов машинного обучения в различных промышленных задачах. Первый том посвящен инструментам Python – основным библиотекам, классам и функциям, необходимым для предварительной подготовки данных, построения моделей машинного обучения, выполнения различных стратегий валидации. В конце первого тома разбираются задачи с собеседований по SQL, Python, математической статистике и теории вероятностей. Издание рассчитано на специалистов по анализу данных, а также может быть полезно широкому кругу специалистов, интересующихся машинным обучением.

Читаем онлайн "Предварительная подготовка данных в Python: Том 1. Инструменты и валидация". [Страница - 86]

import train_test_split
from sklearn.impute import SimpleImputer
from sklearn.preprocessing import (StandardScaler,
OneHotEncoder)
from sklearn.compose import ColumnTransformer
from sklearn.linear_model import LogisticRegression
from sklearn.pipeline import Pipeline
# записываем CSV-файл в объект DataFrame
data = pd.read_csv('Data/StateFarm_missing.csv', sep=';')
data.head(5)

Исходный набор содержит расширенные данные американской автостраховой компании StateFarm (добавлены категориальные признаки). Он представляет собой записи о 8293 клиентах, классифицированных на два класса: 0 – отклика нет на предложение автостраховки (7462 клиента) и 1 – отклик есть на
предложение автостраховки (831 клиент). По каждому наблюдению (клиенту)
фиксируются следующие переменные (характеристики):
 количественный признак Пожизненная ценность клиента [Customer
Lifetime Value];
 категориальный признак Вид страхового покрытия [Coverage];
 категориальный признак Образование [Education];
 категориальный признак Тип занятости [EmploymentStatus];

252



Инструменты

 категориальный признак Пол [Gender];
 количественный признак Доход клиента [Income];
 количественный признак Размер ежемесячной автостраховки [Monthly
Premium Auto];
 количественный признак Количество месяцев со дня подачи последнего
страхового требования [Months Since Last Claim];
 количественный признак Количество месяцев с момента заключения
страхового договора [Months Since Policy Inception];
 количественный признак Количество открытых страховых обращений
[Number of Open Complaints];
 количественный признак Количество полисов [Number of Policies];
 бинарная зависимая переменная Отклик на предложение автостраховки
[Response].
Видим, что наши данные содержат как количественные, так и категориальные переменные. Кроме того, у нас есть пропуски.
Выполним случайное разбиение данных на обучающую и тестовую выборки: сформируем обучающий массив признаков, тестовый массив признаков,
обучающий массив меток, тестовый массив меток.
# разбиваем данные на обучающие и тестовые: получаем обучающий
# массив признаков, тестовый массив признаков, обучающий массив
# меток, тестовый массив меток
X_train, X_test, y_train, y_test = train_test_split(
data.drop('Response', axis=1),
data['Response'],
test_size=0.3,
stratify=data['Response'],
random_state=42)

Давайте создадим списки категориальных и количественных переменных.
# создаем списки категориальных
# и количественных столбцов
cat_columns = X_train.select_dtypes(
include='object').columns.tolist()
num_columns = X_train.select_dtypes(
exclude='object').columns.tolist()

Теперь создаем конвейер для количественных переменных и конвейер для
категориальных переменных. Для количественных переменных будем применять импутацию медианами и стандартизацию, а для категориальных переменных будем применять импутацию самой часто встречающейся категорией
и дамми-кодирование. Конвейеры, ответственные за операции предварительной подготовки (трансформации переменных), так и называют – трансформерами (transformers).
# создаем конвейер для количественных переменных
num_pipe = Pipeline([
('imputer', SimpleImputer(strategy='median')),
('scaler', StandardScaler())
])

7.7. Знакомство с классом ColumnTransformer  253
# создаем конвейер для категориальных переменных
cat_pipe = Pipeline([
('imputer', SimpleImputer(strategy='most_frequent')),
('ohe', OneHotEncoder(sparse=False, handle_unknown='ignore'))
])

Теперь создаем список трансформеров – трехэлементных кортежей. Первый
элемент кортежа – название конвейера с преобразованиями для определенного списка переменных (столбцов), второй элемент – собственно конвейер,
и третий элемент – соответствующий список переменных (столбцов).
# создаем список трехэлементных кортежей, в котором
# первый элемент кортежа – название конвейера с
# преобразованиями для определенного типа признаков
transformers = [('num', num_pipe, num_columns),
('cat', cat_pipe, cat_columns)]

Теперь создаем экземпляр класса ColumnTransformer, передав список трансформеров.
# передаем список трансформеров в ColumnTransformer
transformer = ColumnTransformer(transformers=transformers)

Давайте взглянем на созданный нами объект. Здесь нас интересует порядок столбцов, который задает экземпляр класса ColumnTransformer. Это нам
понадобится для правильного сопоставления весов логистической регрессии
названиям признаков.
# смотрим трансформер
transformer

Вывод представляет собой схему предварительной обработки данных, заданную экземпляром класса ColumnTransformer.
Щелкнем по стрелке слева от ColumnTransformer и получим следующий
вывод.

254



Инструменты

ColumnTransformer(transformers=[('num',
Pipeline(steps=[('imputer',
SimpleImputer(strategy='median')),
('scaler', StandardScaler())]),
['Customer Lifetime Value', 'Income',
'Monthly Premium Auto',
'Months Since Last Claim',
'Months Since Policy --">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.

Книги схожие с «Предварительная подготовка данных в Python: Том 1. Инструменты и валидация» по жанру, серии, автору или названию:

Анализ поведенческих данных на R и Python. Флоран Бюиссон
- Анализ поведенческих данных на R и Python

Жанр: Python

Год издания: 2022

Серия: Бестселлеры o’reilly