Տվյալների նախնական մշակումը կարևոր քայլ է մեքենայական ուսուցման խողովակաշարում, որը ներառում է չմշակված տվյալների վերափոխումը այնպիսի ձևաչափի, որը կարելի է հեշտությամբ հասկանալ ալգորիթմներով: Այն հաճախ կարող է բերել կամ կոտրել մեքենայական ուսուցման նախագծի հաջողությունը, քանի որ ելքի որակը մեծապես կախված է մուտքագրման որակից: Այս բլոգի գրառման մեջ մենք կուսումնասիրենք տվյալների նախնական մշակման որոշ հիմնական մեթոդներ՝ Python կոդով օգտագործվող գործնական օրինակներով:
- Տվյալների մաքրում.
Տվյալների մաքրումը ներառում է տվյալների հավաքածուի բացակայող կամ սխալ կետերի մշակում: Դա կարելի է անել՝ օգտագործելով տարբեր մեթոդներ, ինչպիսիք են՝ իմպուտացիան, հեռացումը կամ բացակայող արժեքների փոխարինումը: Ահա մի օրինակ, թե ինչպես կարելի է վերագրել բացակայող արժեքները տվյալների բազայում՝ օգտագործելով Pandas գրադարանը.
import pandas as pd import numpy as np # Load dataset data = pd.read_csv("data.csv") # Impute missing values with mean mean = data.mean() data.fillna(mean, inplace=True)
2. Տվյալների փոխակերպում.
Տվյալների փոխակերպումը ներառում է չմշակված տվյալների փոխակերպումը այնպիսի ձևաչափի, որը հարմար է մեքենայական ուսուցման ալգորիթմների համար: Ընդհանուր տեխնիկան ներառում է կարգաբերական փոփոխականների նորմալացում, մասշտաբավորում կամ կոդավորում: Ահա մի օրինակ, թե ինչպես կարելի է նորմալացնել տվյալները Scikit-learn գրադարանի միջոցով.
from sklearn.preprocessing import MinMaxScaler # Load dataset data = pd.read_csv("data.csv") # Normalize data scaler = MinMaxScaler() normalized_data = scaler.fit_transform(data)
3. Առանձնահատկությունների ընտրություն.
Առանձնահատկությունների ընտրությունը ներառում է տվյալների շտեմարանի առավել համապատասխան հատկանիշների բացահայտում, որոնք, ամենայն հավանականությամբ, ուժեղ ազդեցություն կունենան արդյունքի վրա: Դա կարելի է անել՝ օգտագործելով տարբեր մեթոդներ, ինչպիսիք են հարաբերակցության վերլուծությունը կամ հատկանիշի կարևորությունը: Ահա մի օրինակ, թե ինչպես կարելի է կատարել առանձնահատկությունների ընտրություն՝ օգտագործելով Scikit-learn գրադարանը.
from sklearn.feature_selection import SelectKBest from sklearn.feature_selection import chi2 # Load dataset data = pd.read_csv("data.csv") # Select top k features X = data.iloc[:, :-1] y = data.iloc[:, -1] best_features = SelectKBest(score_func=chi2, k=3).fit(X, y) X_new = best_features.transform(X)
(chi2-ը վիճակագրական թեստ է, որն օգտագործվում է երկու դասակարգային փոփոխականների միջև անկախությունը որոշելու համար: Հատկանիշի ընտրության ժամանակ chi2-ն օգտագործվում է յուրաքանչյուր հատկանիշի վիճակագրական նշանակությունը թիրախային փոփոխականի նկատմամբ հաշվարկելու համար: Բարձր chi2 միավորը ցույց է տալիս ուժեղ հարաբերակցությունը հատկանիշը և թիրախային փոփոխականը, ինչը մեծացնում է այն որպես համապատասխան հատկանիշ ընտրվելու հավանականությունը:
k-ը վերաբերում է լավագույն հատկանիշների քանակին, որոնք պետք է ընտրվեն՝ ելնելով նրանց chi2 միավորից: Բլոգի գրառման մեջ ներկայացված օրինակում k=3 նշանակում է, որ մենք ցանկանում ենք ընտրել ամենաբարձր chi2 միավորով լավագույն 3 հատկանիշները:)
Եզրափակելով, տվյալների նախնական մշակումը էական քայլ է մեքենայական ուսուցման խողովակաշարում, որը կարող է էապես ազդել արտադրանքի որակի վրա: Մենք ուսումնասիրել ենք տվյալների նախնական մշակման մեջ ներգրավված որոշ էական տեխնիկա, ինչպես նաև Python կոդը օգտագործող գործնական օրինակներ: Այս տեխնիկան տիրապետելով՝ դուք կարող եք համոզվել, որ ձեր մեքենայական ուսուցման մոդելները ամուր և ճշգրիտ են: