Pular para conteúdo

Previsão com RNA


Warning

Esta biblioteca está em desenvolvimento, nenhuma das soluções apresentadas está disponível para download.

Utilize bancos de dados de inventário florestal contínuo para prever o crescimento e a produção florestal. Utilize redes neurais artificiais para maior flexibilidade. Com este módulo, você poderá estimar volume, número de fustes, área basal, entre outras variáveis de interesse.


Parâmetros da Classe

AnnTrainer

AnnTrainer(df, y, *train_columns, iterator=None)
Parâmetros Descrição
df O dataframe contendo os dados processados do inventário florestal contínuo.
y A variável alvo para treinamento da RNA (Y), a variável na qual a RNA será treinada para prever.
*train_columns (*args) Nomes das colunas que serão usadas para treinar a rede neural artificial para que ela possa prever os valores de Y. Devem ser numéricas.
iterator (Opcional) Nome da coluna que contém o iterator. Uma rede neural artificial será ajustada para cada iterator.

Funções da Classe

funções e parâmetros
  AnnTrainer.fit_model(save_dir=None)#(1)!

  1. save_dir = Diretório onde o arquivo .pkl da RNA será salvo.
Parâmetros Descrição
.fit_model() Ajusta o modelo usando *train_columns para prever a variável Y.

Estruturas da RNA

Serão testadas 6 diferentes estruturas de redes neurais artificiais. Apenas o resultado de 1 modelo será retornado. O modelo retornado será selecionado pela função de ranking.
Para o modelo 'ann', o módulo sklearn.neural_network.MLPRegressor é utilizado.

--- title: Parâmetros da RNA --- classDiagram direction LR class MLPRegressor { Épocas: 3000 Ativação: logístico Modo Solver: lbfgs Tamanho do lote: dinâmico Taxa de aprendizado inicial: 0.1 Modo de taxa de aprendizado: adaptativo } class Modelo-0 { Tamanhos da camada oculta: (15, 25, 20, 30, 10) } class Modelo-1 { Tamanhos da camada oculta: (35, 10, 25, 35, 15) } class Modelo-2 { Tamanhos da camada oculta: (25, 15, 30, 20) } class Modelo-3 { Tamanhos da camada oculta: (15, 35, 45) } class Modelo-4 { Tamanhos da camada oculta: (35, 10, 25, 35, 15) } class Modelo-5 { Tamanhos da camada oculta: (35, 10, 25, 35, 15, 20, 15, 30) } MLPRegressor <|-- Modelo-0 MLPRegressor <|-- Modelo-1 MLPRegressor <|-- Modelo-2 MLPRegressor <|-- Modelo-3 MLPRegressor <|-- Modelo-4 MLPRegressor <|-- Modelo-5

AnnPredictor

AnnPredictor(pkl_file)
Parâmetros Descrição
pkl_file Diretório do arquivo .pkl que será utilizado para previsão.
Funções da Classe

funções e parâmetros
  AnnPredictor.predict(df, *args)#(1)!

  1. Retorna a previsão de Y para as colunas *args. As colunas *args devem ser as mesmas utilizadas em *train_columns para o treinamento.

Exemplo de Uso

exemplo_previsao_rna.py
1
2
3
4
5
from fptools.forecast import AnnTrainer, AnnPredictor#(1)!
!

import pandas as pd#(2)!
!

  1. Importa a classe AnnTrainer e AnnPredictor.
  2. Importa pandas para manipulação de dados.

exemplo_previsao_rna.py
df_train = pd.read_csv(r'C:\Seu\caminho\dados_inventario_continuo.csv')#(1)!

df_predictions = pd.read_csv(r'C:\Seu\caminho\novos_dados_inventario.csv')#(2)!

columns_used_for_training = [
                            "idade",
                            "fustes",
                            "area-basal",
                            "HMAX",
                            "DMAX",
                            "DG"
                            ]#(3)!

ann_train = AnnTrainer(df_train, y="volume-comercial",
                       *columns_used_for_training,
                        iterator="Material Genético")#(4)!

ann_train_metrics = ann_train.fit_model(
                                        save_dir = r"C:\Seu\caminho\saida")#(5)!

ann_predictor = AnnPredictor(r"C:\Seu\caminho\saida\previsor_rna_volume-comercial_MG-A.pkl")#(6)!

predicted_commercial_volume = ann_predictor.predict(df_predictions, *columns_used_for_training)#(7)!

  1. Carrega seu arquivo CSV para treinamento da RNA.
  2. Carrega seu arquivo CSV para previsões.
  3. Cria uma lista contendo os nomes das colunas que serão usadas para prever Y.
  4. Cria a variável ann_train contendo a classe AnnTrainer usando a coluna volume-comercial como y, as columns_used_for_training como x e a coluna Material Genético como iterador.
  5. Ajusta os modelos de RNA, salvando os arquivos .pkl na pasta C:\Seu\caminho\saida, e salva as métricas de treinamento na variável ann_train_metrics.
  6. Carrega o modelo ajustado para Material Genético A e salva na variável ann_predictor.
  7. Faz previsões de volume-comercial usando as colunas columns_used_for_training de df_predictions.