AISelector

O módulo AISelector foi desenvolvido para facilitar a escolha do modelo ideal de inteligência artificial para suas aplicações. Ele automatiza o processo de teste e avaliação de diferentes algoritmos disponíveis no componente, gerando um CSV com métricas como acurácia.

Para utilizar o módulo AISelector, é necessário ter conhecimento prévio em inteligência artificial, já que ele foi projetado para usuários que desejam configurar, testar e interpretar os resultados de diferentes modelos manualmente. Caso você não tenha experiência na área, é recomendado o uso do EasyAI.

No AISelector é possível adicionar vários modelos com diferentes parâmetros e realize o teste de todos com apenas uma função.

EXEMPLO DE USO

uses
  UAISelector;

procedure ExampleAISelector;
var
  vClassification: TAIClassificationSelector;
begin
  vClassification := TAIClassificationSelector.Create('C:\DelphAI\DelphAI\Datasets\Breast Cancer.csv');
  try
    vClassification.Models.AddKNN(1);
    vClassification.Models.AddKNN(7);
    vClassification.Models.AddKNN(15);
    vClassification.Models.AddKNN(21);
    vClassification.Models.AddTree(5, scGini);
    vClassification.Models.AddNaiveBayes;
    vClassification.RunTests('C:\Example\ClassificationResult.csv', 'C:\Example\ClassificationLog.txt');
  finally
    vClassification.Free;
  end;
end;

EXEMPLO DE RETORNO

GUIA DE CLASSES E MÉTODOS

TAIClassificationSelector

  • constructor Create(aDataset : String; aHasHeader : Boolean = True); : cria o objeto com a base que será usada para treinamento.

    • aDataSet : caminho do arquivo CSV.

    • aHasHeader : indica se tem cabeçalho no arquivo.

  • constructor Create(aDataset : TDataSet); overload; : cria o objeto com a base que será usada para treinamento.

    • aDataSet : objeto TDataSet que contém os dados que serão usados para treinamento. Veja como deve ser a estrutura aqui.

  • procedure RunTests(aCsvResultFile, aLogFile : String; aMaxThreads : Integer = 0; aPercDatasetTest : Integer = 25; aRandomDataset : Boolean = True; aCrossValidation : Boolean = True); : realiza um teste com cada modelo.

    • aCsvResultFile : caminho onde será salvo um arquivo CSV contendo cada método testado, junto dos seus resultados.

    • aLogFile : caminho do arquivo de log.

    • aMaxThreads : opcional, máximo de threads que serão utilizadas simultaneamente. Caso for 0, irá usar a quantidade de threads disponíveis no CPU.

    • aPercDatasetTest : percentual da base de dados que será separada para treinamento.

    • aRandomDataset : indica se irá escolher aleatóriamente (True) ou se irá pegar as últimas X amostras para teste (False).

    • aCrossValidation : indica se utiliza validação cruzada. A quantidade de dataset diferentes gerados para teste será "100 / aPercDatasetTest"

property Models : TAIClassificationModels;

TAIClassificationModels

  • procedure AddKNN(aK : Integer); : adiciona o modelo de classificação KNN na lista de modelos que serão testados.

    • Parâmetros conforme create do modelo KNN.

  • procedure AddTree(aDepth: Integer; aSplitCriterion: TSplitCriterion); : adiciona o modelo de classificação Árvore de Decisão na lista de modelos que serão testados.

  • procedure AddNaiveBayes; : adiciona o modelo de classificação Naive Bayes na lista de modelos que serão testados.

Last updated