פיתוח מודל סיווג ושימוש בו על נתוני מפקד אוכלוסין

במדריך הזה תשתמשו במודל רגרסיה לוגיסטית בינארי ב-BigQuery ML כדי לחזות את טווח ההכנסה של אנשים על סמך הנתונים הדמוגרפיים שלהם. מודל רגרסיה לוגיסטית בינארית חוזה אם ערך מסוים שייך לאחת משתי קטגוריות. במקרה הזה, אם ההכנסה השנתית של אדם מסוים היא מעל או מתחת ל-50,000$.

במדריך הזה משתמשים במערך הנתונים bigquery-public-data.ml_datasets.census_adult_income. קבוצת נתונים זו מכילה מידע דמוגרפי ומידע על הכנסות של תושבי ארה"ב מהשנים 2000 ו-2010.

מטרות

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

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

עלויות

במדריך הזה משתמשים ברכיבים של Cloud de Confiance by S3NS, והשימוש בהם כרוך בתשלום, כולל:

  • BigQuery
  • BigQuery ML

למידע נוסף על העלויות של BigQuery, קראו את הדף תמחור ב-BigQuery.

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

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

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

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

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

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

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

  3. מפעילים את BigQuery API, אם הוא עדיין לא מופעל.

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

    כדי להפעיל ממשקי API, צריך את ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד "בעלים" (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד "אדמין בממשק 'שימוש בשירות'" (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

מבוא

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

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

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

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

  1. נכנסים לדף BigQuery במסוף Cloud de Confiance .

    כניסה ל-BigQuery

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

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

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

  3. בחלונית Explorer, לוחצים על שם הפרויקט.

  4. לוחצים על View actions > Create dataset.

  5. בדף Create dataset, מבצעים את הפעולות הבאות:

    • בשדה Dataset ID, מזינים census.

    • ב-Location type, בוחרים באפשרות מספר אזורים ואז בוחרים באפשרות US (multiple regions in United States).

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

    • משאירים את שאר הגדרות ברירת המחדל כמו שהן ולוחצים על Create dataset.

בדיקת הנתונים

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

SQL

  1. נכנסים לדף BigQuery במסוף Cloud de Confiance .

    כניסה ל-BigQuery

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

    SELECT
    age,
    workclass,
    marital_status,
    education_num,
    occupation,
    hours_per_week,
    income_bracket,
    functional_weight
    FROM
    `bigquery-public-data.ml_datasets.census_adult_income`
    LIMIT
    100;
  3. התוצאות אמורות להיראות כך:

    נתוני מפקד אוכלוסין

BigQuery DataFrames

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

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

import bigframes.pandas as bpd

# 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"

df = bpd.read_gbq(
    "bigquery-public-data.ml_datasets.census_adult_income",
    columns=(
        "age",
        "workclass",
        "marital_status",
        "education_num",
        "occupation",
        "hours_per_week",
        "income_bracket",
        "functional_weight",
    ),
    max_results=100,
)
df.peek()
# Output:
# age      workclass       marital_status  education_num          occupation  hours_per_week income_bracket  functional_weight
#  47      Local-gov   Married-civ-spouse             13      Prof-specialty              40           >50K             198660
#  56        Private        Never-married              9        Adm-clerical              40          <=50K              85018
#  40        Private   Married-civ-spouse             12        Tech-support              40           >50K             285787
#  34   Self-emp-inc   Married-civ-spouse              9        Craft-repair              54           >50K             207668
#  23        Private   Married-civ-spouse             10   Handlers-cleaners              40          <=50K              40060

בתוצאות השאילתה אפשר לראות שבעמודה income_bracket בטבלה census_adult_income יש רק אחד משני הערכים: <=50K או >50K.

הכנת הנתונים לדוגמה

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

  • ‫age: הגיל של המשיב.
  • ‫workclass: סוג העבודה שבוצעה. לדוגמה, ממשל מקומי, פרטי או עצמאי.
  • marital_status
  • ‫education_num: רמת ההשכלה הגבוהה ביותר של המשיב.
  • occupation
  • ‫hours_per_week: שעות עבודה בשבוע.

אתם מחריגים עמודות שמשכפלות נתונים. לדוגמה, העמודה education, כי הערכים בעמודות education ו-education_num מבטאים את אותם נתונים בפורמטים שונים.

העמודה functional_weight מייצגת את מספר האנשים שארגון המפקד מאמין ששורה מסוימת מייצגת. מכיוון שהערך של העמודה הזו לא קשור לערך של income_bracket בכל שורה נתונה, אתם משתמשים בערך שבעמודה הזו כדי להפריד את הנתונים לקבוצות אימון, הערכה וחיזוי, על ידי יצירת עמודה חדשה של dataframe שנגזרת מהעמודה functional_weight. אתם מתייגים 80% מהנתונים לאימון המודל, 10% מהנתונים להערכה ו-10% מהנתונים לחיזוי.

SQL

יוצרים תצוגה עם הנתונים לדוגמה. התצוגה הזו משמשת את ההצהרה CREATE MODEL בהמשך המדריך.

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

  1. נכנסים לדף BigQuery במסוף Cloud de Confiance .

    כניסה ל-BigQuery

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

    CREATE OR REPLACE VIEW
    `census.input_data` AS
    SELECT
    age,
    workclass,
    marital_status,
    education_num,
    occupation,
    hours_per_week,
    income_bracket,
    CASE
      WHEN MOD(functional_weight, 10) < 8 THEN 'training'
      WHEN MOD(functional_weight, 10) = 8 THEN 'evaluation'
      WHEN MOD(functional_weight, 10) = 9 THEN 'prediction'
    END AS dataframe
    FROM
    `bigquery-public-data.ml_datasets.census_adult_income`;
  3. צפייה בנתונים לדוגמה:

    SELECT * FROM `census.input_data`;

BigQuery DataFrames

יוצרים DataFrame בשם input_data. בהמשך המדריך תשתמשו ב-input_data כדי לאמן את המודל, להעריך אותו וליצור תחזיות.

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

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

import bigframes.pandas as bpd

# 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"

input_data = bpd.read_gbq(
    "bigquery-public-data.ml_datasets.census_adult_income",
    columns=(
        "age",
        "workclass",
        "marital_status",
        "education_num",
        "occupation",
        "hours_per_week",
        "income_bracket",
        "functional_weight",
    ),
)
input_data["dataframe"] = input_data["functional_weight"].case_when(
    [
        (((input_data["functional_weight"] % 10) == 8), "evaluation"),
        (((input_data["functional_weight"] % 10) == 9), "prediction"),
        (True, "training"),
    ]
)
del input_data["functional_weight"]

יצירת מודל רגרסיה לוגיסטית

יוצרים מודל רגרסיה לוגיסטית באמצעות נתוני האימון שתייגתם בקטע הקודם.

SQL

משתמשים בהצהרה CREATE MODEL ומציינים את הערך LOGISTIC_REG לסוג המודל.

הנה כמה דברים שכדאי לדעת על ההצהרה CREATE MODEL:

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

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

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

  • האפשרות enable_global_explain מוגדרת כ-TRUE כדי לאפשר לכם להשתמש בפונקציה ML.GLOBAL_EXPLAIN במודל בהמשך המדריך.

  • ההצהרה SELECT שולחת שאילתה לתצוגה input_data שמכילה את הנתונים לדוגמה. הסעיף WHERE מסנן את השורות כך שרק השורות שמתויגות כנתוני אימון משמשות לאימון המודל.

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

  1. נכנסים לדף BigQuery במסוף Cloud de Confiance .

    כניסה ל-BigQuery

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

    CREATE OR REPLACE MODEL
    `census.census_model`
    OPTIONS
    ( model_type='LOGISTIC_REG',
      auto_class_weights=TRUE,
      enable_global_explain=TRUE,
      data_split_method='NO_SPLIT',
      input_label_cols=['income_bracket'],
      max_iterations=15) AS
    SELECT * EXCEPT(dataframe)
    FROM
    `census.input_data`
    WHERE
    dataframe = 'training'
  3. בחלונית השמאלית, לוחצים על Explorer:

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

  4. בחלונית Explorer, לוחצים על Datasets.

  5. בחלונית Datasets, לוחצים על census.

  6. לוחצים על הכרטיסייה Models.

  7. לחץ על census_model.

  8. בכרטיסייה Details מפורטים המאפיינים שבהם BigQuery ML השתמש כדי לבצע רגרסיה לוגיסטית.

BigQuery DataFrames

משתמשים בפונקציה bigframes.bigquery.ml.create_model כדי לאמן את המודל ולשמור אותו במערך הנתונים.

לפני שתנסו את הדוגמה הזו, בצעו את הוראות ההגדרה של 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"

# input_data is defined in an earlier step.
training_data = input_data[input_data["dataframe"] == "training"].drop(
    columns=["dataframe"]
)

# 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: "your-project.census.census_model"
    options={
        "model_type": "LOGISTIC_REG",
        # Balance the class labels in the training data by setting
        # auto_class_weights=True.
        #
        # By default, the training data is unweighted. If the labels
        # in the training data are imbalanced, the model may learn to
        # predict the most popular class of labels more heavily. In
        # this case, most of the respondents in the dataset are in the
        # lower income bracket. This may lead to a model that predicts
        # the lower income bracket too heavily. Class weights balance
        # the class labels by calculating the weights for each class in
        # inverse proportion to the frequency of that class.
        "auto_class_weights": True,
        "enable_global_explain": True,
        "data_split_method": "NO_SPLIT",
        "input_label_cols": ["income_bracket"],
        "max_iterations": 15,
    },
    training_data=training_data,
    replace=True,
)

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

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

SQL

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

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

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

  1. נכנסים לדף BigQuery במסוף Cloud de Confiance .

    כניסה ל-BigQuery

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

    SELECT
    *
    FROM
    ML.EVALUATE (MODEL `census.census_model`,
      (
      SELECT
        *
      FROM
        `census.input_data`
      WHERE
        dataframe = 'evaluation'
      )
    );
  3. התוצאות אמורות להיראות כך:

    הפלט של ML.EVALUATE

BigQuery DataFrames

משתמשים בפונקציה bigframes.bigquery.ml.evaluate כדי להעריך את המודל ביחס לנתונים בפועל.

לפני שתנסו את הדוגמה הזו, בצעו את הוראות ההגדרה של 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"

# input_data is defined in an earlier step.
evaluation_data = input_data[input_data["dataframe"] == "evaluation"]

# 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: "your-project.census.census_model"
    input_=evaluation_data,
)
# Output:
#    precision    recall  accuracy  f1_score  log_loss   roc_auc
# 0   0.685764  0.536685   0.83819  0.602134  0.350417  0.882953

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

הפלט של ML.EVALUATE

חיזוי קבוצת ההכנסה

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

SQL

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

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

  1. נכנסים לדף BigQuery במסוף Cloud de Confiance .

    כניסה ל-BigQuery

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

    SELECT
    *
    FROM
    ML.PREDICT (MODEL `census.census_model`,
      (
      SELECT
        *
      FROM
        `census.input_data`
      WHERE
        dataframe = 'prediction'
      )
    );
  3. התוצאות אמורות להיראות כך:

    תוצאות של ML.PREDICT

בעמודה predicted_income_bracket מופיעה קבוצת ההכנסה החזויה של המשיב.

BigQuery DataFrames

משתמשים בפונקציה bigframes.bigquery.ml.predict כדי לחזות את קבוצת ההכנסה הסבירה.

לפני שתנסו את הדוגמה הזו, בצעו את הוראות ההגדרה של 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"

# input_data is defined in an earlier step.
prediction_data = input_data[input_data["dataframe"] == "prediction"]

# 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: "your-project.census.census_model"
    input_=prediction_data,
)
# Output:
#           predicted_income_bracket                     predicted_income_bracket_probs  age workclass  ... occupation  hours_per_week income_bracket   dataframe
# 18004                    <=50K  [{'label': ' >50K', 'prob': 0.0763305999358786...   75         ?  ...          ?               6          <=50K  prediction
# 18886                    <=50K  [{'label': ' >50K', 'prob': 0.0448866871906495...   73         ?  ...          ?              22           >50K  prediction
# 31024                    <=50K  [{'label': ' >50K', 'prob': 0.0362982319421936...   69         ?  ...          ?               1          <=50K  prediction
# 31022                    <=50K  [{'label': ' >50K', 'prob': 0.0787836112058324...   75         ?  ...          ?               5          <=50K  prediction
# 23295                    <=50K  [{'label': ' >50K', 'prob': 0.3385373037905673...   78         ?  ...          ?              32          <=50K  prediction

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

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

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

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

  1. נכנסים לדף BigQuery במסוף Cloud de Confiance .

    כניסה ל-BigQuery

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

    SELECT
    *
    FROM
    ML.EXPLAIN_PREDICT(MODEL `census.census_model`,
      (
      SELECT
        *
      FROM
        `census.input_data`
      WHERE
        dataframe = 'evaluation'),
      STRUCT(3 as top_k_features));
  3. התוצאות אמורות להיראות כך:

    הפלט של ML.EXPLAIN_PREDICT

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

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

כדי לדעת אילו תכונות הכי חשובות לקביעת קבוצת ההכנסה, משתמשים בפונקציה ML.GLOBAL_EXPLAIN.

קבלת הסברים גלובליים למודל:

  1. נכנסים לדף BigQuery במסוף Cloud de Confiance .

    כניסה ל-BigQuery

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

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

    הפלט של ML.GLOBAL_EXPLAIN

הסרת המשאבים

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

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

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

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

    לדף של BigQuery

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

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

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

מחיקת הפרויקט

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

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

    כניסה לדף Manage resources

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

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

  • לסקירה כללית על BigQuery ML, קראו את המאמר מבוא ל-BigQuery ML.
  • למידע על יצירת מודלים, קראו את דף התחביר של CREATE MODEL.