קבלת תובנות לגבי נתונים ממודל ניתוח תרומות באמצעות מדד שניתן לסיכום
במדריך הזה משתמשים במודל של ניתוח תרומות כדי לנתח את השינויים במכירות בין 2020 ל-2021 במערך הנתונים של מכירות משקאות חריפים באיווה. במדריך הזה מוסבר איך לבצע את המשימות הבאות:
- יצירת טבלת קלט על סמך נתוני משקאות חריפים של איווה שזמינים לציבור.
- ליצור מודל לניתוח תרומה שמשתמש במדד ניתן לסיכום. במודל מהסוג הזה מסכמים מדד נתון לשילוב של מאפיין אחד או יותר בנתונים, כדי לקבוע את התרומה של המאפיינים האלה לערך המדד.
- אפשר לקבל את התובנות לגבי המדד מהמודל באמצעות הפונקציה
ML.GET_INSIGHTS.
לפני שמתחילים את המדריך הזה, כדאי להכיר את תרחיש השימוש של ניתוח התרומה.
ההרשאות הנדרשות
כדי ליצור את מערך הנתונים, צריך את ההרשאה
bigquery.datasets.createבממשק של ניהול הזהויות והרשאות הגישה (IAM).כדי ליצור את המודל, צריך את ההרשאות הבאות:
bigquery.jobs.createbigquery.models.createbigquery.models.getDatabigquery.models.updateData
כדי להריץ הסקה, אתם צריכים את ההרשאות הבאות:
bigquery.models.getDatabigquery.jobs.create
עלויות
במסמך הזה משתמשים ברכיבים הבאים של Cloud de Confiance by S3NS, והשימוש בהם כרוך בתשלום:
- BigQuery ML: You incur costs for the data that you process in BigQuery.
מידע נוסף על התמחור של BigQuery זמין במאמר תמחור ב-BigQuery במסמכי התיעוד של BigQuery.
לפני שמתחילים
-
בדף לבחירת הפרויקט במסוף Cloud de Confiance , בוחרים פרויקט ב- Cloud de Confiance או יוצרים אותו.
תפקידים שנדרשים כדי לבחור או ליצור פרויקט
- Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
-
יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (
roles/resourcemanager.projectCreator), שכולל את ההרשאהresourcemanager.projects.create. איך מקצים תפקידים
-
מפעילים את BigQuery API.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידים
יצירת מערך נתונים
יוצרים מערך נתונים ב-BigQuery לאחסון מודל ה-ML.
המסוף
במסוף Cloud de Confiance , עוברים לדף 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. השאילתה הבאה משלבת את נתוני הבדיקה והבקרה בטבלת קלט אחת:
במסוף Cloud de Confiance , עוברים לדף BigQuery.
בעורך השאילתות, מריצים את ההצהרה הבאה:
CREATE OR REPLACE TABLE bqml_tutorial.iowa_liquor_sales_sum_data AS ( (SELECT store_name, city, vendor_name, category_name, item_description, SUM(sale_dollars) AS total_sales, 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, 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) );
יצירת המודל
כדי ליצור מודל ניתוח תרומות:
במסוף Cloud de Confiance , עוברים לדף BigQuery.
בעורך השאילתות, מריצים את ההצהרה הבאה:
CREATE OR REPLACE MODEL bqml_tutorial.iowa_liquor_sales_sum_model OPTIONS( model_type='CONTRIBUTION_ANALYSIS', contribution_metric = '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_sum_data;
השלמת השאילתה נמשכת כ-60 שניות, ולאחר מכן המודל iowa_liquor_sales_sum_model מופיע במערך הנתונים bqml_tutorial. מכיוון שהשאילתה משתמשת בהצהרת CREATE MODEL כדי ליצור מודל, אין תוצאות לשאילתה.
קבלת תובנות מהמודל
אפשר לקבל תובנות שנוצרו על ידי מודל ניתוח התרומה באמצעות הפונקציה ML.GET_INSIGHTS.
במסוף Cloud de Confiance , עוברים לדף BigQuery.
בעורך השאילתות, מריצים את ההצהרה הבאה כדי לבחור עמודות מהפלט של מודל ניתוח תרומת המדדים שניתן לסיכום:
SELECT contributors, metric_test, metric_control, difference, relative_difference, unexpected_difference, relative_unexpected_difference, apriori_support, contribution FROM ML.GET_INSIGHTS( MODEL `bqml_tutorial.iowa_liquor_sales_sum_model`);
כמה השורות הראשונות של הפלט אמורות להיראות כך: הערכים נחתכים כדי שיהיה קל יותר לקרוא אותם.
| תורמים | metric_test | metric_control | הבדל | relative_difference | unexpected_difference | relative_unexpected_difference | apriori_support | תרומה |
|---|---|---|---|---|---|---|---|---|
| all | 428068179 | 396472956 | 31595222 | 0.079 | 31595222 | 0.079 | 1.0 | 31595222 |
| vendor_name=SAZERAC COMPANY INC | 52327307 | 38864734 | 13462573 | 0.346 | 11491923 | 0.281 | 0.122 | 13462573 |
| city=DES MOINES | 49521322 | 41746773 | 7774549 | 0.186 | 4971158 | 0.111 | 0.115 | 7774549 |
| vendor_name=DIAGEO AMERICAS | 84681073 | 77259259 | 7421814 | 0.096 | 1571126 | 0.018 | 0.197 | 7421814 |
| category_name=100% AGAVE TEQUILA | 23915100 | 17252174 | 6662926 | 0.386 | 5528662 | 0.3 | 0.055 | 6662926 |
הפלט ממוין אוטומטית לפי התרומה, או ABS(difference), בסדר יורד. בשורה all, בעמודה difference מוצגת עלייה של 31,595,222$ במכירות הכוללות בין 2020 ל-2021, עלייה של 7.9% כפי שמצוין בעמודה relative_difference. בשורה השנייה, עם vendor_name=SAZERAC COMPANY INC, היה unexpected_difference של 11,491,923$, כלומר הפלח הזה של הנתונים גדל ב-28% יותר משיעור הצמיחה של הנתונים בכללותם, כפי שניתן לראות בעמודה relative_unexpected_difference.
מידע נוסף זמין במאמר בנושא עמודות פלט של מדדים שניתן לסכם.
הסרת המשאבים
- במסוף Cloud de Confiance , נכנסים לדף Manage resources.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
- כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.