קבלת תובנות מהנתונים ממודל ניתוח תרומה באמצעות מדד יחס שניתן לסיכום
במדריך הזה משתמשים במודל של ניתוח תרומה כדי לנתח את התרומה של יחס עלות המכירות במערך הנתונים של מכירות משקאות חריפים באיווה. במדריך הזה מוסבר איך לבצע את הפעולות הבאות:
- יצירת טבלת קלט על סמך נתוני משקאות חריפים של איווה שזמינים לציבור.
- יוצרים מודל לניתוח תרומה שמשתמש במדד יחס שניתן לסיכום. המודל הזה מסכם את הערכים של שתי עמודות מספריות וקובע את ההפרשים ביחס בין מערך הנתונים של קבוצת הבקרה לבין מערך הנתונים של קבוצת הניסוי, לכל פלח של הנתונים.
- אפשר לקבל את התובנות לגבי המדד מהמודל באמצעות הפונקציה
ML.GET_INSIGHTS.
לפני שמתחילים את המדריך הזה, כדאי להכיר את תרחיש השימוש של ניתוח התרומה.
ההרשאות הנדרשות
כדי ליצור את מערך הנתונים, צריך את ההרשאה
bigquery.datasets.createבממשק של ניהול הזהויות והרשאות הגישה (IAM).כדי ליצור את המודל, צריך את ההרשאות הבאות:
bigquery.jobs.createbigquery.models.createbigquery.models.getDatabigquery.models.updateData
כדי להריץ הסקה, אתם צריכים את ההרשאות הבאות:
bigquery.models.getDatabigquery.jobs.create
עלויות
במסמך הזה משתמשים ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:
- BigQuery ML: You incur costs for the data that you process in BigQuery.
כדי להעריך את ההוצאות בהתאם לתחזית השימוש שלכם, אתם יכולים להיעזר במחשבון העלויות.
מידע נוסף על התמחור של BigQuery זמין במאמר תמחור ב-BigQuery במסמכי התיעוד של BigQuery.
לפני שמתחילים
-
בדף לבחירת הפרויקט במסוף Google Cloud , בוחרים פרויקט ב- Google Cloud או יוצרים אותו.
תפקידים שנדרשים כדי לבחור או ליצור פרויקט
- Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
-
יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (
roles/resourcemanager.projectCreator), שכולל את ההרשאהresourcemanager.projects.create. איך מקצים תפקידים
-
מפעילים את BigQuery API.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק 'שימוש בשירות'' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים
יצירת מערך נתונים
יוצרים מערך נתונים ב-BigQuery לאחסון מודל ה-ML.
המסוף
במסוף Google Cloud , עוברים לדף BigQuery.
בחלונית Explorer, לוחצים על שם הפרויקט.
לוחצים על הצגת פעולות > יצירת מערך נתונים.
בדף Create dataset, מבצעים את הפעולות הבאות:
בשדה Dataset ID (מזהה מערך הנתונים), מזינים
bqml_tutorial.בקטע Location type, בוחרים באפשרות Multi-region ואז בוחרים באפשרות US.
משאירים את הגדרות ברירת המחדל שנותרו כמו שהן ולוחצים על Create dataset (יצירת מערך נתונים).
BQ
כדי ליצור מערך נתונים חדש, משתמשים בפקודה bq mk --dataset.
יוצרים מערך נתונים בשם
bqml_tutorialעם מיקום הנתונים שמוגדר ל-US.bq mk --dataset \ --location=US \ --description "BigQuery ML tutorial dataset." \ bqml_tutorial
בודקים שמערך הנתונים נוצר:
bq ls
API
מבצעים קריאה לשיטה datasets.insert
עם משאב מוגדר של מערך נתונים.
{ "datasetReference": { "datasetId": "bqml_tutorial" } }
יצירת טבלה של נתוני קלט
יוצרים טבלה שמכילה נתונים של קבוצת הבדיקה וקבוצת הביקורת לצורך ניתוח. השאילתה הבאה יוצרת שתי טבלאות ביניים: טבלת בדיקה עם נתוני משקאות משנת 2021 וטבלת בקרה עם נתוני משקאות משנת 2020. לאחר מכן היא מבצעת איחוד של טבלאות הביניים כדי ליצור טבלה עם שורות בדיקה ובקרה ועם אותו סט של עמודות.
במסוף Google Cloud , עוברים לדף BigQuery.
בעורך השאילתות, מריצים את ההצהרה הבאה:
CREATE OR REPLACE TABLE bqml_tutorial.iowa_liquor_sales_data AS (SELECT store_name, city, vendor_name, category_name, item_description, SUM(sale_dollars) AS total_sales, SUM(state_bottle_cost) AS total_bottle_cost, FALSE AS is_test FROM `bigquery-public-data.iowa_liquor_sales.sales` WHERE EXTRACT(YEAR FROM date) = 2020 GROUP BY store_name, city, vendor_name, category_name, item_description, is_test) UNION ALL (SELECT store_name, city, vendor_name, category_name, item_description, SUM(sale_dollars) AS total_sales, SUM(state_bottle_cost) AS total_bottle_cost, TRUE AS is_test FROM `bigquery-public-data.iowa_liquor_sales.sales` WHERE EXTRACT(YEAR FROM date) = 2021 GROUP BY store_name, city, vendor_name, category_name, item_description, is_test);
יצירת המודל
כדי ליצור מודל ניתוח תרומות:
במסוף Google Cloud , עוברים לדף BigQuery.
בעורך השאילתות, מריצים את ההצהרה הבאה:
CREATE OR REPLACE MODEL bqml_tutorial.liquor_sales_model OPTIONS( model_type = 'CONTRIBUTION_ANALYSIS', contribution_metric = 'sum(total_bottle_cost)/sum(total_sales)', dimension_id_cols = ['store_name', 'city', 'vendor_name', 'category_name', 'item_description'], is_test_col = 'is_test', min_apriori_support = 0.05 ) AS SELECT * FROM bqml_tutorial.iowa_liquor_sales_data;
השלמת השאילתה אורכת כ-35 שניות, ולאחר מכן המודל liquor_sales_model מופיע במערך הנתונים bqml_tutorial. מכיוון שהשאילתה משתמשת בהצהרת CREATE MODEL כדי ליצור מודל, אין תוצאות לשאילתה.
קבלת תובנות מהמודל
אפשר לקבל תובנות שנוצרו על ידי מודל ניתוח התרומה באמצעות הפונקציה ML.GET_INSIGHTS.
במסוף Google Cloud , עוברים לדף BigQuery.
בעורך השאילתות, מריצים את ההצהרה הבאה כדי לבחור עמודות מתוך הפלט של מודל ניתוח תרומות של מדד יחס שניתן לסיכום:
SELECT contributors, metric_test, metric_control, metric_test_over_metric_control, metric_test_over_complement, metric_control_over_complement, aumann_shapley_attribution, apriori_support contribution FROM ML.GET_INSIGHTS( MODEL `bqml_tutorial.liquor_sales_model`) ORDER BY aumann_shapley_attribution DESC;
כמה השורות הראשונות של הפלט אמורות להיראות כך: הערכים נחתכים כדי שיהיה קל יותר לקרוא אותם.
| תורמים | metric_test | metric_control | metric_test_over_metric_control | metric_test_over_complement | metric_control_over_complement | aumann_shapley_attribution | apriori_support | תרומה |
|---|---|---|---|---|---|---|---|---|
| all | 0.069 | 0.071 | 0.969 | null | null | -0.00219 | 1.0 | 0.00219 |
| city=DES MOINES | 0.048 | 0.054 | 0.88 | 0.67 | 0.747 | -0.00108 | 0.08 | 0.00108 |
| vendor_name=DIAGEO AMERICAS | 0.064 | 0.068 | 0.937 | 0.917 | 0.956 | -0.0009 | 0.184 | 0.0009 |
| vendor_name=BACARDI USA INC | 0.071 | 0.082 | 0.857 | 1.025 | 1.167 | -0.00054 | 0.057 | 0.00054 |
| vendor_name=PERNOD RICARD USA | 0.068 | 0.077 | 0.89 | 0.988 | 1.082 | -0.0005 | 0.061 | 0.0005 |
בפלט אפשר לראות שלפלח הנתונים city=DES MOINES
יש את התרומה הגבוהה ביותר
לשינוי ביחס המכירות. אפשר לראות את ההבדל הזה גם בעמודות metric_test ו-metric_control, שבהן מוצג שהיחס ירד בנתוני הבדיקה בהשוואה לנתוני קבוצת הבקרה. מדדים אחרים, כמו metric_test_over_metric_control, metric_test_over_complement ו-metric_control_over_complement, מחשבים נתונים סטטיסטיים נוספים שמתארים את הקשר בין יחסי הבקרה והבדיקה, ואיך הם קשורים לאוכלוסייה הכוללת. מידע נוסף על פלט של מודלים לניתוח התרומה של מדדי יחס שניתנים לסיכום
הסרת המשאבים
- במסוף Google Cloud , נכנסים לדף Manage resources.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
- כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.