Sobes.tech
Middle

Ինչպես նորմալացնել թվային արժեքները և նվազեցնել արտասովոր արժեքների ազդեցությունը:

sobes.tech AI

Պատասխան AI-ից

Նշանակալու համար թվային տվյալները նորմալ բաշխման և արտակարգ արժեքների ազդեցությունը նվազեցնելու համար կիրառվում են մի քանի մոտեցումներ:

  1. Տվյալների փոխակերպումներ:

    • Լոգարիթմական փոխակերպում (log(x)) — նվազեցնում է անհամաչափությունը և սեղմում մեծ արժեքները:
    • Կвадրատայինարմատ կամ ** հակառակ փոխակերպում** — նույնպես օգնում են նորմալացնել բաշխումը:
    • Box-Cox փոխակերպում — պարամետրային, գտնում է օպտիմալ պարամետրը նորմալ բաշխման մոտեցման համար:
    • Yeo-Johnson փոխակերպում — նման է Box-Cox-ին, աշխատում է նաև բացասական արժեքների հետ:
  2. Արտակարգ արժեքների մշակումը:

    • Կտրում (capping) — սահմանափակում է արժեքները վերևից և ներքևից (օրինակ, 1% և 99% պերսենտիլներով):
    • Արտակարգ արժեքների փոխարինում — օրինակ, մեդիան կամ ամենամոտ "նորմալ" արժեքը:
    • Օգտագործում է ռոբաստ scaller մեթոդներ — օրինակ, sklearn-ում RobustScaler, որը օգտագործում է մեդիան և միջքարտիլային տարածքը:
  3. Մասշտաբավորում և նորմալացում:

    • Փոխակերպումներից հետո կարելի է կիրառել ստանդարտացում (միջինից հանելը և բաժանումը ստանդարտ շեղումով)՝ ստանալու տվյալներ զրո միջինով և միավոր տարբերությամբ:

Python և sklearn գրադարանի օրինակով՝

from sklearn.preprocessing import PowerTransformer, RobustScaler
import numpy as np

# Օրինակային տվյալներ արտակարգ արժեքներով
data = np.array([[1], [2], [3], [4], [100]])

# Փոխակերպում նորմալ բաշխման մոտեցման համար
pt = PowerTransformer(method='yeo-johnson')
transformed_data = pt.fit_transform(data)

# Մասշտաբավորում արտակարգ արժեքների հաշվարկով
scaler = RobustScaler()
scaled_data = scaler.fit_transform(transformed_data)

print(scaled_data)

Այս կերպ, փոխակերպումների և ռոբաստ scaller մեթոդների համադրությամբ, տվյալները կարող են մոտենալ ավելի նորմալ բաշխման և նվազեցնել արտակարգ արժեքների ազդեցությունը։