Sobes.tech
Junior — Middle

Раванди сохтани дарахти қарор чӣ гуна аст? Кадом меъёрҳои тақсимро медонед?

sobes.tech AI

Ҷавоб аз AI

Ҳар бир қарор дарахти, асосий маълумотлар тўпламининг давомий бўлиниши орқали қурилади, бу бўлинмалар дарахтнинг узелларига айланади. Ҳар бир қадамда, хусусият ва чек (рақамли хусусиятлар учун) танланади, улар орқали маълумотлар бўлакларга ажратилади, натижада олинган бўлакларнинг бирдеклиги (тазаллиги) максималлаштирилади.

Асосий бўлинш мезонлари:

  • Gini индекси (Gini impurity) — тасодифий танланган объектнинг нотўғри таснифланиш эҳтимолини ўлчайди, агар у тасодифий равишда таснифланса, бўлакдаги синф тақсимотига асосланиб. Қанча паст бўлса, шунча яхши.

  • Маълумот олиш (Information Gain) — бўлиншдан олдин ва кейин энтропия фарқи. Қанча катта бўлса, бўлинш шунча яхши.

  • Маълумот олиш нисбати (Information Gain Ratio) — маълумот олишнинг модификацияси бўлиб, у бўлаклар сони ва ҳажмини ҳисобга олади, шунинг учун кўп қийматли хусусиятларга қарши ёндошувни олдини олади.

  • Варианснинг камайиши (Variance reduction) — регрессия учун қўлланилади, бўлакларда мақсад ўзгарувчисининг қийматларининг тарқалишини минималлаштиради.

Осон бўлинш намунаси:

# Энг яхши бўлиншни танлаш учун псевдокод
best_gain = 0
best_feature = None
for feature in features:
    for threshold in possible_thresholds(feature):
        left, right = split(data, feature, threshold)
        gain = information_gain(data, left, right)
        if gain > best_gain:
            best_gain = gain
            best_feature = (feature, threshold)