שימוש ב-BigQuery ML לחיזוי משקל פינגווינים

במדריך הזה תשתמשו במודל רגרסיה לינארית ב-BigQuery ML כדי לחזות את המשקל של פינגווין על סמך המידע הדמוגרפי שלו. רגרסיה ליניארית היא סוג של מודל רגרסיה שמייצר ערך רציף משילוב ליניארי של תכונות קלט.

במדריך הזה נעשה שימוש במערך הנתונים bigquery-public-data.ml_datasets.penguins.

מטרות

במדריך הזה תבצעו את המשימות הבאות:

  • יוצרים מודל של רגרסיה ליניארית.
  • הערכת המודל.
  • ליצור תחזיות באמצעות המודל.

עלויות

במדריך הזה נעשה שימוש ברכיבים של Google Cloudשחלים עליהם חיובים, כולל הרכיבים הבאים:

  • BigQuery
  • BigQuery ML

מידע נוסף על העלויות ב-BigQuery זמין בדף תמחור ב-BigQuery.

מידע נוסף על העלויות של BigQuery ML זמין במאמר תמחור ב-BigQuery ML.

לפני שמתחילים

  1. בדף לבחירת הפרויקט במסוף Google Cloud , בוחרים פרויקט ב- Google Cloud או יוצרים אותו.

    תפקידים שנדרשים כדי לבחור או ליצור פרויקט

    • Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
    • יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (roles/resourcemanager.projectCreator), שכולל את ההרשאה resourcemanager.projects.create. איך מקצים תפקידים

    כניסה לדף לבחירת הפרויקט

  2. מוודאים שהחיוב מופעל בפרויקט Google Cloud .

  3. מפעילים את BigQuery API.

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, נדרשת ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

    להפעלת ה-API

ההרשאות הנדרשות

כדי ליצור את המודל באמצעות BigQuery ML, אתם צריכים את הרשאות ה-IAM הבאות:

  • bigquery.jobs.create
  • bigquery.models.create
  • bigquery.models.getData
  • bigquery.models.updateData
  • bigquery.models.updateMetadata

כדי להריץ הסקה, אתם צריכים את ההרשאות הבאות:

  • bigquery.models.getData במודל
  • bigquery.jobs.create

יצירת מערך נתונים

כדי ליצור מערך נתונים ב-BigQuery, בוחרים באחת מהאפשרויות הבאות:

המסוף

  1. במסוף Google Cloud , עוברים לדף BigQuery.

    כניסה ל-BigQuery

  2. בחלונית הימנית, לוחצים על כלי הניתוחים:

    כפתור מודגש לחלונית הסייר.

    אם החלונית הימנית לא מוצגת, לוחצים על הרחבת החלונית הימנית כדי לפתוח אותה.

  3. בסייר, מרחיבים את הפרויקט ואז לוחצים על מערכי נתונים.

  4. בדף Datasets (מערכי נתונים), לוחצים על Create dataset (יצירת מערך נתונים).

  5. בחלונית Create dataset:

    • בשדה Dataset ID (מזהה קבוצת נתונים), מזינים bqml_tutorial.

    • בקטע Data location, בוחרים באפשרות US.

    משאירים את שאר הגדרות ברירת המחדל כמו שהן.

  6. לוחצים על יצירת מערך נתונים.

BQ

כדי ליצור מערך נתונים חדש, משתמשים בפקודה bq mk --dataset.

  1. יוצרים מערך נתונים בשם bqml_tutorial עם מיקום הנתונים שמוגדר ל-US:

    bq mk --dataset \
      --location=US \
      --description "BigQuery ML tutorial dataset." \
      bqml_tutorial
  2. בודקים שמערך הנתונים נוצר:

    bq ls

API

מפעילים את השיטה datasets.insert עם משאב מוגדר של מערך נתונים:

{
  "datasetReference": {
     "datasetId": "bqml_tutorial"
  }
}

BigQuery DataFrames

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של BigQuery DataFrames במדריך לתחילת העבודה עם BigQuery באמצעות BigQuery DataFrames. מידע נוסף מופיע במאמרי העזרה בנושא BigQuery DataFrames.

כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת ADC לסביבת פיתוח מקומית.

import google.cloud.bigquery

bqclient = google.cloud.bigquery.Client()
bqclient.create_dataset("bqml_tutorial", exists_ok=True)

יצירת המודל

יצירת מודל רגרסיה לינארית באמצעות מערך הנתונים לדוגמה של Analytics לשימוש ב-BigQuery.

SQL

אפשר ליצור מודל רגרסיה ליניארית באמצעות הצהרת CREATE MODEL וציון LINEAR_REG לסוג המודל. יצירת המודל כוללת את אימון המודל.

הנה כמה פרטים חשובים על הצהרת CREATE MODEL:

  • האפשרות input_label_cols מציינת באיזו עמודה בהצהרת SELECT יש להשתמש כעמודת התוויות. כאן, עמודת התוויות היא body_mass_g. במודלים של רגרסיה לינארית, עמודת התווית חייבת להיות בעלת ערכים ממשיים, כלומר, הערכים בעמודה חייבים להיות מספרים ממשיים.
  • ההצהרה SELECT בשאילתה הזו משתמשת בעמודות הבאות בטבלה bigquery-public-data.ml_datasets.penguins כדי לחזות את המשקל של פינגווין:

    • species: מין הפינגווין.
    • island: האי שבו הפינגווין נמצא.
    • culmen_length_mm: אורך המקור של הפינגווין במילימטרים.
    • culmen_depth_mm: עומק המקור של הפינגווין במילימטרים.
    • flipper_length_mm: אורך הסנפירים של הפינגווין במילימטרים.
    • sex: המין של הפינגווין.
  • הפסקה WHERE בהצהרת SELECT של השאילתה הזו, WHERE body_mass_g IS NOT NULL, מחריגה שורות שבהן העמודה body_mass_g היא NULL.

מריצים את השאילתה שיוצרת את מודל הרגרסיה הליניארית:

  1. במסוף Google Cloud , עוברים לדף BigQuery.

    כניסה ל-BigQuery

  2. בעורך השאילתות, מריצים את השאילתה הבאה:

    CREATE OR REPLACE MODEL `bqml_tutorial.penguins_model`
    OPTIONS
      (model_type='linear_reg',
      input_label_cols=['body_mass_g']) AS
    SELECT
      *
    FROM
      `bigquery-public-data.ml_datasets.penguins`
    WHERE
      body_mass_g IS NOT NULL;
  3. יצירת מודל penguins_model נמשכת כ-30 שניות.

    כדי לראות את המודל, מבצעים את השלבים הבאים:

    1. בחלונית הימנית, לוחצים על כלי הניתוחים:

      כפתור מודגש לחלונית הסייר.

      אם החלונית הימנית לא מוצגת, לוחצים על הרחבת החלונית הימנית כדי לפתוח אותה.

    2. בחלונית Explorer, מרחיבים את הפרויקט ולוחצים על Datasets (מערכי נתונים).

    3. לוחצים על מערך הנתונים bqml_tutorial.

    4. לוחצים על הכרטיסייה מודלים.

BigQuery DataFrames

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של BigQuery DataFrames במדריך לתחילת העבודה עם BigQuery באמצעות BigQuery DataFrames. מידע נוסף מופיע במאמרי העזרה בנושא BigQuery DataFrames.

כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת ADC לסביבת פיתוח מקומית.

import bigframes.pandas as bpd
from bigframes.bigquery import ml

# Set partial ordering mode for BigQuery DataFrames.
# For more information, see the BigQuery DataFrames performance documentation:
# https://cloud.google.com/bigquery/docs/dataframes-performance#partial-ordering-mode
bpd.options.bigquery.ordering_mode = "partial"

# Load data from BigQuery
bq_df = bpd.read_gbq("bigquery-public-data.ml_datasets.penguins")

# Drop rows with nulls to get training data
training_data = bq_df.dropna(subset=["body_mass_g"])

# A Linear Regression model predicts a continuous numerical value.
#
# Use ml.create_model to create and train the model in BigQuery.
# The options parameter specifies the model type and the label column.
# For more information, see the BigQuery DataFrames API reference documentation:
# https://dataframes.bigquery.dev/reference/api/bigframes.bigquery.ml.create_model.html#bigframes.bigquery.ml.create_model
ml.create_model(
    your_model_id,  # For example: "bqml_tutorial.penguins_model",
    options={
        "model_type": "LINEAR_REG",
        "input_label_cols": ["body_mass_g"],
    },
    training_data=training_data,
    replace=True,
)

יצירת המודל נמשכת כ-30 שניות. כדי לראות את המודל, מבצעים את השלבים הבאים:

  1. בחלונית הימנית, לוחצים על כלי הניתוחים:

    כפתור מודגש לחלונית הסייר.

  2. בחלונית Explorer, מרחיבים את הפרויקט ולוחצים על Datasets (מערכי נתונים).

  3. לוחצים על מערך הנתונים bqml_tutorial.

  4. לוחצים על הכרטיסייה מודלים.

קבלת נתונים סטטיסטיים של הדרכות

כדי לראות את התוצאות של אימון המודל, אפשר להשתמש בפונקציה ML.TRAINING_INFO או לראות את הנתונים הסטטיסטיים במסוף Google Cloud . במדריך הזה נשתמש במסוף Google Cloud .

אלגוריתם של למידת מכונה בונה מודל על ידי בחינה של הרבה דוגמאות וניסיון למצוא מודל שממזער את ההפסד. התהליך הזה נקרא מזעור סיכונים אמפירי.

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

אפשר לראות את הנתונים הסטטיסטיים של אימון המודל שנוצרו כשמריצים את השאילתה CREATE MODEL:

  1. בחלונית הימנית, לוחצים על כלי הניתוחים:

    כפתור מודגש לחלונית הסייר.

  2. בחלונית Explorer, מרחיבים את הפרויקט ולוחצים על Datasets (מערכי נתונים).

  3. לוחצים על מערך הנתונים bqml_tutorial.

  4. לוחצים על הכרטיסייה מודלים.

  5. כדי לפתוח את חלונית פרטי המודל, לוחצים על penguins_model.

  6. לוחצים על הכרטיסייה הדרכה ואז על טבלה. התוצאות אמורות להיראות כך:

    פלט ML.TRAINING_INFO

    העמודה Training Data Loss מייצגת את מדד ההפסד שמחושב אחרי שהמודל מאומן על מערך הנתונים לאימון. מכיוון שביצעתם רגרסיה לינארית, בעמודה הזו מוצג הערך של השגיאה הריבועית הממוצעת. אסטרטגיית אופטימיזציה של normal_equation משמשת באופן אוטומטי לאימון הזה, ולכן נדרשת רק איטרציה אחת כדי להגיע למודל הסופי. מידע נוסף על הגדרת אסטרטגיית האופטימיזציה של המודל זמין במאמר optimize_strategy.

הערכת המודל

אחרי שיוצרים את המודל, מעריכים את הביצועים שלו באמצעות הפונקציה ML.EVALUATE או הפונקציה bigframes.bigquery.ml.evaluate של BigQuery DataFrames כדי להשוות בין הערכים החזויים שהמודל יצר לבין הנתונים בפועל.

SQL

כקלט, הפונקציה ML.EVALUATE מקבלת את המודל המאומן ומערך נתונים שתואם לסכימה של הנתונים ששימשו לאימון המודל. בסביבת ייצור, צריך להעריך את המודל על נתונים שונים מאלה ששימשו לאימון המודל. אם מריצים את הפונקציה ML.EVALUATE בלי לספק נתוני קלט, הפונקציה מאחזרת את מדדי ההערכה שחושבו במהלך האימון. החישוב של המדדים האלה מתבצע באמצעות מערך נתוני ההערכה שמוקצה אוטומטית:

    SELECT
      *
    FROM
      ML.EVALUATE(MODEL bqml_tutorial.penguins_model);
    

מריצים את השאילתה ML.EVALUATE:

  1. במסוף Google Cloud , עוברים לדף BigQuery.

    כניסה ל-BigQuery

  2. בעורך השאילתות, מריצים את השאילתה הבאה:

      SELECT
        *
      FROM
        ML.EVALUATE(MODEL `bqml_tutorial.penguins_model`,
          (
          SELECT
            *
          FROM
            `bigquery-public-data.ml_datasets.penguins`
          WHERE
            body_mass_g IS NOT NULL));
      

BigQuery DataFrames

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של BigQuery DataFrames במדריך לתחילת העבודה עם BigQuery באמצעות BigQuery DataFrames. מידע נוסף מופיע במאמרי העזרה בנושא BigQuery DataFrames.

כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת ADC לסביבת פיתוח מקומית.

# Use the ml.evaluate method to evaluate the model with test data.
# For more information, see the BigQuery DataFrames API reference documentation:
# https://dataframes.bigquery.dev/reference/api/bigframes.bigquery.ml.evaluate.html#bigframes.bigquery.ml.evaluate
ml.evaluate(
    your_model_id,  # For example: "bqml_tutorial.penguins_model",
    input_=training_data,
)
# Expected output results:
# index  mean_absolute_error  mean_squared_error  mean_squared_log_error  median_absolute_error  r2_score  explained_variance
#   0        227.012237         81838.159892            0.00507                173.080816        0.872377    0.872377
#   1 rows x 6 columns

התוצאות אמורות להיראות כך:

פלט של ML.EVALUATE

מכיוון שביצעתם רגרסיה לינארית, התוצאות כוללות את העמודות הבאות:

  • mean_absolute_error
  • mean_squared_error
  • mean_squared_log_error
  • median_absolute_error
  • r2_score
  • explained_variance

מדד חשוב בתוצאות ההערכה הוא ציון R. ציון R2 הוא מדד סטטיסטי שקובע אם התחזיות של הרגרסיה הלינארית קרובות לנתונים בפועל. ערך של 0 מציין שהמודל לא מסביר אף אחד מהשינויים בנתוני התגובה סביב הממוצע. הערך 1 מציין שהמודל מסביר את כל השונות של נתוני התגובה סביב הממוצע.

אפשר גם לעיין בחלונית המידע של המודל במסוף Google Cloud כדי לראות את מדדי ההערכה:

פלט של ML.EVALUATE

שימוש במודל כדי לחזות תוצאות

אחרי שסיימתם להעריך את המודל, השלב הבא הוא להשתמש בו כדי לחזות תוצאה. אפשר להריץ את הפונקציה ML.PREDICT או את הפונקציה bigframes.bigquery.ml.predict BigQuery DataFrames במודל כדי לחזות את מסת הגוף בגרמים של כל הפינגווינים שחיים באיי ביסקו.

SQL

כקלט, הפונקציה ML.PREDICT מקבלת את המודל המאומן ומערך נתונים שתואם לסכימה של הנתונים ששימשו לאימון המודל, לא כולל עמודת התוויות.

מריצים את השאילתה ML.PREDICT:

  1. במסוף Google Cloud , עוברים לדף BigQuery.

    כניסה ל-BigQuery

  2. בעורך השאילתות, מריצים את השאילתה הבאה:

    SELECT
    *
    FROM
    ML.PREDICT(MODEL `bqml_tutorial.penguins_model`,
      (
      SELECT
        *
      FROM
        `bigquery-public-data.ml_datasets.penguins`
      WHERE island = 'Biscoe'));

BigQuery DataFrames

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של BigQuery DataFrames במדריך לתחילת העבודה עם BigQuery באמצעות BigQuery DataFrames. מידע נוסף מופיע במאמרי העזרה בנושא BigQuery DataFrames.

כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת ADC לסביבת פיתוח מקומית.

# Load data from BigQuery
bq_df = bpd.read_gbq("bigquery-public-data.ml_datasets.penguins")

# Use 'contains' function to filter by island containing the string
# "Biscoe".
biscoe_data = bq_df[bq_df["island"].str.contains("Biscoe")]

# Use the ml.predict method to predict results using your model.
# For more information, see the BigQuery DataFrames API reference documentation:
# https://dataframes.bigquery.dev/reference/api/bigframes.bigquery.ml.predict.html#bigframes.bigquery.ml.predict
ml.predict(
    your_model_id,  # For example: "bqml_tutorial.penguins_model",
    input_=biscoe_data,
)

# Expected output results:
#     predicted_body_mass_g  	      species	                island	 culmen_length_mm  culmen_depth_mm   body_mass_g 	flipper_length_mm	sex
# 23	  4681.782896	   Gentoo penguin (Pygoscelis papua)	Biscoe	      <NA>	            <NA>	        <NA>	          <NA>	        <NA>
# 332	  4740.7907	       Gentoo penguin (Pygoscelis papua)	Biscoe	      46.2	            14.4	        214.0	          4650.0	    <NA>
# 160	  4731.310452	   Gentoo penguin (Pygoscelis papua)	Biscoe	      44.5	            14.3	        216.0	          4100.0	    <NA>

התוצאות אמורות להיראות כך:

פלט של ML.PREDICT

הסבר על תוצאות התחזית

SQL

כדי להבין למה המודל יוצר את תוצאות התחזית האלה, אפשר להשתמש בפונקציה ML.EXPLAIN_PREDICT.

ML.EXPLAIN_PREDICT היא גרסה מורחבת של הפונקציה ML.PREDICT. ‫ML.EXPLAIN_PREDICT לא רק מפיק תוצאות של תחזיות, אלא גם מפיק עמודות נוספות כדי להסביר את תוצאות התחזיות. בפועל, אפשר להריץ את הפקודה ML.EXPLAIN_PREDICT במקום ML.PREDICT. מידע נוסף זמין במאמר סקירה כללית על AI שניתן להסבר ב-BigQuery ML.

מריצים את השאילתה ML.EXPLAIN_PREDICT:

  1. במסוף Google Cloud , עוברים לדף BigQuery.

כניסה ל-BigQuery

  1. בעורך השאילתות, מריצים את השאילתה הבאה:
SELECT
  *
FROM
  ML.EXPLAIN_PREDICT(MODEL `bqml_tutorial.penguins_model`,
    (
    SELECT
      *
    FROM
      `bigquery-public-data.ml_datasets.penguins`
    WHERE island = 'Biscoe'),
    STRUCT(3 as top_k_features));
  1. התוצאות אמורות להיראות כך:

    פלט של ML.EXPLAIN_PREDICT

BigQuery DataFrames

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של BigQuery DataFrames במדריך לתחילת העבודה עם BigQuery באמצעות BigQuery DataFrames. מידע נוסף מופיע במאמרי העזרה בנושא BigQuery DataFrames.

כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת ADC לסביבת פיתוח מקומית.

# Use the ml.explain_predict method to understand why the model is
# generating these prediction results.
# For more information, see the BigQuery DataFrames API reference documentation:
# https://dataframes.bigquery.dev/reference/api/bigframes.bigquery.ml.explain_predict.html#bigframes.bigquery.ml.explain_predict
#
# Using the trained model and utilizing data specific to Biscoe Island,
# explain the predictions of the top 3 features.
ml.explain_predict(
    your_model_id,  # For example: "bqml_tutorial.penguins_model",
    input_=biscoe_data,
    top_k_features=3,
)

# Expected results:
#   predicted_body_mass_g               top_feature_attributions	        baseline_prediction_value	prediction_value	approximation_error	              species	            island	culmen_length_mm	culmen_depth_mm	flipper_length_mm	body_mass_g	    sex
# 0	 5413.510134	        [{'feature': 'island', 'attribution': 7348.877...	-5320.222128	          5413.510134	            0.0	         Gentoo penguin (Pygoscelis papua)	Biscoe	    45.2	              16.4	        223.0	           5950.0	    MALE
# 1	 4768.351092            [{'feature': 'island', 'attribution': 7348.877...	-5320.222128	          4768.351092	            0.0	         Gentoo penguin (Pygoscelis papua)	Biscoe	    46.5	              14.5	        213.0	           4400.0	   FEMALE
# 2	 3235.896372	        [{'feature': 'island', 'attribution': 7348.877...	-5320.222128	          3235.896372	            0.0	        Adelie Penguin (Pygoscelis adeliae)	Biscoe	    37.7	              16.0          183.0	           3075.0	   FEMALE
# 3	 5349.603734	        [{'feature': 'island', 'attribution': 7348.877...	-5320.222128	          5349.603734	            0.0	         Gentoo penguin (Pygoscelis papua)	Biscoe	    46.4	              15.6	        221.0	           5000.0	    MALE
# 4	 4637.165037	        [{'feature': 'island', 'attribution': 7348.877...	-5320.222128	          4637.165037	            0.0	         Gentoo penguin (Pygoscelis papua)	Biscoe	    46.1	              13.2	        211.0	           4500.0	   FEMALE

במודלים של רגרסיה לינארית, נעשה שימוש בערכי Shapley כדי ליצור ערכי שיוך של מאפיינים לכל מאפיין במודל. הפלט כולל את שלושת השיוכים המובילים של התכונות לכל שורה בטבלה penguins, כי הערך של top_k_features הוגדר כ-3. השיוכים האלה ממוינים לפי הערך המוחלט של השיוך בסדר יורד. בכל הדוגמאות, התכונה sex תרמה הכי הרבה לחיזוי הכולל.

הסבר גלובלי על המודל

SQL

כדי לדעת אילו תכונות הן בדרך כלל הכי חשובות לקביעת המשקל של פינגווין, אפשר להשתמש בפונקציה ML.GLOBAL_EXPLAIN. כדי להשתמש ב-ML.GLOBAL_EXPLAIN, צריך לאמן מחדש את המודל עם האפשרות ENABLE_GLOBAL_EXPLAIN שמוגדרת ל-TRUE.

אימון מחדש וקבלת הסברים גלובליים לגבי המודל:

  1. במסוף Google Cloud , עוברים לדף BigQuery.

כניסה ל-BigQuery

  1. בעורך השאילתות, מריצים את השאילתה הבאה כדי לאמן מחדש את המודל:

    #standardSQL
    CREATE OR REPLACE MODEL `bqml_tutorial.penguins_model`
    OPTIONS (
      model_type = 'linear_reg',
      input_label_cols = ['body_mass_g'],
      enable_global_explain = TRUE)
    AS
    SELECT
    *
    FROM
    `bigquery-public-data.ml_datasets.penguins`
    WHERE
    body_mass_g IS NOT NULL;
  2. בעורך השאילתות, מריצים את השאילתה הבאה כדי לקבל הסברים גלובליים:

    SELECT
    *
    FROM
    ML.GLOBAL_EXPLAIN(MODEL `bqml_tutorial.penguins_model`)
  3. התוצאות אמורות להיראות כך:

    פלט של ML.GLOBAL_EXPLAIN

BigQuery DataFrames

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של BigQuery DataFrames במדריך לתחילת העבודה עם BigQuery באמצעות BigQuery DataFrames. מידע נוסף מופיע במאמרי העזרה בנושא BigQuery DataFrames.

כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת ADC לסביבת פיתוח מקומית.

# To use the ml.global_explain method, the model must be created with
# enable_global_explain set to True.
#
# Use ml.create_model to create and train the model in BigQuery.
# The options parameter specifies the model type and the label column.
# For more information, see the BigQuery DataFrames API reference documentation:
# https://dataframes.bigquery.dev/reference/api/bigframes.bigquery.ml.create_model.html#bigframes.bigquery.ml.create_model
training_data = bq_df.dropna(subset=["body_mass_g"])
ml.create_model(
    your_model_id,  # For example: "bqml_tutorial.penguins_model",
    options={
        "model_type": "LINEAR_REG",
        "input_label_cols": ["body_mass_g"],
        "enable_global_explain": True,
    },
    training_data=training_data,
    replace=True,
)

# Use the ml.global_explain method to explain the model.
# For more information, see the BigQuery DataFrames API reference documentation:
# https://dataframes.bigquery.dev/reference/api/bigframes.bigquery.ml.global_explain.html#bigframes.bigquery.ml.global_explain
ml.global_explain(
    your_model_id,  # For example: "bqml_tutorial.penguins_model",
)

# Expected results:
#                       attribution
# feature
# island	            5737.315921
# species	            4073.280549
# sex	                622.070896
# flipper_length_mm	    193.612051
# culmen_depth_mm	    117.084944
# culmen_length_mm	    94.366793

הסרת המשאבים

כדי להימנע מחיובים בחשבון Google Cloud בגלל השימוש במשאבים שנעשה במסגרת המדריך הזה, אפשר למחוק את הפרויקט שמכיל את המשאבים, או להשאיר את הפרויקט ולמחוק את המשאבים בנפרד.

  • אתם יכולים למחוק את הפרויקט שיצרתם.
  • אפשר גם להשאיר את הפרויקט ולמחוק את קבוצת הנתונים.

מחיקת מערך נתונים

אם מוחקים פרויקט, כל מערכי הנתונים וכל הטבלאות בפרויקט נמחקים. אם אתם מעדיפים להשתמש מחדש בפרויקט, אתם יכולים למחוק את מערך הנתונים שיצרתם במדריך הזה:

  1. אם צריך, פותחים את הדף BigQuery במסוףGoogle Cloud .

    לדף BigQuery

  2. בחלונית הניווט, לוחצים על מערך הנתונים bqml_tutorial שיצרתם.

  3. בצד שמאל של החלון, לוחצים על מחיקת מערך נתונים. הפעולה הזו מוחקת את מערך הנתונים, את הטבלה ואת כל הנתונים.

  4. בתיבת הדו-שיח מחיקת מערך נתונים, מקלידים את שם מערך הנתונים (bqml_tutorial) כדי לאשר את פקודת המחיקה, ואז לוחצים על מחיקה.

מחיקת פרויקט

כדי למחוק את הפרויקט:

  1. במסוף Google Cloud , נכנסים לדף Manage resources.

    כניסה לדף Manage resources

  2. ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
  3. כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.

המאמרים הבאים