Naive Bayes

O Naive Bayes é um modelo baseado no Teorema de Bayes, que utiliza probabilidades para realizar classificações. Ele assume que as características do dado são independentes entre si, o que simplifica os cálculos e torna o modelo rápido e eficiente. Apesar dessa suposição de independência nem sempre ser verdadeira, o Naive Bayes apresenta bons resultados em muitos problemas práticos, como classificação de textos e filtragem de spam. Seu desempenho é notável em aplicações onde os dados podem ser interpretados probabilisticamente.

O treinamento do modelo é rápido, após o treinamento não é necessário a base de dados para realizar predições. É possível salvar e importar o treinamento finalizado em um arquivo extremamente leve.

EXEMPLO DE USO

uses
  UNaiveBayes;
  
procedure ExampleNaiveBayes;
var
  vNaiveB: TGaussianNaiveBayes;
begin
  vNaiveB := TGaussianNaiveBayes.Create;
  try
    vNaiveB.Train('C:\Delphai\Delphai\Datasets\Iris.csv', False);
    ShowMessage(vNaiveB.Predict([6.3, 3.3, 4.7, 1.6]));
  finally
    vNaiveB.Free;
  end;
end;

GUIA DE CLASSES E MÉTODOS

TGaussianNaiveBayes

  • FDataset : TAIDatasetClassification; : acessa a base de dados atual contido no modelo.

  • procedure ClearDataset; : limpa a base de dados.

  • constructor Create; : cria um novo objeto para ser treinado.

  • constructor Create(aTrainedFile : String); overload; : cria o objeto carregando a estrutura de um arquivo já treinado.

  • procedure Train(aTrainingData : String; aHasHeader : Boolean = True); overload; : realiza o treinamento com os dados passados.

    • aTrainingData : caminho do arquivo CSV.

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

  • procedure Train(aTrainingData : TDataSet); overload; : realiza o treinamento e gera os nós com base nos dados passados.

    • aTrainingData : objeto TDataSet que contém os dados que serão usados para treinamento.

  • function Predict(aSample: TArray<Double>; aInputNormalized : Boolean = False): String; : prevê a melhor categoria para a amostra.

    • aSample : amostra a ser analisada.

    • aInputNormalized : deve ser passado como true somente se os dados da entrada já foram normalizadas por fora do componente (o que deve ser feito utilizando o range salvo no objeto).

  • procedure LoadFromFile(const FileName: string); : carrega o arquivo treinado.

  • procedure SaveToFile(const FileName: string); : salva o arquivo treinado.

Last updated