היכולת לחזות שלקוח מסוים נמצא בסיכון גבוה להסתלק, בזמן שעדיין יש זמן לעשות משהו בנידון, מייצגת מקור הכנסה פוטנציאלי ענק לכל עסק מקוון. בהתאם לתעשייה ולמטרה העסקית, הצהרת הבעיה יכולה להיות רב-שכבתית. להלן כמה יעדים עסקיים המבוססים על אסטרטגיה זו:
פוסט זה דן כיצד ניתן לתזמר מודל חיזוי נטישה מקצה לקצה על פני כל שלב: הכנת נתונים, ניסוי עם מודל בסיסי ואופטימיזציה של היפרפרמטרים (HPO), אימון וכוונון ורישום המודל הטוב ביותר. אתה יכול לנהל את שלך אמזון SageMaker אימון והסקת זרימות עבודה באמצעות סטודיו SageMaker של אמזון ו-SageMaker Python SDK. SageMaker מציעה את כל הכלים הדרושים ליצירת פתרונות מדעי נתונים באיכות גבוהה.
SageMaker מסייעת למדעני נתונים ומפתחים להכין, לבנות, להכשיר ולפרוס מודלים של למידת מכונה באיכות גבוהה (ML) במהירות על ידי איחוד של מערך רחב של יכולות שנבנו במיוחד עבור ML.
Studio מספק ממשק חזותי יחיד מבוסס אינטרנט שבו אתה יכול לבצע את כל שלבי הפיתוח של ML, ולשפר את הפרודוקטיביות של צוות מדעי הנתונים עד פי 10.
צינורות SageMaker של אמזון הוא כלי לבניית צינורות ML המנצל את האינטגרציה הישירה של SageMaker. עם Pipelines, אתה יכול להפוך בקלות את השלבים של בניית מודל ML, לקטלג מודלים ברישום המודלים ולהשתמש באחת מכמה תבניות הניתנות ב- SageMaker Projects כדי להגדיר אינטגרציה מתמשכת ואספקה מתמשכת (CI/CD) עבור הסוף ל- -סיים את מחזור החיים של ML בקנה מידה.
לאחר הכשרת הדגם, אתה יכול להשתמש אמזון סייג מייקר להבהיר לזהות ולהגביל הטיה ולהסביר תחזיות לבעלי עניין עסקיים. אתה יכול לשתף את הדוחות האוטומטיים האלה עם צוותים עסקיים וטכניים עבור מסעות פרסום יעד במורד הזרם או כדי לקבוע תכונות המבדילות מפתח לערך לכל החיים של הלקוח.
בסוף הפוסט הזה, אמור להיות לך מספיק מידע כדי להשתמש בהצלחה בתבנית מקצה לקצה זו באמצעות Pipelines כדי לאמן, לכוונן ולפרוס מקרה שימוש בניתוח חזוי משלך. ההוראות המלאות זמינות ב- GitHub ריפו.
בפתרון זה, נקודת הכניסה שלך היא סביבת הפיתוח המשולבת של Studio (IDE) לניסויים מהירים. Studio מציע סביבה לניהול חווית Pipelines מקצה לקצה. עם Studio, אתה יכול לעקוף את קונסולת הניהול של AWS עבור כל ניהול זרימת העבודה שלך. למידע נוסף על ניהול Pipelines מסטודיו, ראה הצג, עקוב והפעל את צינורות SageMaker ב-SageMaker Studio.
התרשים הבא ממחיש את הארכיטקטורה ברמה גבוהה של זרימת העבודה של מדעי הנתונים.
לאחר שתיצור את הדומיין של Studio, בחר את שם המשתמש שלך ובחר סטודיו פתוח. נפתח IDE מבוסס אינטרנט המאפשר לך לאחסן ולאסוף את כל הדברים שאתה צריך - בין אם זה קוד, מחברות, מערכי נתונים, הגדרות או תיקיות פרויקטים.
Pipelines משולבת ישירות עם SageMaker, כך שאינך צריך ליצור אינטראקציה עם שום שירותי AWS אחרים. אתה גם לא צריך לנהל משאבים כלשהם כי Pipelines הוא שירות מנוהל במלואו, מה שאומר שהוא יוצר ומנהל עבורך משאבים. למידע נוסף על רכיבי SageMaker השונים שהם שניהם ממשקי API עצמאיים של Python יחד עם רכיבים משולבים של Studio, ראה עמוד השירות של SageMaker.
עבור מקרה שימוש זה, אתה משתמש ברכיבים הבאים עבור תהליך פיתוח המודל האוטומטי לחלוטין:
צינור של SageMaker הוא סדרה של שלבים מחוברים המוגדרים על ידי הגדרת צינור JSON. הגדרת צינור זו מקודדת צינור באמצעות גרף א-ציקלי מכוון (DAG). DAG זה מספק מידע על הדרישות והקשרים בין כל שלב בצנרת שלך. המבנה של DAG של צינור נקבע על פי התלות בנתונים בין השלבים. תלות נתונים אלו נוצרות כאשר המאפיינים של פלט של שלב מועברים כקלט לשלב אחר.
עבור פוסט זה, מקרה השימוש שלנו הוא בעיית ML קלאסית שמטרתה להבין אילו אסטרטגיות שיווק שונות המבוססות על התנהגות צרכנים נוכל לאמץ כדי להגביר את שימור הלקוחות עבור חנות קמעונאית נתונה. התרשים הבא ממחיש את זרימת העבודה המלאה של ML עבור מקרה השימוש בחיזוי נטישה.
בואו נעבור בפירוט על תהליך הפיתוח המואץ של זרימת העבודה של ML.
כדי לעקוב אחרי הפוסט הזה, עליך להוריד ולשמור את ה מערך לדוגמה בברירת המחדל שירות אחסון פשוט של אמזון (Amazon S3) דלי המשויך להפעלת SageMaker שלך, ובדלי S3 לבחירתך. לניסויים מהירים או לבניית מודל בסיסי, אתה יכול לשמור עותק של מערך הנתונים תחת ספריית הבית שלך מערכת הקבצים של אמזון אלסטית (Amazon EFS) ופעל לפי מחברת Jupyter Customer_Churn_Modeling.ipynb
.
צילום המסך הבא מציג את ערכת המדגם עם משתנה היעד כ-1, אם ההנחה היא שהלקוח פעיל, או 0 אחרת.
הפעל את הקוד הבא במחברת Studio כדי לעבד מראש את מערך הנתונים ולהעלות אותו לדלי S3 משלך:
import boto3
import pandas as pd
import numpy as np ## Preprocess the dataset
def preprocess_data(file_path): df = pd.read_csv(file_path) ## Convert to datetime columns df["firstorder"]=pd.to_datetime(df["firstorder"],errors='coerce') df["lastorder"] = pd.to_datetime(df["lastorder"],errors='coerce') ## Drop Rows with null values df = df.dropna() ## Create Column which gives the days between the last order and the first order df["first_last_days_diff"] = (df['lastorder']-df['firstorder']).dt.days ## Create Column which gives the days between when the customer record was created and the first order df['created'] = pd.to_datetime(df['created']) df['created_first_days_diff']=(df['created']-df['firstorder']).dt.days ## Drop Columns df.drop(['custid','created','firstorder','lastorder'],axis=1,inplace=True) ## Apply one hot encoding on favday and city columns df = pd.get_dummies(df,prefix=['favday','city'],columns=['favday','city']) return df ## Set the required configurations
model_name = "churn_model"
env = "dev"
## S3 Bucket
default_bucket = "customer-churn-sm-pipeline"
## Preprocess the dataset
storedata = preprocess_data(f"s3://{default_bucket}/data/storedata_total.csv")
עם מחברות Studio עם מחשוב אלסטי, כעת תוכל להפעיל בקלות מספר רב של עבודות הדרכה וכיוונון. למקרה שימוש זה, אתה משתמש באלגוריתם XGBoost המובנה של SageMaker וב-SageMaker HPO עם פונקציה אובייקטיבית כ "binary:logistic"
ו "eval_metric":"auc"
.
def split_datasets(df): y=df.pop("retained") X_pre = df y_pre = y.to_numpy().reshape(len(y),1) feature_names = list(X_pre.columns) X= np.concatenate((y_pre,X_pre),axis=1) np.random.shuffle(X) train,validation,test=np.split(X,[int(.7*len(X)),int(.85*len(X))]) return feature_names,train,validation,test # Split dataset
feature_names,train,validation,test = split_datasets(storedata) # Save datasets in Amazon S3
pd.DataFrame(train).to_csv(f"s3://{default_bucket}/data/train/train.csv",header=False,index=False)
pd.DataFrame(validation).to_csv(f"s3://{default_bucket}/data/validation/validation.csv",header=False,index=False)
pd.DataFrame(test).to_csv(f"s3://{default_bucket}/data/test/test.csv",header=False,index=False)
התאמן, כוון ומצא את הדגם המועמד הטוב ביותר עם הקוד הבא:
לאחר שתקבע קו בסיס, תוכל להשתמש באגים של SageMaker באמזון לניתוח מודלים לא מקוונים. Debugger היא יכולת בתוך SageMaker המספקת נראות אוטומטית לתהליך אימון המודל לניתוח בזמן אמת ולא מקוון. Debugger שומר את מצב המודל הפנימי במרווחים תקופתיים, אותם תוכל לנתח בזמן אמת במהלך האימון ולא מקוון לאחר השלמת האימון. עבור מקרה שימוש זה, אתה משתמש בכלי ההסבר SHAP (הסבר תוסף של SHapley) והשילוב המקורי של SHAP עם Debugger. עיין בדברים הבאים מחברה לניתוח מפורט.
עלילת הסיכום הבאה מסבירה את הקשרים החיוביים והשליליים של המנבאים עם משתנה היעד. לדוגמה, המשתנה העליון כאן, esent
, מוגדר כמספר הודעות האימייל שנשלחו. העלילה הזו מורכבת מכל נקודות הנתונים במערך האימונים. כחול מציין גרירת הפלט הסופי למחלקה 0, וורוד מייצג מחלקה 1. תכונות עיקריות משפיעות מדורגות בסדר יורד.
כעת תוכל להמשיך עם שלב הפריסה והניהול של זרימת העבודה של ML.
לפתח ולהפוך את זרימת העבודה לאוטומטית
נתחיל עם מבנה הפרויקט:
- /customer-churn-model - שם הפרוייקט
- /נתונים – מערך נתונים
- /צינורות – קוד לרכיבי צנרת SageMaker
- SageMaker_Pipelines_project.ipynb - מאפשר לך ליצור ולהפעיל את זרימת העבודה של ML
- Customer_Churn_Modeling.ipynb – מחברת פיתוח מודל בסיסי
תַחַת <project-name>/pipelines/customerchurn
, אתה יכול לראות את הסקריפטים הבאים של Python:
- Preprocess.py - משתלב עם SageMaker Processing להנדסת תכונות
- Evaluate.py – מאפשר חישוב מדדי מודל, במקרה זה auc_score
- Generate_config.py - מאפשר תצורה דינמית הדרושה לעבודת Clarify במורד הזרם לצורך הסבר המודל
- Pipeline.py – קוד בתבנית עבור זרימת העבודה Pipelines ML
בואו נעבור על כל שלב ב-DAG ואיך הם פועלים. השלבים דומים לשלב שבו הכנו את הנתונים לראשונה.
בצע מוכנות נתונים עם הקוד הבא:
התאמן, כוון ומצא את הדגם המועמד הטוב ביותר:
אתה יכול להוסיף א שלב כוונון דגם (TuningStep) בצינור, אשר מפעיל אוטומטית עבודת כוונון היפרפרמטר (ראה את הקוד הבא). כוונון ההיפרפרמטרים מוצא את הגרסה הטובה ביותר של מודל על ידי הפעלת עבודות אימון רבות במערך הנתונים באמצעות האלגוריתם וטווחי הפרמטרים שציינת. לאחר מכן תוכל לרשום את הגרסה הטובה ביותר של המודל לרישום המודלים באמצעות השלב RegisterModel.
לאחר כוונון המודל, בהתאם למדדי יעדי העבודה, תוכל להשתמש בלוגיקה מסועפת בעת תזמורת זרימת העבודה. עבור פוסט זה, השלב המותנה לבדיקת איכות הדגם הוא כדלקמן:
המודל המועמד הטוב ביותר נרשם לניקוד אצווה באמצעות שלב RegisterModel:
כעת, כשהמודל מאומן, בואו נראה כיצד Clarify עוזרת לנו להבין על אילו תכונות המודלים מבססים את התחזיות שלהם. אתה יכול ליצור analysis_config.json
קובץ באופן דינמי לכל זרימת עבודה באמצעות ה- generate_config.py
תוֹעֶלֶת. אתה יכול לגרסות ולעקוב אחר קובץ התצורה לפי צינור runId
ואחסן אותו באמזון S3 לעיון נוסף. אתחל את dataconfig
ו modelconfig
קבצים כדלקמן:
לאחר הוספת שלב ההבהרה כעבודה לאחר עיבוד באמצעות sagemaker.clarify.SageMakerClarifyProcessor
בצינור, אתה יכול לראות דוח מפורט של תכונה וניתוח הטיה לכל הפעלת צינור.
כשלב הסופי של זרימת העבודה של הצינור, אתה יכול להשתמש ב- TransformStep
שלב לניקוד לא מקוון. עוברים ב transformer instance
ו TransformInput
עם batch_data
פרמטר צינור שהוגדר קודם לכן:
לבסוף, אתה יכול להפעיל צינור חדש על ידי בחירה התחל הוצאה להורג בממשק Studio IDE.
אתה יכול גם לתאר הפעלת צינור או להתחיל את הצינור באמצעות הפעולות הבאות מחברה. צילום המסך הבא מציג את הפלט שלנו.
אתה יכול לתזמן את ריצות בניית המודל של SageMaker שלך באמצעות אמזון EventBridge. צינורות בניית מודל SageMaker נתמכים כמטרה באמזון EventBridge. זה מאפשר לך להפעיל את הצינור שלך על סמך כל אירוע באוטובוס האירועים שלך. EventBridge מאפשר לך להפוך את ריצות הצינור שלך לאוטומטיות ולהגיב אוטומטית לאירועים כגון עבודת אימון או שינויים במצב נקודת הקצה. אירועים כוללים קובץ חדש שהועלה לדלי S3 שלך, שינוי בסטטוס של נקודת הקצה של SageMaker שלך עקב סחיפה, ו שירות התראה פשוט של אמזון (Amazon SNS) נושאים.
סיכום
פוסט זה הסביר כיצד להשתמש ב-SageMaker Pipelines עם תכונות מובנות אחרות של SageMaker ואלגוריתם XGBoost כדי לפתח, לחזור ולפרוס את המודל המועמד הטוב ביותר לחיזוי נטישה. להנחיות ליישום פתרון זה, עיין ב- GitHub ריפו. אתה יכול גם לשכפל ולהרחיב את הפתרון הזה עם מקורות נתונים נוספים להכשרת מודלים מחדש. אנו ממליצים לך לפנות ולדון במקרים של שימוש ב-ML עם מנהל חשבון AWS שלך.
הפניות נוספות
למידע נוסף, עיין במשאבים הבאים:
על הכותבים
גאיאטרי גנקוטה הוא מהנדס למידת מכונה עם שירותים מקצועיים של AWS. היא נלהבת בפיתוח, פריסה והסבר של פתרונות AI/ML בתחומים שונים. לפני תפקיד זה, היא הובילה יוזמות מרובות כמדען נתונים ומהנדס ML עם חברות גלובליות מובילות בתחום הפיננסי והקמעונאי. היא בעלת תואר שני במדעי המחשב המתמחה במדעי נתונים מאוניברסיטת קולורדו, בולדר.
שריתה ג'ושי הוא מדען נתונים בכיר עם שירותים מקצועיים של AWS המתמקד בתמיכה בלקוחות בכל תעשיות כולל קמעונאות, ביטוח, ייצור, נסיעות, מדעי החיים, מדיה ובידור ושירותים פיננסיים. יש לה ניסיון של מספר שנים כיועצת בייעוץ ללקוחות בתעשיות ובתחומים טכניים רבים, כולל AI, ML, אנליטיקה ו-SAP. כיום, היא עובדת בלהט עם לקוחות כדי לפתח וליישם פתרונות למידת מכונה ו-AI בקנה מידה.
- "
- 100
- 107
- 39
- חֶשְׁבּוֹן
- פעיל
- נוסף
- יתרון
- AI
- אַלגוֹרִיתְם
- תעשיות
- אלפא
- אמזון בעברית
- אמזון SageMaker
- אנליזה
- ניתוח
- ממשקי API
- ארכיטקטורה
- אוטומטי
- AWS
- Baseline
- הטוב ביותר
- לִבנוֹת
- בִּניָן
- אוטובוס
- עסקים
- קמפיינים
- מקרים
- שינוי
- עִיר
- לקוחות
- קוד
- קולורדו
- טור
- לחשב
- מדעי מחשב
- יועץ
- צרכן
- התנהגות צרכנית
- מכולה
- שימור לקוחות
- לקוחות
- DAG
- נתונים
- מדע נתונים
- מדען נתונים
- מסירה
- פרט
- dev
- לפתח
- מפתחים
- צעצועי התפתחות
- תחומים
- ירידה
- נקודת קצה
- מהנדס
- הנדסה
- בידור
- סביבה
- אירוע
- אירועים
- הוצאת להורג
- ניסיון
- הסבר
- מאפיין
- תכונות
- כספי
- שירותים פיננסיים
- ממצאים
- ראשון
- לעקוב
- מלא
- פונקציה
- גלוֹבָּלִי
- כאן
- גָבוֹהַ
- עמוד הבית
- איך
- איך
- HTTPS
- עצום
- לזהות
- כולל
- להגדיל
- תעשיות
- תעשייה
- מידע
- ביטוח
- השתלבות
- IT
- עבודה
- מקומות תעסוקה
- מחברת צדק
- מפתח
- גָדוֹל
- למידה
- הוביל
- מדעי חיים
- למידת מכונה
- ניהול
- ייצור
- שיווק
- מדיה
- בינוני
- מדדים
- ML
- מודל
- מחשבים ניידים
- הודעה
- המיוחדות שלנו
- באינטרנט
- עסקים באינטרנט
- נפתח
- להזמין
- אחר
- נבואה
- התחזיות
- אנליטי חזוי
- פִּריוֹן
- פּרוֹיֶקט
- פרויקטים
- פיתון
- איכות
- מוכנות
- זמן אמת
- מערכות יחסים
- לדווח
- דוחות לדוגמא
- דרישות
- משאבים
- תוצאות
- קמעוני
- הסבה מקצועית
- הכנסה
- הסיכון
- הפעלה
- ריצה
- בעל חכמים
- מוהל
- סולם
- מדע
- מדעים
- מדענים
- Sdk
- סדרה
- שירותים
- סט
- שיתוף
- פָּשׁוּט
- So
- פתרונות
- מֶרחָב
- לפצל
- התחלה
- מדינה
- הצהרה
- מצב
- אחסון
- חנות
- אִסטרָטֶגִיָה
- נתמך
- יעד
- טכני
- מבחן
- זמן
- חלק עליון
- נושאים
- לעקוב
- הדרכה
- טרנספורמציה
- נסיעות
- אוניברסיטה
- us
- תועלת
- ערך
- ראות
- בתוך
- זרימת עבודה
- X
- שנים