Zamanla kateqorik xüsusiyyətlər üçün hədəf kodlaşdırması nədir və necə sızmağı qarşısını alırıq?
sobes.tech Süni İntellekt
AI-dan cavab
Zaman seriyaları üçün kateqorik xüsusiyyətlər üçün target kodlaşdırması, kateqorik dəyərləri sayısal dəyərlərlə əvəz edən və məqsəd dəyişəninin statistikalarına əsaslanan bir metodudur (məsələn, hər kateqoriya üçün məqsədin orta dəyəri). Zaman məlumatları kontekstində, məlumat sızmasının (leakage) qarşısını almaq vacibdir, yəni kodlaşdırma zamanı gələcək məlumatlar istifadə edilmir.
Leakage-i qarşısını almaq üçün, hər zaman nöqtəsi üçün target kodlaşdırması hesablama zamanı yalnız həmin nöqtəyə qədər olan məlumatlar istifadə olunur. Məsələn, hər kateqoriya üçün, əvvəlki bütün müşahidələrdə məqsədin orta dəyəri hesablanır, cari və gələcək müşahidələr daxil edilmir. Bu, kümülatif orta və ya gecikmiş sürüşən pəncərələr istifadə edilərək həyata keçirilə bilər.
Python (pandas) nümunəsi:
import pandas as pd
df = pd.DataFrame({
'category': ['A', 'B', 'A', 'B', 'A'],
'target': [1, 0, 1, 1, 0],
'time': pd.date_range('2023-01-01', periods=5)
})
df = df.sort_values('time')
# Kateqoriya üzrə məqsədin kümülatif orta dəyəri, cari məqsəd istifadə edilməməsi üçün ötürülür
df['target_enc'] = df.groupby('category')['target'].apply(lambda x: x.shift().expanding().mean())
print(df)
Bu şəkildə target kodlaşdırması tarixi statistikaları əks etdirir və gələcək məlumatların sızmasını qarşısını alır.