#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)?