Experimente os DataFrames do BigQuery

Use este início rápido para realizar as seguintes tarefas de análise e aprendizagem automática (AA) usando a API BigQuery DataFrames num bloco de notas do BigQuery:

  • Crie um DataFrame sobre o bigquery-public-data.ml_datasets.penguins conjunto de dados público.
  • Calcular a massa corporal média de um pinguim.
  • Crie um modelo de regressão linear.
  • Crie um DataFrame sobre um subconjunto dos dados de pinguins para usar como dados de preparação.
  • Limpe os dados de preparação.
  • Defina os parâmetros do modelo.
  • Ajuste o modelo.
  • Atribua uma pontuação ao modelo.

Antes de começar

  1. In the Trusted Cloud console, on the project selector page, select or create a Trusted Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Trusted Cloud project.

  3. Verifique se a API BigQuery está ativada.

    Ative a API

    Se criou um novo projeto, a API BigQuery é ativada automaticamente.

  4. Autorizações necessárias

    Para criar e executar blocos de notas, precisa das seguintes funções de gestão de identidade e de acesso (IAM):

    Crie um notebook

    Siga as instruções em Crie um notebook a partir do editor do BigQuery para criar um novo notebook.

    Experimente os DataFrames do BigQuery

    Experimente os DataFrames do BigQuery seguindo estes passos:

    1. Crie uma nova célula de código no notebook.
    2. Adicione o seguinte código à célula de código:

      import bigframes.pandas as bpd
      
      # Set BigQuery DataFrames options
      # Note: The project option is not required in all environments.
      # On BigQuery Studio, the project ID is automatically detected.
      bpd.options.bigquery.project = your_gcp_project_id
      
      # Use "partial" ordering mode to generate more efficient queries, but the
      # order of the rows in DataFrames may not be deterministic if you have not
      # explictly sorted it. Some operations that depend on the order, such as
      # head() will not function until you explictly order the DataFrame. Set the
      # ordering mode to "strict" (default) for more pandas compatibility.
      bpd.options.bigquery.ordering_mode = "partial"
      
      # Create a DataFrame from a BigQuery table
      query_or_table = "bigquery-public-data.ml_datasets.penguins"
      df = bpd.read_gbq(query_or_table)
      
      # Efficiently preview the results using the .peek() method.
      df.peek()
      
    3. Modifique a linha bpd.options.bigquery.project = your_gcp_project_id para especificar o ID do seu projeto Trusted Cloud . Por exemplo, bpd.options.bigquery.project = "myProjectID".

    4. Execute a célula de código.

      O código devolve um objeto DataFrame com dados sobre pinguins.

    5. Crie uma nova célula de código no notebook e adicione o seguinte código:

      # Use the DataFrame just as you would a pandas DataFrame, but calculations
      # happen in the BigQuery query engine instead of the local system.
      average_body_mass = df["body_mass_g"].mean()
      print(f"average_body_mass: {average_body_mass}")
      
    6. Execute a célula de código.

      O código calcula a massa corporal média dos pinguins e imprime-a na Trusted Cloud consola.

    7. Crie uma nova célula de código no notebook e adicione o seguinte código:

      # Create the Linear Regression model
      from bigframes.ml.linear_model import LinearRegression
      
      # Filter down to the data we want to analyze
      adelie_data = df[df.species == "Adelie Penguin (Pygoscelis adeliae)"]
      
      # Drop the columns we don't care about
      adelie_data = adelie_data.drop(columns=["species"])
      
      # Drop rows with nulls to get our training data
      training_data = adelie_data.dropna()
      
      # Pick feature columns and label column
      X = training_data[
          [
              "island",
              "culmen_length_mm",
              "culmen_depth_mm",
              "flipper_length_mm",
              "sex",
          ]
      ]
      y = training_data[["body_mass_g"]]
      
      model = LinearRegression(fit_intercept=False)
      model.fit(X, y)
      model.score(X, y)
      
    8. Execute a célula de código.

      O código devolve as métricas de avaliação do modelo.

    Limpar

    A forma mais fácil de eliminar a faturação é eliminar o projeto que criou para o tutorial.

    Para eliminar o projeto:

    1. In the Trusted Cloud console, go to the Manage resources page.

      Go to Manage resources

    2. In the project list, select the project that you want to delete, and then click Delete.
    3. In the dialog, type the project ID, and then click Shut down to delete the project.

    O que se segue?