# 84. Mutação: Calibrar e Limpar YieldDataset

Calibrar o "YieldDataset" é uma funcionalidade que corrige a distribuição de valores em alinhamento com princípios matemáticos, aprimorando a integridade geral dos dados. Isso fortalece a qualidade da tomada de decisões e torna o conjunto de dados valioso para análises aprofundadas posteriores.

Casos de uso comuns para essa funcionalidade incluem:

* Sincronizar dados quando várias colheitadeiras trabalharam simultaneamente ou ao longo de vários dias, garantindo consistência.
* Tornar o conjunto de dados mais homogêneo e preciso, suavizando variações.
* Remover ruído de dados e informações extraneous que podem obscurecer insights.
* Eliminar manobras de retorno ou geometrias anormais, que podem distorcer os padrões e tendências reais no campo.
* Ajustar os dados de produtividade para corresponder às médias ou totais estabelecidos para cada atributo.

Para uma exploração mais detalhada e exemplos, consulte nosso [Calibração & Limpeza de Produtividade](/geopard-tutorials/pt-br/agronomia/calibracao-e-limpeza-de-produtividade.md) caso de uso.

### YieldDataset original com o atributo WetMass

Cinco colheitadeiras trabalharam em paralelo no Campo de 30 ha mostrado abaixo. A calibração de uma das colheitadeiras não foi sincronizada com as outras, resultando em <mark style="color:laranja;">laranja</mark> pontos, indicando que é necessário `CALIBRAÇÃO` Além disso, existem numerosas manobras de retorno <mark style="color:vermelhas;">vermelhas</mark> mais próximas das bordas do "Campo" que precisam ser eliminadas.

<figure><img src="/files/5e36f1afe5d35eee83ec373a04255de20b73c522" alt=""><figcaption><p>YieldDataset original com o atributo WetMass</p></figcaption></figure>

### YieldDataset calibrado e limpo com o atributo WetMass

O resultado abaixo mostra o conjunto de dados após aplicar operações automáticas de `CALIBRAR` e `LIMPAR` usando parâmetros padrão. O "YieldDataset" resultante tornou-se homogêneo, sem outliers ou mudanças abruptas entre geometrias vizinhas.

<figure><img src="/files/b78b6ffc60725a9fffb3051fa2820c88ee51121f" alt=""><figcaption><p>YieldDataset calibrado e limpo com o atributo WetMass</p></figcaption></figure>

### Opções Caminho-da-máquina vs Média/Total vs Condicional

**Calibração por caminho-da-máquina** corresponde às trilhas da máquina. Cada trilha da máquina é processada como uma região individual para fins de calibração. A equipe GeoPard sugere usar este método como abordagem padrão.

**Calibração Média/Total** foca na redistribuição dos valores dos atributos. Se os padrões geoespaciais estiverem corretos, mas os números absolutos divergirem dos reais, esse método é benéfico. Para resultados ideais, a GeoPard aconselha combiná-lo com a calibração por caminho-da-máquina: aplique primeiro Caminho-da-máquina e depois ajuste para valores Médios/Total conhecidos.

**Calibração Condicional** ajusta os valores dos atributos com base em limites mínimo e máximo fornecidos. Esse método é especialmente valioso quando os padrões geoespaciais são precisos, mas a distribuição de valores requer ajustes, particularmente quando existem valores mínimos e máximos conhecidos. Para melhores resultados, a GeoPard recomenda combiná-lo com a calibração por caminho-da-máquina: começando com Caminho-da-máquina, seguido por ajustes para alinhar com os valores mínimo e máximo conhecidos.

### Dicas

{% hint style="warning" %}
**Dica para Anomalias de Dados**

Se um usuário encontrar anomalias nos dados, como valores em ou próximos de zero, ou valores incomumente grandes (por exemplo, uma média de 10 com um máximo de 8000), o fluxo de trabalho **Limpeza & Calibração** é aconselhado. Ele é configurado usando parâmetros `ações: [CLEAN, CALIBRATE]`.&#x20;

Priorizar a Limpeza dos dados antes da Calibração assegura a remoção de erros, valores ausentes ou inconsistências, melhorando assim a qualidade e a precisão dos dados.
{% endhint %}

{% hint style="warning" %}
**Dica para Dados sem Erros Iniciais**&#x20;

Para conjuntos de dados inicialmente livres de erros, valores ausentes ou inconsistências, e quando se sabe que múltiplas colheitadeiras estão envolvidas, considere o fluxo de trabalho **Calibração & Limpeza** Ele é configurado usando parâmetros `ações:  [CALIBRATE, CLEAN]`.

Limpar os dados após a calibração ajuda a refinar ainda mais o conjunto de dados, potencialmente eliminando quaisquer artefatos introduzidos durante a calibração.
{% endhint %}

### Documentação: Detalhes da Mutação

A configuração padrão padrão habilita a auto calibração e limpeza do "YieldDataset".

{% code overflow="wrap" lineNumbers="true" %}

```graphql
mutation AutoCalibrateYieldDataset {
  calibrateYieldDataset(input: {
    fieldUuid: "<placeholder_of_field_uuid>"
    yieldDatasetUuid: "<placeholder_of_dataset_uuid>"
    actions: {
      calibrateAction: {
        calibrationAttributes:["WetMass", "VRYIELDVOL"]
        conditionPathwiseCalibration: {
          calibrationBasis: "WetMass"
          maxHomogeneityRegion: true
          syntheticMachinePath: true
        }
      }
      cleanAction: {
        condtionAutoClean: {
          targetAttribute: "WetMass"
        }
      }
      
      ações:  [CALIBRATE, CLEAN]
    }
  }) {
    uuid
    fieldUuid
    originalUuid
    statusCode
    statusMessage
  }
}
```

{% endcode %}

Uma amostra mais avançada fornece controle manual de faixas mín./máx. e incorpora atributos adicionais.

{% code overflow="wrap" lineNumbers="true" %}

```graphql
mutation CustomCalibrateYieldDataset {
  calibrateYieldDataset(input: {
    fieldUuid: "<placeholder_of_field_uuid>"
    yieldDatasetUuid: "<placeholder_of_dataset_uuid>"
    actions: {
      calibrateAction: {
        calibrationAttributes:["WetMass", "VRYIELDVOL"]
        smoothWindowSize: 11
        conditionPathwiseCalibration: {
          calibrationBasis: "Machine"
          maxHomogeneityRegion: true
          syntheticMachinePath: false
        }
        conditionAvgTotalCalibration:[{
          calibrationAttribute: "WetMass"
          average:8.0
        }]
      }
      cleanAction: {
        condtionAutoClean: {
          targetAttribute: "WetMass"
        }
        conditionMinMaxClean: [{
          cleanAttribute: "Distance"
          min: 1.5
          max: 10.0
        }]
      }
      ações:  [CALIBRATE, CLEAN]
    }
  }) {
    uuid
    fieldUuid
    originalUuid
    statusCode
    statusMessage
  }
}
```

{% endcode %}

{% hint style="info" %}
Para seguir o protocolo do USDA para a `LIMPAR` operação, você deve mencionar TODAS as colunas em `cleanAction` -> `conditionMinMaxClean` ou especificar uma parte delas em `cleanAction` -> `conditionMinMaxClean` e as restantes em `condtionAutoClean` -> `excludedAttributes`.
{% endhint %}

Parâmetros de entrada:

* `ações` como um array, permitindo que você escolha *as ações corretivas e sua sequência* de aplicação; os valores suportados incluem `LIMPAR` e `CALIBRAR`.
* `calibrateAction` como um objeto contendo detalhes de configuração relacionados à `CALIBRAR` operação.&#x20;
  * `calibrationAttributes` como um array de atributos que precisam de calibração, tipicamente vinculados à coluna Yield.
  * `smoothWindowSize` como um inteiro ímpar que suaviza os valores resultantes, reduzindo saltos abruptos nos valores.
  * `conditionPathwiseCalibration` como um objeto com a **Caminho-da-máquina** a calibração corresponde às trilhas da máquina. Cada trilha da máquina é processada como uma região individual para fins de calibração.
    * `calibrationBasis` como uma string que representa o atributo usado como base para calibração.
    * `maxHomogeneityRegion` como um booleano que indica se a região de máxima homogeneidade é usada como a região de referência para calibração.
    * `syntheticMachinePath` como um booleano que indica a simulação de rotas de máquinas, é benéfico quando o atributo de caminho preciso da máquina está ausente e precisa ser simulado com base em timestamps ou em um atributo similar.
  * `conditionAvgTotalCalibration` como um objeto com a **Média/Total** a calibração foca na redistribuição dos valores dos atributos. Se os padrões geoespaciais estiverem corretos, mas os números absolutos divergirem dos reais, esse método é benéfico.
    * `calibrationAttribute` como uma string que representa o atributo a ser calibrado.
    * `average` como um número que representa os valores médios do atributo; os valores do atributo devem alinhar-se com essa média. Deve-se utilizar apenas uma opção, seja `average` ou `total`, por vez.
    * `total` como um número que representa a soma total dos valores do atributo; o agregado desses valores deve corresponder ao total. Deve-se utilizar apenas uma opção, seja `average` ou `total`, por vez.
  * `conditionMinMaxCalibration` como um objeto com a **Condicional** a calibração ajusta os valores dos atributos com base em limites mínimo e máximo fornecidos.
    * `calibrationAttribute` como uma string que representa o atributo a ser calibrado.
    * `min` como um número que representa os valores mínimos do atributo, servindo como o menor intervalo para calibração.
    * `minIncluded` como um booleano indicando se deve ou não incluir o valor mínimo
    * `max` como um número que representa os valores máximos do atributo, servindo como o maior intervalo para calibração.
    * `maxIncluded` como um booleano indicando se deve ou não incluir o valor máximo.
* `cleanAction` como um objeto que inclui as especificações de configuração vinculadas à `LIMPAR` operação.
  * `conditionAutoClean` como um objeto que inclui as configurações específicas do algoritmo de limpeza automática.
    * `targetAttribute` como uma string que representa os valores alvo de Yield.
    * `excludedAttributes` como um array de strings definindo atributos que não influenciam a operação de limpeza.
  * `conditionMinMaxClean` como um array de objetos contendo as regras de limpeza descritas; cada objeto inclui os seguintes parâmetros.
    * cleanAttribute como uma string especificando o nome da coluna para a regra.
    * `min` como um número indicando o valor mínimo.
    * `max` como um número indicando o valor máximo.

{% hint style="info" %}
Para ver as entradas e acessar os valores mais recentes disponíveis de enumerações (como `operações`), é recomendado utilizar [Altair](/geopard-tutorials/pt-br/docs-da-api/primeiros-passos-com-a-api-do-geopard.md).
{% endhint %}

### Documentação: consulta YieldDataset

Como consumidor da API GeoPard, você pode recuperar detalhes sobre as correções aplicadas aos YieldDatasets através dos atributos `appliedCorrections` e `appliedCorrectionsVersion`. O primeiro fornece uma lista de correções feitas (por exemplo, `CALIBRAR` e `LIMPAR`), com a ordem de execução denotada pela sequência no array. Enquanto isso, `appliedCorrectionsVersion` indica a versão do algoritmo empregada.

{% code overflow="wrap" lineNumbers="true" %}

```graphql
query DetailsAboutAppliedCalibrations {
  getFields (filter: {fieldUuid: "<placeholder_of_field_uuid>"}){
    fields {
      uuid
      yieldDatasets  {
        uuid
        appliedCorrections
        appliedCorrectionsVersion
      }
    }
  }
}
```

{% endcode %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.geopard.tech/geopard-tutorials/pt-br/docs-da-api/visao-geral-das-solicitacoes-da-api-do-geopard/84.-mutacao-calibrar-e-limpar-yielddataset.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
