Я масштабирую числовые объекты (атрибуты) в наборе данных в алгоритме классификатора в проекте Data Science.
Я создал список числовых объектов и передал его функции вместе с набор данных и метка (класс) представляют все переменные функции
Каждый раз, когда я запускаю функцию; он удаляет функцию «метка» из списка, но выполняет следующие шаги по всему списку (с удаленным элементом), то есть выполняет масштабирование функции «метка» также
>>>list_num_attr
['sales',
'regular_price',
'current_price',
'ratio',
'promo1',
'promo2',
'cost',
'rgb_r_main_col',
'rgb_g_main_col',
'rgb_b_main_col',
'rgb_r_sec_col',
'rgb_g_sec_col',
'rgb_b_sec_col',
'label',
'profit',
'discount_ratio']
>>>
# Function to encode categorical features
def num_scaller(data, features_list, label_feature):
from sklearn.preprocessing import StandardScaler
scaler=StandardScaler()
# Removing the target feature from features list as it has 0 and 1 classes
# and doesn't need to be scalled
features_list.remove(label_feature)
# Scalling the numerical features
for ele in list(features_list):
data[[ele]] = scaler.fit_transform(data[[ele]]).reshape(-1,1)
return data
# Calling the function to scall numerical features excep for target feature
num_scalled = num_scaller(dataa, list_num_attr, 'label')
num_scalled
Если вы смотрели на функцию label ; Вы найдете его масштабированным и не имеет своих первоначальных значений, которые раньше имели только значения (0,1). если вы хотите набор данных, вот ссылка для него на GitHub