כדי לחמוץ מסווג מיומן ב-Python באמצעות מודול ה'מלפפון חמוץ', נוכל לבצע כמה שלבים פשוטים. כבישה מאפשרת לנו לבצע סדרה של אובייקט ולשמור אותו בקובץ, שאותו ניתן לטעון ולהשתמש בו מאוחר יותר. זה שימושי במיוחד כאשר ברצוננו לשמור מודל למידת מכונה מאומן, כגון מסווג רגרסיה, לשימוש עתידי ללא צורך לאמן אותו מחדש בכל פעם.
ראשית, עלינו לייבא את מודול 'המלפפון החמוץ' בסקריפט Python שלנו:
python import pickle
לאחר מכן, עלינו לאמן את המסווג שלנו ולהשיג את המודל המאומן. נניח שכבר אימנו מסווג רגרסיה ואחסנו אותו במשתנה שנקרא 'מודל_רגרסיה'.
כדי לחמוץ את המודל המאומן, נוכל להשתמש בפונקציה 'pickle.dump()'. פונקציה זו לוקחת שני פרמטרים: האובייקט שאנו רוצים להחמיץ (במקרה זה, המסווג המאומן), ואובייקט הקובץ שבו אנו רוצים לשמור את האובייקט החמוץ. אנו יכולים לפתוח קובץ במצב כתיבה בינארי באמצעות הפונקציה 'open()'.
python with open('regression_model.pkl', 'wb') as file: pickle.dump(regression_model, file)
בקוד שלמעלה, אנו פותחים קובץ בשם 'regression_model.pkl' במצב כתיבה בינארי ('wb') ומעבירים אותו כפרמטר השני ל-'pickle.dump()'. המסווג המאומן, המאוחסן במשתנה 'regression_model', מוחמץ ונשמר בקובץ.
כעת, החמצנו בהצלחה את המסווג המיומן שלנו. אנו יכולים לטעון אותו בחזרה לזיכרון בכל פעם שאנו צריכים אותו באמצעות הפונקציה 'pickle.load()'.
python with open('regression_model.pkl', 'rb') as file: loaded_model = pickle.load(file)
בקוד שלמעלה, אנו פותחים את הקובץ הכבוש במצב קריאה בינארי ('rb') ומעבירים אותו כפרמטר ל-'pickle.load()'. האובייקט הכבוש נטען למשתנה 'loaded_model', שניתן להשתמש בו לחיזוי או כל פעולה אחרת.
הנה דוגמה מלאה המדגימה את הכבישה והטעינה של מסווג רגרסיה מאומן:
python import pickle from sklearn.linear_model import LinearRegression # Training the regression model X_train = [[1], [2], [3], [4], [5]] y_train = [2, 4, 6, 8, 10] regression_model = LinearRegression() regression_model.fit(X_train, y_train) # Pickling the trained model with open('regression_model.pkl', 'wb') as file: pickle.dump(regression_model, file) # Loading the pickled model with open('regression_model.pkl', 'rb') as file: loaded_model = pickle.load(file) # Using the loaded model for prediction X_test = [[6]] predicted_value = loaded_model.predict(X_test) print(predicted_value)
בדוגמה שלמעלה, אנו מאמנים תחילה מודל רגרסיה ליניארי פשוט באמצעות המחלקה 'LinearRegression' מהמודול 'sklearn.linear_model'. לאחר מכן אנו מחמצים את המודל המאומן לקובץ בשם 'regression_model.pkl'. מאוחר יותר, אנו טוענים את המודל הכבוש מהקובץ ומשתמשים בו כדי לחזות את הערך עבור קלט בדיקה 'X_test'.
על ידי כבישה וטעינת המסווגן המאומן, נוכל לעשות שימוש חוזר במודל ללא צורך בהכשרתו מחדש, מה שיכול לחסוך כמות משמעותית של זמן ומשאבים חישוביים.
שאלות ותשובות אחרונות אחרות בנושא לימוד מכונה EITC/AI/MLP עם פיתון:
- מהי מכונת התמיכה וקטור (SVM)?
- האם אלגוריתם השכנים הקרובים ביותר K מתאים לבניית מודלים של למידת מכונה הניתנים לאימון?
- האם אלגוריתם אימון SVM משמש בדרך כלל כמסווג ליניארי בינארי?
- האם אלגוריתמי רגרסיה יכולים לעבוד עם נתונים רציפים?
- האם רגרסיה לינארית מתאימה במיוחד לשינוי קנה מידה?
- מה המשמעות של שינוי רוחב פס דינמי להתאים בצורה אדפטיבית את פרמטר רוחב הפס בהתבסס על הצפיפות של נקודות הנתונים?
- מהי המטרה של הקצאת משקלים לקבוצות תכונות בהטמעת רוחב פס דינמי משמרת ממוצעת?
- כיצד נקבע ערך הרדיוס החדש בגישת רוחב הפס הדינמי של תזוזה ממוצעת?
- כיצד מטפלת גישת רוחב הפס הדינמי של שינוי ממוצע במציאת מרכזים בצורה נכונה ללא קידוד קשיח של הרדיוס?
- מהי המגבלה של שימוש ברדיוס קבוע באלגוריתם ההיסט הממוצע?
הצג שאלות ותשובות נוספות ב-EITC/AI/MLP Machine Learning עם Python
עוד שאלות ותשובות:
- שדה: בינה מלאכותית
- תכנית: לימוד מכונה EITC/AI/MLP עם פיתון (ללכת לתוכנית ההסמכה)
- שיעור: נסיגה (עבור לשיעור בנושא)
- נושא: כבישה וקנה מידה (עבור לנושא קשור)
- סקירת בחינה