Esta página explica por que motivo e como usar a funcionalidade
MLTransform
para preparar os seus dados para a preparação de modelos de aprendizagem automática (AA). Ao combinar várias transformações de processamento de dados numa classe, o MLTransform
simplifica o processo de aplicação de operações de processamento de dados de ML do Apache Beam ao seu fluxo de trabalho.
Para ver informações sobre a utilização da função MLTransform
para tarefas de geração de incorporações, consulte o artigo
Gere incorporações com a MLTransform.
MLTransform
no passo de pré-processamento do fluxo de trabalho.
Vantagens
A classe MLTransform
oferece as seguintes vantagens:
- Transforme os seus dados sem escrever código complexo nem gerir bibliotecas subjacentes.
- Encadeie de forma eficiente vários tipos de operações de processamento com uma interface.
Gere incorporações que pode usar para enviar dados para bases de dados vetoriais ou para executar inferências.
Para mais informações sobre a geração de incorporações, consulte o artigo Gere incorporações com MLTransform.
Apoio técnico e limitações
A classe MLTransform
tem as seguintes limitações:
- Disponível para pipelines que usam as versões 2.53.0 e posteriores do SDK do Python do Apache Beam.
- Os pipelines têm de usar janelas predefinidas.
Transformações de tratamento de dados que usam a TFT:
- Suporte para Python 3.9, 3.10 e 3.11.
- Suporte pipelines em lote.
Exemplos de utilização
Os blocos de notas de exemplo demonstram como usar o MLTransform
para exemplos de utilização específicos de incorporações.
- Quero calcular um vocabulário a partir de um conjunto de dados
- Calcular um vocabulário único a partir de um conjunto de dados e, em seguida, mapear cada palavra ou token para um índice inteiro distinto. Use esta transformação para alterar dados textuais em representações numéricas para tarefas de aprendizagem automática.
- Quero dimensionar os meus dados para preparar o meu modelo de AA
- Dimensione os seus dados para que os possa usar para preparar o seu modelo de AA. A classe
Apache Beam
MLTransform
inclui várias transformações de escalamento de dados.
Para ver uma lista completa das transformações disponíveis, consulte a secção Transformações na documentação do Apache Beam.
Use MLTransform
Para usar a classe MLTransform
para pré-processar dados, inclua o seguinte código no seu pipeline:
import apache_beam as beam
from apache_beam.ml.transforms.base import MLTransform
from apache_beam.ml.transforms.tft import TRANSFORM_NAME
import tempfile
data = [
{
DATA
},
]
artifact_location = gs://BUCKET_NAME
TRANSFORM_FUNCTION_NAME = TRANSFORM_NAME(columns=['x'])
with beam.Pipeline() as p:
transformed_data = (
p
| beam.Create(data)
| MLTransform(write_artifact_location=artifact_location).with_transform(
TRANSFORM_FUNCTION_NAME)
| beam.Map(print))
Substitua os seguintes valores:
TRANSFORM_NAME
: o nome da transformação a usarBCUKET_NAME
: o nome do seu contentor do Cloud StorageDATA
: os dados de entrada a transformarTRANSFORM_FUNCTION_NAME
: o nome que atribui à função de transformação no seu código
O que se segue?
- Para mais detalhes sobre
MLTransform
, consulte Pré-processar dados na documentação do Apache Beam. - Para mais exemplos, consulte o artigo
MLTransform
para o processamento de dados no catálogo de transformações do Apache Beam. - Execute um bloco de notas interativo no Colab.