כתבות עם התגית auto-encoder

סיכום תחרות זו עלה כחלק מפוסט של ים פלג.

קבוצת MelANOVA:
על התחרות:
מלנומה – סרטן שרוב גידולו מתחילים בעור.
דיאגנוזה למלנומה כוללת בין היתר התבוננות בנקודות חן ושומות.
הבעיה ברורה: אנחנו מקבלים תמונות של שומות -> צריכים להחזיר: "כן סרטני" / "לא סרטני".
התחרות רצה שנה אחרי שנה כבר כמה שנים ברציפות.
את התחרות פתחנו במקום הראשון.
הגשה של ספי ונתי מהרצת האלגוריתם שפיתחו לתחרות של שנה שעברה.
אף אחד מאיתנו לא חשב שהמצב ימשיך כך לאורך זמן, ישבנו וחשבנו על אסטרטגיה מנצחת להמשך התחרות.
אז איך מנצחים תחרויות מדע נתונים? [מסודר לפי סדר חשיבות]
  1. אסטרטגית Cross Validation טובה.
  2. ניקוי טוב של הנתונים.
  3. הנדסת פיצ'רים טובה.
  4. מציאת טריקים\"רמאויות קטנות" בדאטה או במטריקה.
  5. מודל טוב.
  6. אופטימיזציה טובה להיפרפרמטרים.
  7. שיטה טובה לאנסמבל [בדגש על סטאקינג].
  8. שיטה טובה לאוגמנטציות (גם בזמן האימון וגם בזמן ההרצה – TTA).
  9. כוח מחשוב. זה תמיד עוזר.
  10. מזל. (כן כן! מזל מאוד עוזר)

לכתבה המלאה >>

אמנם, האתגר לא באמת נגמר כמו שצריך בגלל הוירוס. אבל עבדתי די קשה, אני מרשה לעצמי לסכם בכל מקרה!

לפני שבועיים Uri Goren פרסם את אתגר מערכות ההמלצה של jul.
אני מתעסק במערכות המלצה בתור (חצי) תחביב כבר כמעט שנה והרבה זמן חיפשתי תירוץ לצלול לעומק העניין.
אז למארגנים: תודה על הFOMO, אחלה תירוץ!

הבעיה: אנשים קנו מוצרים. אנחנו צריכים לאמר איזה מוצר הם יקנו בפעם הבאה.
הדאטה: טרנזקציות – אדם x קנה מוצר y בתאריך z.
ניקוד: אם קלענו למוצר אחד מתוך רשימת המוצרים העתידיים, האדם נספר לנו לחישוב הדיוק הסופי, שהוא לא יותר מאחוז האנשים בהם צדקנו.
עוד פרט חשוב: מספיק לנו לקלוע למוצר אחד. (ובדקתי את הפרט הזה דרך ההגשות ללידרבורד!)
ועוד פרט חשוב: אנחנו לא יודעים מה המוצרים! יש לנו רק id. זה חכם מצד המארגנים, היתי מנצל את זה לרעה אם זה לא היה ככה.

התחלתי לירות בייסליינים כבר בעשר הדקות הראשונות מפתיחת הטבלה.

הבייסליין הראשון כמובן: "תציע לכולם את המוצר הכי נפוץ".
השני היה: "תציע לכולם את המוצר הכי KNN.predict"

אחרי שניקיתי קצת, העפתי את העברית (כי זה דפק כל דבר אפשרי), העפתי את כל האנשים שאני יודע עליהם רק קניה אחת והגשתי את הבייסליין "תציע לכל אדם פשוט מה שהוא קנה ממנו הכי הרבה" ואת הבייסליין "תציע לכל אדם מה שכולם קונים הכי הרבה" והבייסליין "תציע לכל אדם מה שקונים ממנו הכי הרבה באותו החודש"
והכי חשוב,הרצתי את הבייסליין:

for cols_combination in כל_הקומבינציות(cols):
תציע לאותו אדם: df.groupby(cols_combination).agg(lambda x: x.value_counts().index[0])

שבאופן ממש מביך הביא אותי למקום הראשון בטבלה..
חצי שעה מפתיחת התחרות..

ואז התחלתי לעבוד באמת. לכתבה המלאה >>

X