Ի՞նչ մեթոդներ կան կատեգորիական նշանների հետ աշխատելու համար։
sobes.tech AI
Պատասխան AI-ից
Մեքենայական ուսուցման մեջ կատեգորიული նշանների հետ հիմնականում աշխատում են հետևյալ հիմնական մեթոդներով՝
-
Label Encoding (նշանների կոդավորում) — յուրաքանչյուր կատեգորիայի համար նշանակվում է յուրահատուկ թիվ։ Համապատասխանում է դասավորված կատեգորիաներին, բայց կարող է մոլորեցնել մոդելը, եթե կարգը բացակայում է։
-
One-Hot Encoding — ստեղծվում է բինար հատկություն յուրաքանչյուր կատեգորիայի համար։ Օրինակ, «Գույն» հատկությունը {կարմիր, կապույտ, կանաչ} փոխարկվում է երեք բինար հատկությունների։
-
Target Encoding (թիրախային կոդավորում) — կատեգորիաները փոխարինվում են նպատակային փոփոխականի վիճակագրությամբ (օրինակ, յուրաքանչյուր կատեգորիայի համար նպատակային փոփոխականի միջին արժեքը)։ Պահանջվում է զգուշություն՝ տվյալների արտահոսքը կանխելու համար։
-
Frequency Encoding (հաճախականության կոդավորում) — կատեգորիաները փոխարինվում են դրանց հանդիպման հաճախականությամբ։
-
Embeddings (վեկտորային ներկայացումներ) — մեծ թվով եզակի արժեքներ ունեցող կատեգորիաների համար (օրինակ, NLP-ում) օգտագործվում են վեկտորային ներկայացումներ, որոնք ուսուցանվում են միասին մոդելի հետ։
Ընտրությունը կախված է խնդրից, մոդելից և տվյալների ծավալից։ Օրինակ, որոշումների ծառերի համար հաճախ բավարար է Label կամ One-Hot Encoding, իսկ նեյրոնային ցանցերի համար՝ embeddings։
Python-ով One-Hot Encoding-ի օրինակ՝
import pandas as pd
df = pd.DataFrame({'Գույն': ['կարմիր', 'կապույտ', 'կանաչ', 'կապույտ']})
df_encoded = pd.get_dummies(df, columns=['Գույն'])
print(df_encoded)
Արդյունք՝
Գույնկարմիր Գույնկանաչ Գույնկապույտ
0 1 0 0
1 0 0 1
2 0 1 0
3 0 0 1