Стандартизация набора данных с помощью фиктивных переменных в python при решении задачи регрессии

#python #regression #gis #geopandas

#python #регрессия #гис #геопанды

Вопрос:

Предположим, что в задаче ГИС я хочу выполнить регрессионный анализ для набора данных с 6 атрибутами от a до e в качестве независимых переменных, например:

a, b, c, d, e, f

5, 6, 7, 8, 1, 0

e и f здесь являются фиктивными переменными, которые могут быть только 0 или 1. Теперь я хочу стандартизировать этот набор данных для подготовки регрессии, но я должен избегать стандартизации e и f. Обычный код стандартизации выглядит следующим образом:

 ##difine a standardization function

def standarize_data(data, stats):
    return (data - stats['mean'])/ stats['std']

## Complete standardization

data_standardizd = standarize_data(dataset, dataset_statistic)
  

Вот в чем проблема, если я напрямую выполню эту часть, фиктивная переменная также будет принята в стандартизацию, как мне избежать этого с правильным форматом?

Я пробую код, подобный этому:

 data_standardizd = standarize_data(dataset[a,b,c,d], dataset_statistic)
  

Возвращает ошибку

 KeyError: ('a', 'b', 'c', 'd')
  

Комментарии:

1. Да, просто стандартизируйте не фиктивные столбцы. Вы могли бы ввести только эти столбцы в функцию

2. каков правильный формат? Должен ли я писать так: data_standardizd = standarize_data(dataset[a, b, c, d], dataset_statistic)?