ראיונות לתפקידי דאטה סיינס בודקים אם תוכלו להשתמש בנתונים, בסטטיסטיקה ובלמידת מכונה כדי לקבל החלטות בתנאי אי-ודאות. המועמדים החזקים ביותר משלבים קפדנות טכנית עם שיקול דעת מוצרי ותקשורת ברורה.
4-6
מספר סבבי ראיונות טיפוסי
45-60 דק׳
משך סבב טכני
6+
תחומי ליבה בדאטה סיינס
5-8 שבועות
משך הכנה מומלץ
מה בודקים בראיונות לדאטה סיינטיסט
•
חשיבה סטטיסטית: האם תוכלו להפריד בין אות לרעש ולהסביר אי-ודאות נכון?
•
שיקול דעת בניסויים: האם תוכלו לתכנן, לנתח ולבקר ניסויי A/B בלי להפריז במסקנות?
•
שליטה בלמידת מכונה: האם תוכלו לבחור מודלים, פיצ'רים, פונקציות מטרה ומדדי הערכה שמתאימים לבעיה?
•
חוש מוצרי: האם תוכלו לחבר את עבודת המידול להתנהגות משתמשים, להשפעה עסקית ולקבלת החלטות?
•
ביצוע ב-SQL וב-Python: האם תוכלו לעבד נתונים אמיתיים בצורה מדויקת ויעילה?
•
הערכת מודלים: האם תוכלו לאבחן הטיה, דליפת מידע, התאמת יתר, בעיות כיול, סחיפה וסיכוני פריסה?
•
תקשורת: האם תוכלו להסביר ממצאים טכניים בבהירות לאנשי מוצר, להנדסה ולהנהלה?
ראיונות דאטה סיינס מתגמלים חשיבה מכוילת
דאטה סיינטיסטים מצוינים לא נשמעים בטוחים כשהראיות חלשות. הם מציגים את ההנחות, מכמתים את אי-הוודאות, מציינים את המגבלות וממליצים על ההחלטה הבאה המיטבית על סמך הראיות הקיימות.
תהליך הראיונות לדאטה סיינטיסט
רוב סבבי הראיונות לדאטה סיינטיסט כוללים סטטיסטיקה, ניסויים, SQL או Python, אנליטיקה מוצרית, למידת מכונה, מקרי בוחן במידול וראיונות התנהגותיים. בתפקידי מחקר ו-ML יישומי הדגש עשוי להיות על חלקים אחרים בתהליך.
שלבי ראיון טיפוסיים לדאטה סיינטיסט
1
שיחת סינון עם צוות הגיוס: מבררת את סוג התפקיד, הדרג, התחום, טווח התגמול וסט הכלים.
2
שיחה עם המנהל המגייס: עוסקת בפרויקטים קודמים, בהשפעה עסקית, בניסיון במידול ובסגנון התקשורת.
3
סבב SQL או Python: בודק עיבוד נתונים, joins, אגרגציות, פעולות pandas וכתיבת קוד מעשית.
יסודות ML, מקרה מידול, Python, אילוצי מערכת, הערכת מודלים
סימן חזק
הפיכת שאלות עסקיות עמומות לניתוח קפדני ולהמלצות ברורות
בניית מודלים שפותרים את הבעיה הנכונה ועובדים תחת אילוצי העולם האמיתי
טעות נפוצה
הצגת מדדים בלי להסביר את השפעתם על ההחלטה
בחירה במודלים מורכבים לפני הגדרת המטרה, איכות הנתונים ומודל הבסיס
דעו לאיזה תפקיד דאטה סיינס אתם מתראיינים
לדאטה סיינטיסט באנליטיקה מוצרית ולדאטה סיינטיסט בפלטפורמת ML יכולים להיות תהליכי ראיונות שונים מאוד. התאימו את ההכנה לתיאור המשרה: ניסויים ומדדים לתפקידי DS מוצר, ועומק במידול ואילוצי פרודקשן לתפקידי DS ב-ML יישומי.
שאלות בסטטיסטיקה והסתברות
שאלות בסטטיסטיקה בודקות אם אתם מבינים אי-ודאות, דגימה, הסקה, התפלגויות וההנחות שמאחורי המסקנות. אין צורך לדקלם נוסחאות באופן עיוור; צריך לנמק נכון.
מושגים בסטטיסטיקה שכל דאטה סיינטיסט חייב להכיר
ערך p (P-value)
ההסתברות לקבל תוצאה קיצונית לפחות כמו התוצאה הנוכחית, אילו השערת האפס הייתה נכונה. זו לא ההסתברות שהשערת האפס נכונה.
רווח סמך
טווח שמופק בשיטה שתכיל את הפרמטר האמיתי באחוז מוצהר מתוך דגימות חוזרות. הוא מבטא את אי-הוודאות באומדן טוב יותר מאומדן נקודתי בודד.
עוצמה סטטיסטית
ההסתברות לזהות אפקט אם האפקט אכן קיים. ניסויים בעלי עוצמה נמוכה עלולים להניב תוצאות לא חד-משמעיות גם כשקיים אפקט אמיתי.
הטיית בחירה
הטיה שנוצרת כשהמדגם הנצפה אינו מייצג את האוכלוסייה, או כשההקצאה לטיפול אינה בלתי תלויה בתוצאה.
גישה: קשר סטטיסטי לעומת אפקט סיבתי
מתאם פירושו ששני משתנים נעים יחד מבחינה סטטיסטית. סיבתיות פירושה ששינוי במשתנה אחד גורם לשינוי במשתנה האחר, כשכל השאר קבוע. מתאם לבדו אינו מוכיח סיבתיות, כי הקשר עשוי לנבוע ממשתנים מבלבלים (confounding), מסיבתיות הפוכה, מהטיית בחירה או ממקריות.
דוגמה: למשתמשים שמקבלים יותר התראות פוש עשוי להיות שימור גבוה יותר. זה לא מוכיח שההתראות גורמות לשימור. ייתכן שמשתמשים מעורבים יותר פשוט מקבלים יותר התראות או מייצרים יותר אירועים שמצדיקים התראה. כדי לאמוד סיבתיות נדרש ניסוי מבוקר אקראי, ניסוי טבעי, משתנה אינסטרומנטלי, רגרסיה לא רציפה (regression discontinuity), הפרש ההפרשים (difference-in-differences) או מערך סיבתי קפדני עם הנחות מוגדרות.
תשובה חזקה של דאטה סיינטיסט מסבירה גם את הסיכון בהחלטה. אם נתייחס למתאם כאל סיבתיות, אנחנו עלולים להגדיל את כמות ההתראות ולפגוע במשתמשים. הצעד הנכון הבא הוא לתכנן ניסוי או ניתוח סיבתי שמבודד את ההשפעה של ההתראות.
שאלות המשך צפויות
מהם מקורות נפוצים למשתנים מבלבלים?
איך הייתם בודקים אם ההתראות גורמות לשימור?
מתי מתאם עדיין שימושי?
גישה: חיובי שגוי לעומת שלילי שגוי
טעות מסוג ראשון היא חיובי שגוי (false positive): דחיית השערת האפס כשהיא בעצם נכונה. בניסוי A/B, המשמעות היא להשיק פיצ'ר כי נראה שהוא עוזר, כשבפועל הוא לא. טעות מסוג שני היא שלילי שגוי (false negative): אי-דחיית השערת האפס כשקיים אפקט אמיתי. המשמעות היא לפספס פיצ'ר שבאמת עוזר.
רמת המובהקות אלפא קובעת את שיעור הטעות מסוג ראשון. העוצמה, שהיא 1 פחות בטא, קשורה לטעות מסוג שני. הגדלת המדגם משפרת בדרך כלל את העוצמה. יש כאן פשרה: סף מובהקות מחמיר יותר מקטין את מספר החיוביים השגויים, אבל עלול להגדיל את מספר השליליים השגויים אם לא מתאימים את גודל המדגם.
בהחלטות מוצר, רמת הטעות הקבילה תלויה בעלות. בשינוי מסוכן בתהליך התשלום, חיובי שגוי עלול להיות יקר. בשיפור UI בסיכון נמוך, סיכון מעט גבוה יותר לחיובי שגוי יכול להיות קביל אם מהירות האיטרציה חשובה.
שאלות המשך צפויות
איזו טעות חמורה יותר במודל לאבחון רפואי?
איך גודל המדגם משפיע על טעות מסוג שני?
מה קורה כשמריצים הרבה מבחנים בבת אחת?
גישה: השערה ← הסתברות ← אי-ודאות
השערת האפס היא שהמטבע הוגן, כלומר ההסתברות לעץ היא 0.5. קבלת עץ 8 פעמים או יותר ב-10 הטלות אפשרית גם במטבע הוגן, ולכן אין להסיק מיד שהמטבע מוטה.
במבחן דו-צדדי, נתחשב בתוצאות קיצוניות לפחות כמו 8 פעמים עץ או 2 פעמים עץ. ההסתברות ל-8, 9 או 10 פעמים עץ היא (45 + 10 + 1) / 1024 = 56 / 1024, כ-5.5%. הכפלה עבור הזנב התחתון נותנת כ-10.9%. זה לא מתחת לסף מובהקות של 5%.
המסקנה היא ש-10 הטלות הן מדגם קטן. התוצאה מרמזת על הטיה, אבל היא לא ראיה חזקה מספיק כדי לקבוע בביטחון שהמטבע מוטה. אם ההחלטה חשובה, כדאי לאסוף עוד נתונים.
שאלות המשך צפויות
כמה הטלות הייתם רוצים?
ומה אם המטבע היה נופל על עץ 80 פעמים מתוך 100?
הייתם משתמשים במבחן חד-צדדי או דו-צדדי?
ניסויים והסקה סיבתית
שאלות על ניסויים בוחנות אם תוכלו לתכנן ניסויים נקיים, לפרש תוצאות, להימנע ממסקנות שגויות ולחבר ראיות ניסוייות להחלטות מוצר.
גישה: השערה ← יחידה ← מדדים ← מדדי הגנה ← משך ← החלטה
קודם כול נגדיר את ההשערה. למשל, אלגוריתם הדירוג החדש משפר את שביעות רצון המשתמשים כי הוא מציג פריטים רלוונטיים יותר, בלי לפגוע בגיוון, בזמן התגובה או בשימור לטווח ארוך.
ליחידת הרנדומיזציה יש חשיבות. אם משתמשים רואים תוכן מדורג שוב ושוב, נבצע רנדומיזציה ברמת המשתמש כדי שכל משתמש יקבל חוויה עקבית. אם יש אפקטי רשת או זליגה בין צדדים במרקטפלייס, רנדומיזציה פשוטה ברמת המשתמש עשויה שלא להספיק, ואולי נצטרך רנדומיזציה לפי אשכולות או קבוצות holdout שתוכננו בקפידה.
המדד הראשי צריך לשקף את המטרה: מעורבות משמעותית, המרה, סשנים מוצלחים, שימור בהמשך המשפך או הכנסות, בהתאם למוצר. מדדים משניים יכולים לכלול שיעור הקלקה (CTR), זמן שהייה, שמירות, רכישות או הסתרות. מדדי ההגנה צריכים לכלול זמן תגובה, שיעור תלונות, גיוון, הוגנות כלפי יוצרים או מוכרים, ביטולי הרשמה או נטישה, וכל מדד איכות שאפשר לתמרן.
נריץ את הניסוי מספיק זמן כדי לכסות עונתיות שבועית ולהגיע לגודל המדגם הנדרש. לפני ההשקה נבדוק אפקטי חידוש, הבדלים בין פלחים, את תקינות מדדי ההגנה, והאם השיפור במדד משמעותי בפועל ולא רק מובהק סטטיסטית.
קודם כול צריך לוודא שהתוצאה בפלח אמיתית. אבדוק את גודל המדגם, את רווחי הסמך, האם הפלחים הוגדרו מראש, את הסיכון שבהשוואות מרובות, והאם משתמשים חדשים סווגו כראוי. תת-קבוצה רועשת לא אמורה לגבור על תוצאה כוללת חזקה בלי ראיות.
אם הירידה אצל משתמשים חדשים אמינה, צריך להבין את המנגנון. ייתכן שהפיצ'ר מועיל למשתמשים מנוסים שמכירים את המוצר, אבל מבלבל משתמשים חדשים. משתמשים חדשים צריכים לעיתים קרובות אונבורדינג פשוט יותר, יותר הסברים או ברירת מחדל אחרת.
ההמלצה תלויה בגודל האפקט ובחשיבות האסטרטגית. אם משתמשים חדשים קריטיים לצמיחה, לא אשיק לכולם. אפשר להשיק רק למשתמשים קיימים, ליצור גרסה ייעודית למשתמשים חדשים או להריץ ניסוי המשך עם שינויים באונבורדינג. אם האפקט השלילי קטן וקצר טווח בזמן שהשימור לטווח ארוך משתפר, אחקור לעומק לפני שאחסום את ההשקה.
התשובה צריכה להראות שאתם יודעים לאזן בין מדדים מצרפיים לבין אפקטי טיפול הטרוגניים והקשר עסקי.
שאלות המשך צפויות
איך נמנעים מגילויים שגויים בניתוח פלחים?
ומה אם פלח המשתמשים החדשים קטן?
איך הייתם מתכננים את ניסוי ההמשך?
גישה: טיפול לא אקראי עם מגמה דומה בקבוצת ביקורת
הפרש ההפרשים שימושי כשרנדומיזציה אינה אפשרית, למשל בשינוי מדיניות, בהשקה אזורית, בשינוי תמחור או בשינוי תפעולי שמשפיע על קבוצה אחת ולא על אחרת. השיטה משווה את השינוי לאורך זמן בקבוצת הטיפול לשינוי לאורך זמן בקבוצת ביקורת.
ההנחה המרכזית היא מגמות מקבילות (parallel trends): ללא הטיפול, קבוצת הטיפול וקבוצת הביקורת היו נעות באופן דומה. כדאי לבחון את המגמות שלפני הטיפול כדי לראות אם ההנחה סבירה. אם קבוצת הטיפול כבר נעה במגמה שונה, האומדן עלול להיות מוטה.
דוגמה: פיצ'ר מושק בקנדה אבל לא בארה״ב. נשווה את השימור בקנדה לפני ההשקה ואחריה לשימור בארה״ב לפני אותה תקופה ואחריה. ההפרש בין השינויים אומד את אפקט הטיפול, בתנאי שקבוצת הביקורת לוכדת עונתיות וגורמים חיצוניים.
אציג את התוצאה בזהירות רבה יותר מאשר בניסוי מבוקר אקראי, כי התוקף הסיבתי תלוי בהנחות שאי אפשר להוכיח עד הסוף.
שאלות המשך צפויות
איך בודקים את הנחת המגמות המקבילות?
מה עלול להפר את הנחות הפרש ההפרשים?
איך הייתם בוחרים קבוצת ביקורת?
שאלות ראיון בלמידת מכונה
ראיונות בלמידת מכונה בודקים אם תוכלו לנסח בעיית חיזוי, לבחור מודלי בסיס סבירים, להנדס פיצ'רים, להעריך מודלים ולהבין מדוע מודל עלול להיכשל בפרודקשן.
גישה: הגדרת תווית ← בניית פיצ'רים ← מודל בסיס ← הערכה ← פריסה זהירה
קודם כול נגדיר מהי נטישה. במוצר מבוסס מינוי, נטישה יכולה להיות ביטול, כשל בתשלום או אי-חידוש בתוך חלון זמן. נקודת החיזוי צריכה להיות לפני אירוע הנטישה, למשל חיזוי האם משתמש פעיל ינטוש ב-30 הימים הקרובים.
ניצור מערך נתוני אימון בתאריך תמונת מצב (snapshot) עקבי. פיצ'רים אפשריים: תדירות שימוש, זמן מאז השימוש האחרון, אימוץ פיצ'רים, פניות תמיכה, בעיות חיוב, סוג התוכנית, ותק, מגמת מעורבות, ניצול רישיונות ומעברים קודמים לתוכנית נמוכה יותר. צריך להיזהר מדליפת מידע: לא לכלול פיצ'רים שמתרחשים אחרי חותמת הזמן של החיזוי או שמקודדים ישירות את תוצאת הנטישה.
נתחיל במודל בסיס פשוט כמו רגרסיה לוגיסטית או gradient boosted trees, בהתאם לצורכי הפרשנות והביצועים. נעריך באמצעות AUC, Precision/Recall, כיול, lift בעשירונים העליונים וההשפעה העסקית של ההתערבויות. Accuracy לבדו מטעה לעיתים קרובות כשנטישה היא אירוע נדיר.
פריסה מחייבת יכולת לפעול על פי התוצאות. ציון נטישה שימושי רק אם החברה יכולה להתערב. ננטר את סחיפת המודל, הוגנות בין פלחים, את האפקטיביות של ההתערבויות, והאם המודל מזהה משתמשים שבאמת אפשר להציל.
שאלות המשך צפויות
מהי דליפת תוויות (label leakage) בבעיה הזו?
הייתם ממטבים Precision או Recall?
איך הייתם מוכיחים שהמודל מייצר ערך עסקי?
גישה: התאמה לנתוני האימון לעומת הכללה
התאמת יתר קורית כשמודל לומד רעש או מאפיינים ייחודיים של נתוני האימון במקום דפוסים שניתנים להכללה. הוא מצליח בנתוני האימון אבל מתפקד גרוע בנתונים שלא ראה.
דרכים לצמצם התאמת יתר כוללות חלוקה ל-train/validation/test, אימות צולב (cross-validation), רגולריזציה, מודלים פשוטים יותר, גיזום עצים, עצירה מוקדמת, dropout ברשתות נוירונים, יותר נתונים, בחירת פיצ'רים וכוונון נכון של היפר-פרמטרים. דליפת מידע עלולה להיראות כמו ביצועים מצוינים ולהיכשל בפרודקשן, ולכן גם בדיקות לדליפה הן הכרחיות.
דרך המניעה הנכונה תלויה במודל ובבעיה. במודל דליל בעל ממדיות גבוהה, רגולריזציה יכולה לעזור. ב-gradient boosted trees חשובים העומק, קצב הלמידה, מספר העצים (estimators) ועצירה מוקדמת. בסדרות עתיות או בנתוני התנהגות משתמשים, האימות חייב לכבד את סדר הזמן כדי לא לאמן על העתיד.
שאלות המשך צפויות
איך מזהים התאמת יתר?
מה ההבדל בין סט ולידציה לסט בדיקה?
האם מודל יכול לסבול מהתאמת חסר ומהתאמת יתר בו-זמנית?
גישה: פרשנות, אי-ליניאריות, גודל הנתונים, ביצועים, פריסה
רגרסיה לוגיסטית היא מודל בסיס חזק לסיווג בינארי. היא מהירה, ניתנת לפרשנות, קלה יותר לכיול ועובדת היטב כשהקשרים ליניאריים בקירוב אחרי הנדסת פיצ'רים. לעיתים קרובות היא בחירה טובה כשבעלי העניין צריכים הסברים ברורים או כשהנתונים מוגבלים.
Random Forest יכול ללכוד קשרים לא ליניאריים ואינטראקציות בין פיצ'רים בלי הרבה הגדרה ידנית. הוא עשוי לתת ביצועים טובים יותר בנתונים טבלאיים מורכבים, אבל קשה יותר לפרש אותו, הוא עשוי להיות כבד יותר להגשה, וייתכן שלא יבצע אקסטרפולציה טובה מחוץ להתפלגות האימון.
אשווה ביניהם על אותה חלוקת train/validation, עם מדדים מתאימים, כיול, עלות inference ואילוצים עסקיים. אם הרגרסיה הלוגיסטית מגיעה לביצועים קרובים ויכולת הפרשנות חשובה, אבחר בה. אם Random Forest מספק שיפור משמעותי ואפשר להסביר ולפרוס אותו באחריות, אשתמש בו או אשווה אותו גם ל-gradient boosted trees.
התשובה הטובה ביותר אינה שמודל אחד תמיד עדיף. הכול תלוי במטרה, בנתונים, באילוצים וביכולת לפעול על פי התוצאות.
שאלות המשך צפויות
איך הייתם מסבירים חיזויים של Random Forest?
מתי יכולת פרשנות חשובה יותר מדיוק?
למה gradient boosting עשוי לתת ביצועים טובים יותר מ-Random Forest?
יש כמה אופני כשל אפשריים. ייתכן שמערך הנתונים באופליין אינו תואם לתעבורת הפרודקשן. ייתכן שיש training-serving skew, כלומר הפיצ'רים מחושבים אונליין אחרת מאשר באופליין. ייתכן שחלוקת הוולידציה הדליפה מידע מהעתיד או לא כיבדה את סדר הזמן. ייתכן שמדד האופליין לא תואם את מטרת המוצר.
נתוני הפרודקשן עשויים לעבור סחיפה: התנהגות משתמשים, עונתיות, ערוצי גיוס משתמשים, מלאי, תמחור או אירועים חיצוניים יכולים להשתנות. המודל עלול גם ליצור לולאות משוב. למשל, מודל המלצות משנה את מה שהמשתמשים רואים, וזה משנה את נתוני האימון העתידיים.
בעיות מימוש נפוצות: פיצ'רים חסרים, ערכי ברירת מחדל, timeouts בגלל זמן תגובה, פיצ'רים לא עדכניים, סף החלטה שגוי או אי-התאמה בין גרסאות מודל. ייתכן גם שהביצועים בפלחים מסוימים גרועים, גם אם המדד המצרפי באופליין נראה טוב.
אשווה את התפלגויות הפיצ'רים באופליין ובאונליין, את התפלגויות החיזויים, את הכיול, את מדדי הפלחים, את הלוגים ואת התוצאות העסקיות. אחר כך אחליט אם לבצע rollback, לכוונן ספים, לתקן את צינורות הפיצ'רים, לאמן מחדש או לתכנן מחדש את פונקציית המטרה.
שאלות המשך צפויות
מהו training-serving skew?
איך הייתם מנטרים סחיפת מודל?
איך לולאות משוב משפיעות על מערכות המלצה?
הערכת מודלים ומדדים
שאלות על הערכת מודלים בודקות אם תוכלו לבחור מדדים שמתאימים לבעיה העסקית. מודל יכול להגיע ל-accuracy מרשים ועדיין להיות חסר תועלת אם המדד שגוי.
סיווג
דירוג / המלצות
מדדים נפוצים
Precision, Recall, F1, AUC, log loss, כיול
NDCG, MAP, MRR, hit rate, כיסוי, גיוון, מעורבות אונליין
סיכון עיקרי
חוסר איזון בין מחלקות עלול להפוך את ה-accuracy למטעה
מדדי רלוונטיות באופליין עשויים לא לשקף את שביעות רצון המשתמשים
קשר לעסק
הסף צריך לשקף את העלות של חיוביים שגויים ושל שליליים שגויים
הדירוג צריך לאזן בין רלוונטיות, עדכניות, גיוון, הוגנות וזמן תגובה
גישה: עלות חיוביים שגויים לעומת שליליים שגויים
נמטב Precision כשחיוביים שגויים יקרים. למשל, אם מודל הונאות חוסם לקוחות לגיטימיים, חיוביים שגויים פוגעים בלקוחות וגורמים לאובדן הכנסות. Precision גבוה פירושו שכשהמודל מסמן משהו, הוא בדרך כלל צודק.
נמטב Recall כששליליים שגויים יקרים. למשל, בבדיקות סקר רפואיות או בזיהוי הונאות חמורות, פספוס של מקרה חיובי אמיתי יכול לעלות יותר מבדיקה של חיוביים שגויים נוספים. Recall גבוה פירושו שהמודל תופס את רוב המקרים החיוביים בפועל.
רוב המערכות האמיתיות דורשות פשרה. את הסף צריך לבחור על סמך עלויות עסקיות, קיבולת תפעולית, נזק למשתמשים ותהליך העבודה שבהמשך. בדרך כלל אבחן עקומות Precision-Recall ולא רק סף בודד, במיוחד כשהמחלקות לא מאוזנות.
שאלות המשך צפויות
למה accuracy עלול להטעות באירועים נדירים?
איך הייתם בוחרים סף?
באיזה מדד הייתם משתמשים לזיהוי הונאות?
גישה: איכות ההסתברויות, לא רק איכות הדירוג
כיול פירושו שההסתברויות החזויות תואמות את השכיחויות הנצפות. אם מודל מכויל מקצה הסתברות של 0.8 ל-1,000 דוגמאות, בערך 800 מהן אמורות להיות חיוביות בפועל.
כיול חשוב כשההסתברויות מניעות החלטות: דירוג סיכונים, תמחור, טריאז' רפואי, תורי בדיקת הונאות, התערבויות נגד נטישה או חישובי תוחלת. מודל יכול לדרג דוגמאות היטב עם AUC גבוה ועדיין להפיק הסתברויות שמכוילות בצורה גרועה.
אפשר לבחון עקומות כיול או דיאגרמות אמינות (reliability diagrams) ומדדים כמו Brier score. שיטות כיול כוללות Platt scaling, רגרסיה איזוטונית ו-temperature scaling. עם זאת, צריך לבדוק את הכיול על נתוני ולידציה שמשקפים את ההתפלגות בפרודקשן.
בראיון, הדגישו שלא כל יישום צריך הסתברויות מכוילות באופן מושלם. אם המודל רק מדרג תוכן, מדדי דירוג עשויים להיות חשובים יותר. אם המספר מתפרש כרמת סיכון, הכיול הופך לקריטי.
שאלות המשך צפויות
האם למודל יכולים להיות AUC גבוה וכיול גרוע?
איך הייתם משפרים את הכיול?
מתי כיול חשוב להחלטות עסקיות?
שאלות SQL ו-Python
ראיונות לדאטה סיינטיסט כוללים לעיתים קרובות SQL ו-Python, כי גם עבודת מידול חזקה תלויה בשליפה, בטרנספורמציה, באימות ובניתוח חקרני מדויקים של נתונים.
גישה: חודש הקוהורטה ← חודש הפעילות ← הפרש החודשים ← אגרגציה
ניצור CTE של קוהורטה עם כל משתמש וחודש ההרשמה שלו. ניצור CTE של פעילות עם ערכי user_id ייחודיים וחודש הפעילות, עבור אירועי פעילות שעומדים בהגדרה. נצרף (join) את הפעילות לקוהורטה לפי user_id, ואז נחשב את month_number כהפרש בין חודש הפעילות לחודש ההרשמה. נקבץ לפי חודש הקוהורטה ו-month_number ונספור משתמשים פעילים ייחודיים.
המכנה הוא מספר המשתמשים בקוהורטה המקורית. המונה לחודש N הוא מספר המשתמשים מאותה קוהורטה שהיו פעילים בחודש N. נשתמש ב-left join אם צריך לשמר חודשים שבהם לא נשמר אף משתמש.
פרטים חשובים: להגדיר מהו אירוע פעיל, להחריג משתמשי בדיקה, לטפל במשתמשים שנרשמו סמוך לגבולות החודש, להשתמש באזור זמן עקבי ולהימנע מספירה של כמה אירועי פעילות לאותו משתמש באותו חודש. התוצאה צריכה להיות טבלת קוהורטות שבה כל שורה היא חודש הרשמה, וכל עמודה או היסט שורה היא חודש שימור.
שאלות המשך צפויות
איך הייתם מחשבים במקום זאת שימור מתגלגל (rolling retention)?
איך הייתם מציגים שימור קוהורטות באופן ויזואלי?
ומה אם נתוני הפעילות מגיעים באיחור?
גישה: כימות ← פילוח ← אבחון ← בחירת טיפול
קודם כול אכמת את החוסרים לפי עמודה: מספר, אחוז וסוג נתונים. ב-pandas, df.isna().sum() ו-df.isna().mean() נותנים פרופיל מהיר. אחר כך אבדוק אם החוסרים מרוכזים לפי זמן, פלח, מקור, מכשיר, אזור גיאוגרפי או ערך תווית המטרה.
השאלה המרכזית היא למה הערכים חסרים. חוסר אקראי לחלוטין שונה מחוסר שנובע מכך שמשתמש דילג על שדה, שהמעקב נכשל, שמכשיר אינו תומך באירוע או שהערך אינו רלוונטי.
הטיפול תלוי בסיבה ובצורכי המודל. האפשרויות כוללות שמירת הערך החסר כקטגוריה בפני עצמה, השלמה (imputation) לפי חציון או שכיח, השלמה מבוססת מודל, החרגת שורות או תיקון איסוף הנתונים במעלה הזרם. במידול, אתאים את ההשלמה רק על נתוני האימון ואחיל אותה על validation/test כדי למנוע דליפה.
אבדוק גם אם עצם החוסר הוא בעל כוח ניבוי. למשל, הכנסה חסרה במערך נתוני אשראי או שדות פרופיל חסרים במוצר צרכני יכולים לשאת אות, אבל שימוש בהם עלול לעורר שאלות של הוגנות או רגולציה.
שאלות המשך צפויות
מתי עצם החוסר נושא מידע?
איך נמנעים מדליפה בזמן השלמת ערכים?
מה הייתם עושים אם בתווית המטרה יש ערכים חסרים?
גישה: זיהוי ← אבחון ← החלטה לפי המשמעות העסקית
שיטות לזיהוי חריגים כוללות סטטיסטיקה תיאורית, היסטוגרמות, תרשימי קופסה (box plots), ציוני z, כללי IQR, ספים לפי אחוזונים וגישות מבוססות מודל. אבל הזיהוי הוא רק הצעד הראשון. השאלה החשובה היא אם החריג הוא שגיאה, מקרה נדיר אך תקין, או החלק החשוב ביותר בהתפלגות.
אבחן חריגים לפי מקור, חותמת זמן, פלח ורשומות גולמיות. גיל שלילי הוא כנראה שגיאת נתונים. רכישה גדולה מאוד של לקוח אנטרפרייז עשויה להיות תקינה, ואין להסיר אותה מניתוח הכנסות בלי סיבה. במידול, חריגים עשויים לחייב טרנספורמציה, וינזוריזציה (winsorization), מודלים חסינים או טיפול ייעודי לפי פלח.
מסירים חריגים רק כשיש סיבה מוצדקת: ערך בלתי אפשרי, אירוע כפול, באג באינסטרומנטציה, חשבון בדיקה או רשומות מחוץ להיקף הניתוח. אם חריגים תקינים משפיעים על המסקנה, יש לדווח על ניתוח רגישות עם החריגים ובלעדיהם.
שאלות המשך צפויות
מהי וינזוריזציה (winsorization)?
איך חריגים יכולים להשפיע על רגרסיה ליניארית?
מתי החריגים הם האות?
שאלות אנליטיקה מוצרית ומקרי בוחן עסקיים
תפקידי דאטה סיינס רבים משולבים בצוותי מוצר. הראיונות האלה בודקים אם תוכלו לתרגם עמימות מוצרית למדדים, לתוכניות ניתוח, לניסויים ולהחלטות.
גישה: איכות המדד ← אבחון המשפך ← פילוח ← מנגנון ← פעולה
קליקים עשויים להיות מדד מתווך (proxy) חלש לערך. קודם כול נאמת את התוצאה ונגדיר את המשפך: חשיפות, קליקים, הוספה לעגלה, מעבר לתשלום, רכישה, החזרים והתנהגות חוזרת. אם הקליקים עלו אבל הרכישות ירדו, ייתכן שההמלצות מושכות סקרנות בלי כוונת רכישה, או מסיחות את המשתמשים ממסלולים טובים יותר.
נפלח לפי סוג משתמש, מקור תנועה, קטגוריית מוצר, מכשיר ומיקום ההמלצות. משתמשים חדשים עשויים להקליק יותר כי הרכיב בולט, אבל למצוא פריטים לא רלוונטיים. משתמשים חוזרים עשויים להיות מוסטים מתהליך הרכישה הרגיל שלהם.
נבחן את איכות ההמלצות: רלוונטיות, אי-התאמה במחיר, זמינות, זמן משלוח, גיוון, והאם הפריטים המומלצים אזלו מהמלאי או בעלי מרווח נמוך. כדאי גם לבדוק שינויים בזמן התגובה ובפריסת העמוד.
המלצה: לא להשיק על סמך קליקים בלבד. אפשר לבצע rollback, להגביל את החשיפה לפלחים שבהם הרכישות תקינות, או לתכנן מחדש את פונקציית המטרה כך שתמטב את איכות הרכישות בהמשך המשפך במקום את שיעור ההקלקה.
שאלות המשך צפויות
באיזה מדד ראשי הייתם בוחרים?
איך הייתם מודדים את איכות ההמלצות?
ומה אם ההכנסות עלו אבל הרכישות ירדו?
גישה: נזילות ← איכות ← איזון ← שימור ← כלכלת יחידה
הבריאות של מרקטפלייס תלויה בשני הצדדים. מושג הליבה הוא נזילות: האם הביקוש מוצא היצע מתאים במהירות, והאם ההיצע מוצא מספיק ביקוש כדי להישאר מעורב?
המדדים תלויים בסוג המרקטפלייס. בשירותי נסיעות שיתופיות: שיעור התאמה, זמן עד התאמה, ETA, שיעור ביטולים, ניצולת נהגים, שיעור נוסעים חוזרים, תדירות תמחור דינמי (surge) וכיסוי גיאוגרפי. במרקטפלייסים של פרילנסרים: אחוז הפרויקטים שמקבלים הצעות מתאימות, זמן עד ההצעה הראשונה, שיעור העסקה, השלמת פרויקטים, שיעור מחלוקות, העסקה חוזרת וניצולת ספקים.
נפלח לפי אזור גיאוגרפי, קטגוריה, שעה ביום, קוהורטת משתמשים, דרג היצע וכוונת ביקוש. ממוצעים ברמת המרקטפלייס מסתירים חוסר איזון מקומי. מרקטפלייס יכול להיראות בריא בסך הכול ובמקביל להיכשל בעיר או בקטגוריה מסוימת.
מדדי ההגנה כוללים אמון ובטיחות, הונאות, תלונות על איכות, החזרים, נטישה בכל אחד מהצדדים וכלכלת יחידה. ההמלצות צריכות לזהות אם הצד המוגבל הוא ההיצע או הביקוש, כי מנופי הצמיחה שונים לגמרי.
שאלות המשך צפויות
איך הייתם פותרים בעיית התחלה קרה (cold start)?
איך יודעים איזה צד מוגבל?
איזה מדד הייתם מציגים להנהלה בכל שבוע?
גישה: ערך למשתמש ← התנהגות חוזרת ← תוצאת למידה ← מדדי הגנה
מדד North Star צריך לשקף ערך מתמשך למשתמש, לא רק פעילות. באפליקציה ללימוד שפות, סשנים יומיים לבדם עשויים להיות שטחיים מדי, כי משתמשים יכולים לפתוח את האפליקציה בלי ללמוד. מועמד טוב יותר יכול להיות מספר הלומדים הפעילים בשבוע שמשלימים שיעור משמעותי ברמת דיוק מספקת, או דקות למידה שבועיות שעומדות בקריטריוני איכות.
אתייחס לערך הליבה: לעזור למשתמשים להתקדם בשפה. מדדי קלט יכולים לכלול התחלות שיעורים, השלמות שיעורים, רצפים, דיוק, השלמת חזרות, תרגול דיבור והתקדמות ברמות. מדדי תוצאה יכולים לכלול שימור, המרה למינוי, שיפור במבחן המיון או מבחני בקיאות חיצוניים, אם הם זמינים.
מדדי הגנה: שחיקה, השלמות מהירות באיכות נמוכה, רמאות, ביטולי הסכמה להתראות, נטישה ותסכול משתמשים. אם המדד מתגמל רק עוד זמן שימוש, הוא עלול לעודד תרגול מכני במקום למידה.
אגדיר את ה-North Star יחד עם בעלי עניין מתחום המוצר ומדעי הלמידה, ואז אבדוק אם הוא מנבא שימור והתקדמות שהמשתמשים מדווחים עליה.
שאלות המשך צפויות
למה לא להשתמש ב-DAU כ-North Star?
איך הייתם מונעים מניפולציה על המדד?
במה זה היה שונה בין לומדים מזדמנים ללומדים רציניים?
מקרי בוחן במידול
ראיונות מקרה במידול בודקים את תהליך העבודה המלא בדאטה סיינס: ניסוח הבעיה, תוויות, פיצ'רים, מודל בסיס, הערכה, פריסה, ניטור וערך עסקי.
קודם כול נגדיר מהי הונאה ומהי הפעולה. האם חוסמים עסקאות, מעבירים אותן לבדיקה ידנית, דורשים אימות מוגבר (step-up authentication) או רק מדרגים סיכון? מטרת המודל צריכה להתאים להתערבות, כי חיוביים שגויים עלולים לפגוע בלקוחות לגיטימיים.
תוויות יכולות להגיע מהחזרי חיוב (chargebacks), מחקירות הונאה מאומתות, מדיווחי משתמשים או מסימונים מבוססי חוקים. התוויות מגיעות באיחור ואינן מושלמות, ולכן צריך להביא בחשבון את השיהוי ואת הרעש בתוויות. פיצ'רים אפשריים: סכום העסקה, בית העסק, המכשיר, אי-התאמה בין IP למיקום גיאוגרפי, ותק החשבון, קצב עסקאות (velocity), היסטוריית אמצעי התשלום, ניסיונות כושלים, מרחק המשלוח ומחלוקות קודמות.
נתחיל בחוקים ובמודל בסיס פשוט, ואז נשווה מודלים כמו רגרסיה לוגיסטית, gradient boosted trees או זיהוי אנומליות, בהתאם לאיכות התוויות. ההערכה צריכה להדגיש Precision-Recall, Recall בקיבולת בדיקה קבועה, שיעור חיוביים שגויים בקרב משתמשים לגיטימיים, היקף ההונאות שנתפסו במונחים כספיים וכיול.
פריסה מחייבת ניטור של סחיפה, הסתגלות של גורמים עוינים, הוגנות, זמן תגובה, קיבולת הבדיקה הידנית ולולאות משוב, וגם יכולת rollback. מודל הונאות אינו רק בעיית חיזוי; זו מערכת תפעולית.
שאלות המשך צפויות
איך הייתם מתמודדים עם תוויות שמגיעות באיחור?
מה המחיר של חיוביים שגויים?
איך הרמאים היו מסתגלים?
גישה: הגדרת משתנה המטרה ← זמינות הפיצ'רים ← מדד ← כיול ← השפעה על המשתמש
נגדיר את משתנה המטרה כמשך המשלוח בפועל, מאישור ההזמנה ועד ההגעה, או נפרק אותו לרכיבים: זמן הכנה, שיבוץ שליח, זמן איסוף, זמן נסיעה ומסירה. מידול לפי רכיבים יכול להיות קל יותר לפרשנות ושימושי יותר מבחינה תפעולית.
פיצ'רים שזמינים בזמן החיזוי יכולים לכלול מסעדה, סוג מטבח, שעה ביום, יום בשבוע, מזג אוויר, מרחק, היצע שליחים, עומס נוכחי, זמני הכנה היסטוריים, תנועה, גודל ההזמנה ואזור גיאוגרפי. יש להימנע משימוש בפיצ'רים שאינם ידועים בזמן החיזוי, כמו זמן האיסוף בפועל, אם החיזוי נעשה בעת ביצוע ההזמנה.
המדדים צריכים לשקף את חוויית המשתמש. MAE קל לפרשנות, אבל הערכת חסר עשויה להיות גרועה יותר מהערכת יתר. הכיול חשוב: אם מבטיחים חלון משלוח, ההזמנה צריכה להגיע בתוך החלון הזה בשיעור הצפוי.
שיקולי פריסה כוללים זמן תגובה, עדכניות פיצ'רים בזמן אמת, מסעדות חדשות ללא היסטוריה (cold start), חגים, זעזועי מזג אוויר ולולאות משוב שבהן ה-ETA המוצג משפיע על החלטות המשתמשים. ננטר את השגיאה לפי מסעדה, אזור, זמן ופלח לקוחות.
שאלות המשך צפויות
הייתם ממדלים את הזמן הכולל או את הרכיבים?
איך הייתם מתמודדים עם מסעדות חדשות?
מה גרוע יותר: הערכת יתר או הערכת חסר של ה-ETA?
דוגמה מפורטת
מבנה מקרה מידול
המראיין מבקש מכם לתכנן מודל שחוזה אם משתמש בתקופת ניסיון חינם יעבור למינוי בתשלום.
1
ניסוח המטרה
הגדירו את רגע החיזוי ואת התווית: ההסתברות שמשתמש בתקופת ניסיון יעבור למינוי בתשלום בתוך 14 או 30 ימים מתחילת תקופת הניסיון.
2
זיהוי פיצ'רים
השתמשו רק בנתונים שזמינים לפני החיזוי: אירועי הפעלה (activation), תדירות שימוש, אימוץ פיצ'רים, הזמנות לחברי צוות, ערוץ המקור, מכשיר, נתונים פירמוגרפיים ואינטראקציות עם התמיכה.
3
בחירת מודל בסיס
התחילו בהיוריסטיקות פשוטות או ברגרסיה לוגיסטית, ואז השוו למודלים מבוססי עצים אם אינטראקציות לא ליניאריות חשובות.
4
הערכת יכולת הפעולה
מטבו ל-lift בעשירונים העליונים, לכיול ולשיפור בהמרה כתוצאה מהתערבויות, ולא רק ל-AUC באופליין.
ראיונות התנהגותיים בדאטה סיינס מתמקדים בעמימות, ביכולת השפעה, בתקשורת טכנית, בהשפעה של פרויקטים, בשיקול דעת אתי ובמקרים שבהם הנתונים לא תמכו בנרטיב המועדף.
גישה: בעיה ← שיטה ← החלטה ← השפעה ← לקח
בחרו פרויקט שבו העבודה שלכם שינתה החלטה, מוצר, תהליך או מדד. התחילו מהבעיה העסקית ומהסיבה שהיא הייתה חשובה. אחר כך הסבירו את השיטה ברמת הפירוט הנכונה: מקורות נתונים, ניתוח או מודל, אימות ופשרות.
התשובה החזקה ביותר מחברת את העבודה הטכנית לפעולה עסקית. למשל, מודל נטישה עזר לצוות הצלחת הלקוח לתעדף פניות יזומות, ניסוי שינה החלטת השקה, או ניתוח תמחור הגדיל הכנסות בלי לפגוע בהמרה.
כמתו את ההשפעה ככל האפשר: גידול בהכנסות, צמצום נטישה, חיסכון בזמן, הפחתת עלויות, טרגוט טוב יותר או קבלת החלטות מהירה יותר. הסבירו גם את המגבלות ומה הייתם משפרים בהמשך.
אל תהפכו את התשובה לסקירת כלים. למראיין פחות חשוב באיזו ספרייה השתמשתם, ויותר חשוב אם העבודה שלכם הייתה נכונה, זכתה לאמון, אומצה והועילה.
שאלות המשך צפויות
איך מדדתם את ההשפעה?
מה היה האתגר הטכני הקשה ביותר?
איך השגתם את התמיכה של בעלי העניין?
גישה: החלטה ← אינטואיציה ← ראיות ← מגבלות ← פעולה
נקודת הפתיחה שלי היא ההחלטה שבעל העניין צריך לקבל, ולא ארכיטקטורת המודל. לאחר מכן אסביר את האינטואיציה של המודל בשפה פשוטה: מה הוא חוזה, באילו אותות הוא משתמש, כמה הוא מדויק ואיפה אסור לסמוך עליו.
אשתמש בדוגמאות, בחשיבות פיצ'רים או בקודי נימוק (reason codes) כשזה מתאים, בגרפי כיול ובתרשימי פשרה פשוטים כמו Precision מול Recall. אמנע מלהציג את המודל כקסם. בעלי העניין צריכים להבין את המגבלות: איכות הנתונים, אי-ודאות, הטיה, סחיפה ומקרי קצה.
לבסוף, אחבר את המודל לפעולה. למשל: "המודל הזה מזהה את 10% מהחשבונות בעלי הסבירות הגבוהה ביותר לנטישה, אבל הערך נוצר רק אם נבדוק שפנייה יזומה לקבוצה הזו משפרת את השימור." כך השיחה נשארת ממוקדת בהחלטות ובתוצאות.
שאלות המשך צפויות
ומה אם לבעלי העניין חשוב רק הדיוק?
איך אתם מציגים אי-ודאות?
מתי הייתם נמנעים משימוש במודל מורכב?
גישה: ציפייה ← ראיות ← תקשורת ← החלטה ← תוצאה
בחרו דוגמה אמיתית שבה הראיות ערערו על תוכנית מועדפת. הסבירו למה בעלי העניין ציפו, אילו נתונים ניתחתם ולמה המסקנה הייתה שונה. היו ספציפיים לגבי האימות, כי במצבים כאלה האמינות קריטית.
אחר כך תארו איך הצגתם את הממצא. תשובות חזקות מפגינות דיפלומטיות: הכרה במטרה של בעלי העניין, הצגה ברורה של הראיות, הסבר של אי-הוודאות והצעת חלופות. המטרה אינה לנצח בוויכוח; היא לעזור לצוות לקבל החלטה טובה יותר.
סיימו בתוצאה. אולי הצוות דחה את ההשקה, שינה את קהל היעד, הריץ ניסוי קטן יותר או בחר במדד אחר. אם בעלי העניין התעלמו מההמלצה, הסבירו מה קרה ומה למדתם על השפעה ותקשורת.
שאלות המשך צפויות
איך שמרתם על מערכת היחסים?
ומה אם ההנהלה לא הסכימה?
איך הפכתם את הניתוח לאמין יותר?
אסטרטגיית הכנה לדאטה סיינטיסט
ההכנה לראיונות דאטה סיינס צריכה לשלב סטטיסטיקה, ניסויים, SQL, Python, למידת מכונה, מקרי מוצר וסיפור פרויקטים. הדגש הנכון תלוי בכך שהתפקיד מכוון לאנליטיקה מוצרית, ל-ML יישומי, למחקר או לפלטפורמה.
תוכנית הכנה של 6 שבועות לראיונות דאטה סיינטיסט
1
שבוע 1: סטטיסטיקה והסתברות. חזרו על התפלגויות, דגימה, רווחי סמך, בדיקת השערות, ערכי p, עוצמה, הטיה, שונות ומלכודות סיבתיות.
2
שבוע 2: ניסויים. תרגלו תכנון ניסויי A/B, בחירת מדדים, מדדי הגנה, אינטואיציה לגודל מדגם, ניתוח פלחים, השוואות מרובות וסיכומי ניסויים.
3
שבוע 3: SQL ו-Python. תרגלו קוהורטות, משפכים, window functions, קיבוץ ב-pandas, ערכים חסרים, joins, יצירת פיצ'רים וניתוח חקרני.
4
שבוע 4: יסודות למידת מכונה. חזרו על סיווג, רגרסיה, רגולריזציה, עצים, boosting, כיול, מדדי הערכה, דליפה וסחיפה.
5
שבוע 5: מקרי מידול ומוצר. תרגלו מקצה לקצה בעיות של נטישה, הונאות, המלצות, תמחור, דירוג, חיזוי (forecasting) ומרקטפלייס.
6
שבוע 6: ראיונות הדמיה ובניית סיפורים. הכינו 4-6 סיפורי פרויקטים, הסבירו את ההשפעה בבהירות, תרגלו הצגת פשרות והתאימו את הדוגמאות לכל חברת יעד.
דאטה סיינטיסט ML יישומי: הדגישו הנדסת פיצ'רים, בחירת מודל, הערכה אופליין ואונליין, אילוצי פריסה, ניטור והתאמה למטרה העסקית.
•
דאטה סיינטיסט שיווק: הדגישו ייחוס (attribution), אינקרמנטליות, LTV, CAC, מידול uplift, ניסויים ואופטימיזציה של ערוצים.
•
דאטה סיינטיסט סיכונים או הונאות: הדגישו סיווג לא מאוזן, פשרות בין Precision ל-Recall, תוויות שמגיעות באיחור, התנהגות עוינת, יכולת הסבר וניטור.
•
דאטה סיינטיסט בכיוון מחקרי: הדגישו עומק סטטיסטי, הנחות מידול, תכנון ניסויים, חשיבה ברמה של מאמר אקדמי ותקשורת טכנית.
אל תפתחו במורכבות המודל
מראיינים מעדיפים לעיתים קרובות מודל פשוט שהבעיה שלו נוסחה נכון על פני מודל מורכב שפותר את הבעיה הלא נכונה. הגדירו תמיד את ההחלטה, התווית, מודל הבסיס, מדד ההערכה ואופני הכשל לפני שאתם מציעים טכניקות מתקדמות.
המסקנה העיקרית
תשובות מצוינות בראיונות לדאטה סיינטיסט מאזנות בין קפדנות סטטיסטית, שיקול דעת במידול, הבנת מוצר ותקשורת. המטרה אינה להוכיח שאתם מכירים כל אלגוריתם. המטרה היא להראות שאתם יודעים להשתמש בדאטה סיינס כדי לקבל החלטות טובות יותר בתנאי אי-ודאות.
תרגלו את השאלות האלה בזמן אמת
Interview Pilot מעניק לכם עוזר ראיונות AI בזמן אמת במהלך ראיונות אמיתיים, כדי שתוכלו לענות בבהירות כשהשאלות האלה עולות.