As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
O aumento de gradiente trabalha em dados tabulares: as linhas representam as observações, uma coluna representa a variável de destino ou rótulo, e as demais colunas representam os atributos.
A implementação de SageMaker IA do LightGBM suporta CSV para treinamento e inferência:
-
Para treinamento ContentType, as entradas válidas devem ser text/csv.
-
Para inferência ContentType, as entradas válidas devem ser text/csv.
nota
Para treinamento de CSV, o algoritmo de treinamento pressupõe que a variável de destino está na primeira coluna e que o CSV não tem um registro de cabeçalho.
Para inferência de CSV, o algoritmo pressupõe que a entrada do CSV não tem a coluna de rótulo.
Formato de entrada para dados de treinamento, dados de validação e atributos categóricos
Lembre-se de como formatar seus dados de treinamento para entrada no modelo LightGBM. Você precisa fornecer o caminho para um bucket do Amazon S3 que contenha seus dados de treinamento e validação. Você também pode incluir uma lista de atributos categóricos. Use os canais train
e validation
para fornecer seus dados de entrada. Como alternativa, você pode usar somente o canal train
.
nota
Tanto train
quanto training
são nomes de canais válidos para treinamento em LightGBM.
Use ambos os canais train
e validation
Você pode fornecer seus dados de entrada por meio de dois caminhos S3, um para o canal train
e outro para o canal validation
. Cada caminho do S3 pode ser um prefixo do S3 que aponta para um ou mais arquivos CSV ou um caminho completo do S3 apontando para um arquivo CSV específico. As variáveis de destino devem estar na primeira coluna do seu arquivo CSV. As variáveis preditoras (atributos) devem estar nas colunas restantes. Se vários arquivos CSV forem fornecidos para os canais train
ou validation
, o algoritmo LightGBM concatena os arquivos. Os dados de validação são usados para calcular uma pontuação de validação no final de cada iteração de reforço. A interrupção antecipada é aplicada quando a pontuação de validação para de melhorar.
Se seus preditores incluírem atributos categóricos, você poderá fornecer um arquivo JSON nomeado categorical_index.json
no mesmo local do arquivo ou arquivos de dados de treinamento. Se você fornecer um arquivo JSON para atributos categóricos, seu canal train
deverá apontar para um prefixo S3 e não para um arquivo CSV específico. Esse arquivo deve conter um dicionário Python em que a chave é a string "cat_index_list"
e o valor é uma lista de números inteiros exclusivos. Cada número inteiro na lista de valores deve indicar o índice da coluna dos atributos categóricos correspondentes em seu arquivo CSV de dados de treinamento. Cada valor deve ser um número inteiro positivo (maior que zero porque zero representa o valor alvo), menor que o Int32.MaxValue
(2147483647) e menor que o número total de colunas. Só deve haver um arquivo JSON de índice categórico.
Use somente o canal train
:
Como alternativa, você pode fornecer seus dados de entrada por meio de um único caminho S3 para o canal train
. Esse caminho do S3 deve apontar para um diretório com um subdiretório chamado train/
que contém um ou mais arquivos CSV. Opcionalmente, você pode incluir outro subdiretório no mesmo local chamado validation/
que também tenha um ou mais arquivos CSV. Se os dados de validação não forem fornecidos, 20% dos seus dados de treinamento serão amostrados aleatoriamente para servir como dados de validação. Se seus preditores incluírem atributos categóricos, você poderá fornecer um arquivo JSON nomeado categorical_index.json
no mesmo local dos seus subdiretórios.
nota
Para o modo de entrada de treinamento CSV, a memória total disponível para o algoritmo (contagem de instância multiplicada pela memória disponível no InstanceType
) deve ser capaz de conter o conjunto de dados de treinamento.
SageMaker O AI LightGBM usa o módulo Python Joblib para serializar ou desserializar o modelo, que pode ser usado para salvar ou carregar o modelo.
Para usar um modelo treinado com SageMaker AI LightGBM com o módulo JobLib
-
Use o seguinte código do Python:
import joblib import tarfile t = tarfile.open('model.tar.gz', 'r:gz') t.extractall() model = joblib.load(
model_file_path
) # prediction with test data # dtest should be a pandas DataFrame with column names feature_0, feature_1, ..., feature_d pred = model.predict(dtest
)