Дискретизация всех переменных
Вместо того чтобы дискретизировать непрерывные переменные по одной, удобнее сделать это автоматически. Чтобы получить список всех столбцов в Python, используйте следующий код:
variables = basetable.columns
Дискретизации подлежат только непрерывные переменные. Проверить, нужно ли дискретизировать переменную, можно по количеству уникальных значений: если их больше заданного порога, переменная считается непрерывной.
Это упражнение является частью курса
Введение в предиктивную аналитику на Python
Инструкции к упражнению
- Создайте список
variables, содержащий все названия столбцов базовой таблицы. - Напишите цикл, который перебирает все переменные из списка
variables. - Дополните оператор
ifтак, чтобы дискретизировались только переменные с более чем 5 различными значениями. - Разбейте непрерывные переменные на 10 интервалов с помощью метода
qcut.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Print the columns in the original basetable
print(basetable.columns)
# Get all the variable names except "target"
variables = list(____.____)
variables.remove("target")
# Loop through all the variables and discretize in 10 bins if there are more than 5 different values
for variable in ____:
if len(basetable.groupby(____))>____:
new_variable = "disc_" + variable
basetable[new_variable] = pd.qcut(basetable[____], ____)
# Print the columns in the new basetable
print(basetable.columns)