O componente Prediction aplica um modelo treinado a novos dados e grava os resultados em uma tabela de saída. Use este componente quando o modelo tiver sido treinado com um componente tradicional de mineração de dados sem um componente de predição correspondente.
Pré-requisitos
Antes de começar, verifique se você tem:
Um modelo treinado no Machine Learning Designer
Uma tabela de entrada com as colunas de recursos esperadas pelo modelo
Configure o componente
Método 1: Configure no Machine Learning Designer
Na tela do pipeline no console da Machine Learning Platform for AI (PAI), selecione o componente Prediction e configure os parâmetros a seguir.
Aba Fields Setting
|
Parâmetro |
Descrição |
|
Feature columns |
Colunas de recursos selecionadas na tabela de entrada. Por padrão, todas as colunas ficam selecionadas. |
|
Reserved columns |
Colunas a serem mantidas na tabela de saída. Inclua a coluna de rótulo para facilitar a avaliação posterior. |
|
Output result column |
Coluna de saída com o principal resultado da predição. |
|
Output score column |
Coluna de saída com a probabilidade do principal resultado da predição. |
|
Output detail column |
Coluna de saída com todos os resultados possíveis e suas respectivas probabilidades. |
|
Sparse matrix |
Ative esta opção se os dados de entrada estiverem em formato esparso (pares chave-valor). |
|
KV delimiter |
Delimitador entre chaves e valores nos dados esparsos. Padrão: dois pontos ( |
|
KV pair delimiter |
Delimitador entre pares chave-valor nos dados esparsos. Padrão: vírgula ( |
Aba Tuning
|
Parâmetro |
Descrição |
|
Cores |
Número de núcleos. Deve ser um número inteiro positivo. Use em conjunto com Memory size per core. |
|
Memory size per core |
Memória por núcleo, em MB. Use em conjunto com Cores. |
Método 2: Execute um comando PAI
Execute o seguinte comando usando o componente SQL Script:
pai -name prediction
-DmodelName=nb_model
-DinputTableName=wpbc
-DoutputTableName=wpbc_pred
-DappendColNames=label;
Parâmetros
|
Parâmetro |
Obrigatório |
Descrição |
Padrão |
|
|
Sim |
Nome da tabela de entrada. |
— |
|
|
Sim |
Nome do modelo treinado. |
— |
|
|
Sim |
Nome da tabela de saída. |
— |
|
|
Não |
Colunas de recursos da tabela de entrada, separadas por vírgulas. |
Todas as colunas |
|
|
Não |
Colunas de entrada a serem anexadas à tabela de saída. |
Nenhuma |
|
|
Não |
Partições a serem lidas da tabela de entrada. Formatos suportados: |
Tabela completa |
|
|
Não |
Partição onde os resultados serão gravados na tabela de saída. |
Nenhuma |
|
|
Não |
Coluna de saída para o principal resultado da predição. |
|
|
|
Não |
Coluna de saída para a probabilidade do principal resultado da predição. |
|
|
|
Não |
Coluna de saída para todos os resultados possíveis e suas probabilidades. |
|
|
|
Não |
Indica se os dados de entrada são esparsos. Valores válidos: |
|
|
|
Não |
Delimitador entre pares chave-valor esparsos. |
|
|
|
Não |
Delimitador entre chaves e valores esparsos. |
|
|
|
Não |
Ciclo de vida da tabela de saída. |
Nenhum |
|
|
Não |
Número de núcleos. |
Alocado automaticamente |
|
|
Não |
Memória por núcleo, em MB. |
Alocada automaticamente |
Exemplo
Este exemplo cria um classificador de floresta aleatória e executa o Prediction nos mesmos dados.
-
Crie a tabela de entrada de teste:
create table pai_rf_test_input as select * from ( select 1 as f0,2 as f1, "good" as class union all select 1 as f0,3 as f1, "good" as class union all select 1 as f0,4 as f1, "bad" as class union all select 0 as f0,3 as f1, "good" as class union all select 0 as f0,4 as f1, "bad" as class )tmp; -
Treine o modelo usando o algoritmo de floresta aleatória:
PAI -name randomforests -project algo_public -DinputTableName="pai_rf_test_input" -DmodelName="pai_rf_test_model" -DforceCategorical="f1" -DlabelColName="class" -DfeatureColNames="f0,f1" -DmaxRecordSize="100000" -DminNumPer="0" -DminNumObj="2" -DtreeNum="3"; -
Execute o Prediction com o modelo treinado:
PAI -name prediction -project algo_public -DinputTableName=pai_rf_test_input -DmodelName=pai_rf_test_model -DresultColName=prediction_result -DscoreColName=prediction_score -DdetailColName=prediction_detail -DoutputTableName=pai_temp_2283_76333_1 -
Visualize a tabela de saída
pai_temp_2283_76333_1:
A tabela de saída contém três colunas:
prediction_result: o principal resultado da predição (a classe com maior probabilidade). Neste exemplo, o valor égoodoubad.prediction_score: a probabilidade associada ao principal resultado da predição. Neste exemplo, o resultado pode ser good ou bad, dependendo de qual tiver a maior probabilidade; a colunaprediction_scorearmazena essa probabilidade máxima.prediction_detail: lista todos os resultados possíveis e suas respectivas probabilidades.