וואָלט איר ווי צו אָנהייבן מיט מאַשין וויסן?
איך האָבן באשאפן אַ פּשוט און גרינג טוטאָריאַל פֿאַר גאַנץ ביגינערז. צוזאַמען, מיר וועלן גיין איבער די יקערדיק סטעפּס פון טריינינג אַ מאַשין לערנען מאָדעל.
בשעת איך דערקלערן די סטעפּס פון טריינינג אַ מאָדעל איינער דורך איינער, איך וועל אויך געבן אַ זייער יקערדיק בייַשפּיל פון אַ מאַשין-לערנען פּראָבלעם. אַזוי, אויב איר'ד ווי צו נאָכפאָלגן צוזאמען, איר קענען אראפקאפיע דעם מוסטער דאַטן שטעלן פֿון דעם רונג.
דאָס איז בלויז אַ מוסטער דאַטאַסעט צו העלפן איר אָנהייבן מיט מאַשין לערנען.
מיר האָבן 18 וואַלועס פון מענטשן פון פאַרשידענע צייטן און דזשענדערז וואָס האָבן דיפיינד זייער באַליבסטע מוזיק. דורך ניצן די פֿעיִקייטן פון "עלטער" און "דזשענדער" מיר וועלן פּרובירן צו טרעפן וואָס זשאַנראַ פון מוזיק איז זייער באַליבט.
באַמערקונג: 1 און 0 זענען אַסיינד צו דזשענדערז ווי ווייַבלעך און זכר אין דעם דאַטאַסעט.
אָבער, אויב איר טאָן נישט וועלן צו נאָכפאָלגן דעם בייַשפּיל, עס איז אויך בישליימעס פייַן. איך וועל דערקלערן אַלע די סטעפּס אין דעטאַל. אַזוי, לאָזן ס ונטערטוקנ זיך!
ערשטער טינגז צו וויסן
איידער איר גיין אין די סטעפּס פון טריינינג אַ מאָדעל, לאָזן אונדז דערקלערן עטלעכע פונקטן. מאַשין לערנען איז אַן קינסטלעך סייכל דיסציפּלין וואָס פאָוקיסיז אויף דעוועלאָפּינג אַלגערידאַמז וואָס קענען לערנען פון דאַטן.
צו טאָן דאָס, מאַשין לערנען מאָדעלס זענען טריינד אויף אַ דאַטאַסעט וואָס לערנט דעם מאָדעל ווי צו מאַכן ריכטיק פֿאָרויסזאָגן אָדער קלאַססיפיקאַטיאָנס אויף פריש, פריער אומבאַקאַנט דאַטן.
אַזוי, וואָס זענען די מאָדעלס? א מאַשין לערנען מאָדעל איז ענלעך צו אַ רעצעפּט וואָס אַ קאָמפּיוטער ניצט צו דזשענערייט דאַטן פֿאָרויסזאָגן אָדער ברירות.
א מאָדעל, ווי אַ רעצעפּט, גייט אַ גאַנג פון ינסטראַקשאַנז צו אָפּשאַצן דאַטן און דזשענערייט פֿאָרויסזאָגן אָדער משפט באזירט אויף פּאַטערנז געפֿונען אין די דאַטן. די מער דאַטן די מאָדעל איז טריינד אויף, די מער פּינטלעך די פֿאָרויסזאָגן ווערן.
וואָס מין פון מאָדעלס מיר קענען באַן?
זאל ס זען וואָס זענען די יקערדיק מאַשין לערנען מאָדעלס.
- לינעאַר רעגרעססיאָן: אַ מאָדעל וואָס פּרידיקס אַ קעסיידערדיק ציל בייַטעוודיק פון איין אָדער מער אַרייַנשרייַב וועריאַבאַלז.
- נעוראַל נעטוואָרקס: אַ נעץ פון לינגקט נאָודז וואָס קענען לערנען צו דעטעקט קאָמפּליצירט פּאַטערנז אין דאַטן.
- Decision Trees: אַ באַשלוס-מאכן צוגאַנג געבויט אויף אַ קייט פון בראַנטשינג אויב-אנדערע סטייטמאַנץ.
- קלאַסטערינג: אַ סכום פון מאָדעלס וואָס גרופּע פאַרגלייַכלעך דאַטן ווייזט באזירט אויף ענלעכקייט.
- לאָגיסטיק רעגרעססיאָן: אַ מאָדעל פֿאַר ביינערי קלאַסאַפאַקיישאַן פּראָבלעמס אין וואָס די ציל בייַטעוודיק האט צוויי פּאָטענציעל וואַלועס.
- Decision Trees: אַ באַשלוס-מאכן צוגאַנג געבויט אויף אַ קייט פון בראַנטשינג אויב-אנדערע סטייטמאַנץ.
- טראַפ פאָרעסט: אַן אַנסאַמבאַל מאָדעל קאַמפּאָוזד פון פילע באַשלוס ביימער. זיי זענען אָפט געניצט פֿאַר קלאַסאַפאַקיישאַן און ראַגרעשאַן אַפּלאַקיישאַנז.
- ק-נעאַראַסט נעיגהבאָורס: אַ מאָדעל וואָס פּרידיקס די ציל וועריאַבאַלז ניצן די ק-נעאַראַסט דאַטן פונקטן אין די טריינינג שטעלן.
דעפּענדינג אויף אונדזער פּראָבלעם און דאַטאַסעט, מיר באַשליסן וואָס מאַשין לערנען מאָדעל איז מערסט פּאַסיק פֿאַר אונדזער סיטואַציע. אָבער, מיר וועלן קומען צוריק צו דעם שפּעטער. איצט, לאָזן אונדז אָנהייבן טריינינג אונדזער מאָדעל. איך האָפֿן איר האָבן שוין דאַונלאָודיד די דאַטאַבאַסע אויב איר וואָלט ווי צו נאָכפאָלגן אונדזער בייַשפּיל.
אויך, איך רעקאָמענדירן צו האָבן דזשופּיטער נאָוטבוק אינסטאַלירן אויף דיין היגע מאַשין און ניצן עס פֿאַר דיין מאַשין לערנען פּראַדזשעקס.
1: דעפינירן די פּראָבלעם
דער ערשטער בינע אין טריינינג אַ מאַשין לערנען מאָדעל איז דיפיינינג די אַרויסגעבן צו זיין סאַלווד. דאָס ינקלודז סעלעקטינג די וועריאַבאַלז וואָס איר ווילט פאָרויסזאָגן (באקאנט ווי דער ציל בייַטעוודיק) און די וועריאַבאַלז וואָס וועט זיין געוויינט צו דזשענערייט די פֿאָרויסזאָגן (באקאנט ווי פֿעיִקייטן אָדער פּרידיקטערז).
איר זאָל אויך באַשליסן וואָס סאָרט פון מאַשין-לערנען פּראָבלעם איר פּרווון צו אַדרעס (קלאַסאַפאַקיישאַן, ראַגרעשאַן, קלאַסטערינג, און אַזוי אויף) און וואָס טיפּ פון דאַטן איר וועט דאַרפֿן צו קלייַבן אָדער באַקומען צו באַן דיין מאָדעל.
די סאָרט פון מאָדעל איר נוצן וועט זיין באשלאסן דורך די טיפּ פון מאַשין לערנען פּראָבלעם איר ווילן צו סאָלווע. קלאַסאַפאַקיישאַן, ראַגרעשאַן און קלאַסטערינג זענען די דריי ערשטיק קאַטעגאָריעס פון מאַשין לערנען טשאַלאַנדזשיז. ווען איר ווילן צו פאָרויסזאָגן אַ קאַטאַגאָריקאַל בייַטעוודיק, אַזאַ ווי צי אַ בליצפּאָסט איז אַ ספּאַם אָדער נישט, איר נוצן קלאַסאַפאַקיישאַן.
ווען איר ווילט פאָרויסזאָגן אַ קעסיידערדיק בייַטעוודיק, ווי די פּרייַז פון אַ הויז, איר נוצן ראַגרעשאַן. קלאַסטערינג איז געניצט צו שטעלן צוזאַמען פאַרגלייַכלעך דאַטן ייטאַמז באזירט אויף זייער קאַמאַנאַלאַטיז.
אויב מיר קוקן אין אונדזער בייַשפּיל; אונדזער אַרויסרופן איז צו באַשטימען אַ מענטש 'ס בילכער מוזיקאַליש סטיל פון זייער דזשענדער און עלטער. מיר וועלן נוצן אַ דאַטאַסעט פון 18 מענטשן פֿאַר דעם בייַשפּיל און אינפֿאָרמאַציע וועגן זייער עלטער, דזשענדער און באַליבסטע מוזיקאַליש סטיל.
2. צוגרייטן די דאַטן
נאָך איר האָבן ספּעסיפיעד דעם פּראָבלעם, איר דאַרפֿן צו צוגרייטן די דאַטן פֿאַר טריינינג די מאָדעל. דעם ינטיילז רייניקונג און פּראַסעסינג די דאַטן. אַזוי מיר קענען ענשור אַז עס איז אין אַ פֿאָרמאַט אַז די מאַשין לערנען אַלגערידאַם קענען נוצן.
דאָס קען אַרייַננעמען אַקטיוויטעטן ווי ויסמעקן פעלנדיק וואַלועס, יבערמאַכן קאַטאַגאָריקאַל דאַטן צו נומעריקאַל דאַטן, און סקיילינג אָדער נאָרמאַלייזינג די דאַטן צו ענשור אַז אַלע קעראַקטעריסטיקס זענען אויף דער זעלביקער וואָג.
פֿאַר בייַשפּיל, דאָס איז ווי איר ויסמעקן פעלנדיק וואַלועס:
import pandas as pd
# Load the data into a pandas DataFrame
data = pd.read_csv('data.csv')
# Check for missing values
print(data.isnull().sum())
# Drop rows with missing values
data.dropna(inplace=True)
# Check that all missing values have been removed
print(data.isnull().sum())
קליין באַמערקונג: אין די שורה "import pandas as pd",
מיר אַרייַנפיר די פּאַנדאַס ביבליאָטעק און באַשטימען עס די אַליאַס "פּד" צו מאַכן עס גרינגער צו דערמאָנען די פאַנגקשאַנז און אַבדזשעקץ שפּעטער אין די קאָד.
פּאַנדאַס איז אַ באַוווסט מאָדולע פֿאַר פּיטהאָן פֿאַר דאַטן מאַניפּיאַליישאַן און אַנאַליסיס, ספּעציעל ווען איר אַרבעט מיט סטראַקטשערד אָדער טאַבולאַר דאַטן.
אין אונדזער בייַשפּיל פון דיטערמאַנינג מוזיק זשאַנראַז. מיר וועלן ערשטער אַרייַנפיר די דאַטאַסעט. איך האב עס געהייסן music.csv, אָבער, איר קענען נאָמען עס ווי איר ווילט.
צו צוגרייטן די דאַטן פֿאַר טריינינג אַ מאַשין לערנען מאָדעל, מיר שפּאַלטן עס אין אַטריביוץ (עלטער און דזשענדער) און אַבדזשעקטיווז (מוזיק זשאַנראַ).
מיר וועלן אויך טיילן די דאַטן אין 80:20 טריינינג און טעסטינג שטעלט צו אַססעסס די פאָרשטעלונג פון אונדזער מאָדעל און ויסמיידן אָוווערפיטטינג.
# Import necessary libraries
import pandas as pd
from sklearn.model_selection import train_test_split
# Load data from CSV file/code>
music_data = pd.read_csv('music.csv')
# Split data into features and target
X = music_data.drop(columns=['genre'])
y = music_data['genre']
# Split data into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
3. קלייַבן אַ מאַשין לערנען מאָדעל.
נאָך איר האָבן צוגעגרייט די דאַטן, איר מוזן קלייַבן אַ מאַשין-לערנען מאָדעל וואָס איז פּאַסיק פֿאַר דיין אַרבעט.
עס זענען עטלעכע אַלגערידאַמז צו קלייַבן פון, אַזאַ ווי באַשלוס ביימער, לאָגיסטיק ראַגרעשאַן, שטיצן וועקטאָר מאשינען, נעוראַל נעטוואָרקס, און אנדערע. דער אַלגערידאַם איר קלייַבן וועט זיין באשלאסן דורך די סאָרט פון אַרויסגעבן איר פּרוּווט צו ענטפֿערן, די טיפּ פון דאַטן איר האָבן און דיין פאָרשטעלונג דאַרף.
מיר וועלן נוצן אַ באַשלוס בוים קלאַססיפיער פֿאַר דעם בייַשפּיל ווייַל מיר אַרבעט מיט אַ קלאַסאַפאַקיישאַן פּראָבלעם (פּרידיקטינג קאַטאַגאָריקאַל דאַטן).
# Import necessary libraries
from sklearn.tree import DecisionTreeClassifier
דאָ איז אַ וויזשוואַלאַזיישאַן פון ווי די Decision Tree Classifier אַרבעט:
4. באַן די מאָדעל
איר קענט אָנהייבן טריינינג דעם מאָדעל ווען איר האָט אויסדערוויילט אַ פּאַסיק אַלגערידאַם פֿאַר מאַשין לערנען. דאָס ינטיילז ניצן די פריער דזשענערייטאַד דאַטן צו דערציען די אַלגערידאַם ווי צו מאַכן פֿאָרויסזאָגן אויף פריש, ביז אַהער ומבאַמערקט דאַטן.
דער אַלגערידאַם וועט מאָדיפיצירן זיין ינערלעך פּאַראַמעטערס בעשאַס טריינינג צו מינאַמייז די חילוק צווישן זיין פּרעדיקטעד וואַלועס און די פאַקטיש וואַלועס אין די טריינינג דאַטן. די קוואַנטיטי פון דאַטן געניצט פֿאַר טריינינג, ווי געזונט ווי די ספּעציפיש פּאַראַמעטערס פון די אַלגערידאַם, קענען אַלע האָבן אַ ווירקונג אויף די אַקיעראַסי פון די ריזאַלטאַנט מאָדעל.
אין אונדזער ספּעציפיש בייַשפּיל, איצט אַז מיר האָבן באַשלאָסן אויף אַ אופֿן, מיר קענען באַן אונדזער מאָדעל מיט די טריינינג דאַטן.
# Train the decision tree classifier
model = DecisionTreeClassifier()
model.fit(X_train, y_train)
5. אָפּשאַצן די מאָדעל
נאָך טריינד דער מאָדעל, עס מוזן זיין עוואַלואַטעד אויף נייַע דאַטן צו ענשור אַז עס איז פּינטלעך און פאַרלאָזלעך. דאָס ינקלודז טעסטינג די מאָדעל מיט דאַטן וואָס זענען נישט יוטאַלייזד בעשאַס טריינינג און קאַמפּערינג זייַן פּראַדזשעקטאַד וואַלועס צו די פאַקטיש וואַלועס אין די פּראָבע דאַטן.
דער רעצענזיע קענען אַרוישעלפן צו ידענטיפיצירן קיין מאָדעל פלאָז, אַזאַ ווי אָוווערפיטטינג אָדער אַנדערפיטטינג, און קענען פירן צו קיין פיין-טונינג וואָס קען זיין פארלאנגט.
מיט די טעסטינג דאַטן, מיר וועלן אַססעסס די קערעקטנאַס פון אונדזער מאָדעל.
# Import necessary libraries
from sklearn.metrics import accuracy_score
# Predict the music genre for the test data
predictions = model.predict(X_test)
# Evaluate the model's accuracy
accuracy = accuracy_score(y_test, predictions)
print("Accuracy: ", accuracy)
די אַקיעראַסי כעזשבן איז נישט אַזוי שלעכט פֿאַר איצט. 🙂 צו פֿאַרבעסערן דיין אַקיעראַסי כעזשבן, איר קענען שטענדיק ריין די דאַטן מער אָדער פּרובירן פאַרשידענע מאַשין-לערנען מאָדעלס צו זען וואָס איינער גיט די העכסטן כעזשבן.
6. פיין-טון די מאָדעל
אויב די עפעקטיווקייַט פון די מאָדעל איז נישט גענוג גענוג, איר קענען פיין-טון עס דורך אָלטערינג פאַרשידן אַלגערידאַם פּאַראַמעטערס אָדער דורך עקספּערימענטינג מיט נייַע אַלגערידאַמז לעגאַמרע.
דער פּראָצעדור קען אַרייַננעמען עקספּערימענטינג מיט אָלטערנאַטיוו לערנען רייץ, מאָדיפיצירן רעגולאַריזאַטיאָן סעטטינגס, אָדער ענדערן די נומער אָדער גרייס פון פאַרבאָרגן לייַערס אין אַ נעוראַל נעץ.
7. ניצן די מאָדעל
אַמאָל איר זענט צופרידן מיט די פאָרשטעלונג פון די מאָדעל, איר קענען אָנהייבן ניצן עס צו דזשענערייט פֿאָרויסזאָגן אויף נייַע דאַטן.
דאָס קען זיין פידינג פריש דאַטן אין די מאָדעל און ניצן די מאָדעל ס געלערנט פּאַראַמעטערס צו דזשענערייט פֿאָרויסזאָגן אויף די דאַטן, אָדער ינטאַגרייטינג די מאָדעל אין אַ ברייטערער אַפּלאַקיישאַן אָדער סיסטעם.
מיר קענען נוצן אונדזער מאָדעל צו דזשענערייט פֿאָרויסזאָגן אויף נייַע דאַטן נאָך מיר זענען צופרידן מיט די אַקיעראַסי. איר קענען פּרובירן פאַרשידענע וואַלועס פון דזשענדער און עלטער.
# Test the model with new data
new_data = [[25, 1], [30, 0]]
predictions = model.predict(new_data)
print("Predictions: ", predictions)
נעם צוזאם
מיר האָבן פאַרטיק טריינינג אונדזער ערשטער מאַשין לערנען מאָדעל.
איך האָפֿן איר האָבן געפֿונען עס נוציק. איר קענען איצט פּרובירן ניצן פאַרשידענע מאַשין לערנען מאָדעלס ווי לינעאַר רעגרעססיאָן אָדער טראַפ פאָרעסט.
עס זענען פילע דאַטאַסעץ און טשאַלאַנדזשיז אין Kaggle אויב איר ווילט פֿאַרבעסערן דיין קאָדירונג און פארשטאנד פון מאַשין לערנען.
לאָזן אַ ענטפֿערן