#python #python-3.x #pandas #numpy #machine-learning
#python #python-3.x #pandas #numpy #машинное обучение
Вопрос:
В настоящее время я работаю с данными Analytics, которые отображают целевую страницу пользователей, и я уже сделал данные в гендерных и возрастных группах удобными для машинного обучения с помощью следующего метода:
age = dataset.pop('ga:userAgeBracket')
gender = dataset.pop('ga:userGender')
dataset['18-24'] = (age == '18-24') * 1.0
dataset['25-34'] = (age == '25-34') * 1.0
dataset['35-44'] = (age == '35-44') * 1.0
dataset['45-54'] = (age == '45-54') * 1.0
dataset['55-64'] = (age == '55-64') * 1.0
dataset['65 '] = (age == '65 ') * 1.0
dataset['Male'] = (gender == 'male') * 1.0
dataset['Female'] = (gender == 'female') * 1.0
Этот метод отлично работает для данных, которые имеют всего несколько различных вариантов.
Однако ga:landingPagePath потенциально может содержать бесконечное количество точек данных, и мне было интересно, есть ли простой способ выполнить цикл через это и создать ту же структуру столбцов, что и у меня, с другими точками данных
Просто для справки, вот как выглядит набор данных после того, как я очистил столбец «пол и возраст»:
Количество уникальных URL-адресов для этого конкретного набора данных с установленным фильтром РЕГУЛЯРНЫХ выражений составляет около 70
Комментарии:
1. Уточняющий вопрос: Что вы подразумеваете под одинаковой структурой столбцов? Проблема, с которой вы столкнетесь в будущем, заключается в разреженности. Например, у вас может быть только 1 переход на редкую целевую страницу (и у вас их будет много). Вместо этого вы могли бы подумать о создании классов на основе пути к странице. Итак: example.com/books/book-1.html получил бы только класс «books». Мое мнение таково, что вам придется перенести данные URL в класс более высокого уровня.
2. Привет @Jarad, существует фильтр, предотвращающий появление непонятных URL-адресов при извлечении из Analytics, так что в общей сложности существует более 70 URL-адресов, для которых мне нужно создать столбцы
3. Знаете ли вы о pd.get_dummies()? Я полагаю, вы также могли бы использовать label_binarize от scikit-learn.