Aprendizagem Supervisionada

No aprendizado de máquina, o aprendizado supervisionado é uma abordagem na qual um modelo é treinado usando dados rotulados.

Esse tipo de aprendizado é chamado de "supervisionado" porque durante o treinamento, o modelo recebe um conjunto de exemplos de entrada, juntamente com as respostas corretas associadas a esses exemplos.

O objetivo do aprendizado supervisionado é fazer com que o modelo aprenda a mapear corretamente as entradas para as saídas desejadas.

Por exemplo, se estivéssemos treinando um modelo para reconhecer imagens de gatos e cachorros, forneceríamos ao modelo várias imagens de gatos e cachorros, cada uma rotulada corretamente como "gato" ou "cachorro".

O modelo então aprenderia a identificar padrões nessas imagens e fazer previsões corretas sobre imagens não vistas anteriormente.

O processo de treinamento do modelo envolve alimentar os dados de treinamento rotulados no modelo e ajustar os parâmetros internos do modelo para minimizar a diferença entre as previsões do modelo e as respostas corretas.

Isso é geralmente feito por meio de algoritmos de otimização que ajustam os parâmetros com base no erro entre as previsões e os rótulos conhecidos.

Uma vez que o modelo tenha sido treinado com sucesso, ele pode ser usado para fazer previsões sobre novos exemplos de entrada que não foram vistos durante o treinamento.

Essas previsões são baseadas no conhecimento adquirido pelo modelo durante o processo de treinamento supervisionado.

O aprendizado supervisionado é amplamente utilizado em várias tarefas de aprendizado de máquina, como classificação de texto, reconhecimento de fala, detecção de fraudes, diagnóstico médico e muitas outras aplicações.

É uma abordagem poderosa que permite que os modelos aprendam a partir de exemplos rotulados, facilitando a tomada de decisões e a automação de tarefas complexas.

Classificação

  • Queremos descobrir ou descrever a classe de um fato.
  • Normalmente a classe em uma relação está representada em um atributo especial, posicionado como último atributo da relação.

Criando a matriz confusão

Dados

Devemos nos preocupar com os erros e com os custos do erro.

Analizando o erro:

Vamos supor que o banco libere um emprestimo de 5.000,00 e que em cada um deles seja previsto um lucro de 1500,00.

Nive Bayes

É um algoritmo de classificação probabilístico, que é utilizado em aprendizagem de máquina e mineração de dados.

Ele é considerado "ingênuo" porque assume que cada par de características é independente dos outros.

O algoritmo é baseado na teoria Bayesiana, que usa probabilidades para prever a probabilidade de ocorrência de um evento com base em eventos passados relacionados.

O modelo Naive Bayes é usado em aplicações como reconhecimento de spam em e-mails, análise de sentimento em texto, classificação de documentos e identificação de voz em reconhecimento de fala.

Ele é popular por sua simplicidade, rapidez e eficiência na classificação de grandes conjuntos de dados.

Algoritmo

  • Leitura dos dados;
  • Separação dos dados do treino e do teste
  • Criação do modelo;
  • Criação da predição; (ato ou efeito de predizer, de afirmar o que vai acontecer no futuro; profecia, previsão.)
  • Criação da tabela de confusão;
  • Determinação da taxa de acerto e da taxa de erro.

Como programar em R

  • O método tradicional do R é através do comando read.csv já visto anteriormente;
  • A separação dos dadospode ser realizada com a ajuda do comando sample;
  • amostra = sample(x,tam,replace=T or F,prob = c(0.7,0.3))
  • No exemplo acima:
    • O x representa de 1 a x os valores que são criados aleatroriamente;
    • tam é a quantidade de números gerados;
    • replace indica se os valores de 0 a x podem repetir;
    • prob é a probabilidade dos números a serem gerados.
  • A separação dos dados pode ser feita pelas atribuições mostradas abaixo
    • dadosTreino = dados[amostra==1,]
    • dadosTeste = dados[amostra==2,]
  • Criação do modelo
  • modelo = naiveBayes(class ~. , dadosTreino)
    • A função naiveBayes está na biblioteca e1071
    • class é a coluna onde está a resposta do treino;
    • O ponto "." depois do "~" indica que que todas a colunas dos dados serão utilizadas;
    • Caso queira selecionar as colunas participantes do treino é só colocar o nome delas concatenando com o +
  • Criação da predição
  • predicao = predict(modelo,dadosTeste)
  • Criação da matriz de confusão
  • confusao = table(dadosTeste$class,predicao)
  • A taxa de acerto e de erro é dados através dos dados tirados da matriz de confusão.
  • Repositorio:
  • Utilizando um modelo em produção

    • Deve formatar uma entrada no formato data frame
    • novoDado = data.frame("caracteristica1"=dado1,"caracteristica2"=dado2, .....)
    • Colocar o dado na predição
    • predicao = predict(modelo, novoDado)
    • Formatar o resultado como texto.
    • as.character(predicao)

    Projeto a ser realizado.

    Desenvolva um programa em R que utilize cinco características de avaliação de crédito para determinar se a solicitação de crédito será aprovada ou não. Utilize o algoritmo de aprendizagem de máquina Naive Bayes para realizar a análise e a interface gráfica da biblioteca shiny.

    Suport vector machine

    O programa que utiliza o algoritmo SVM - (Suport vector machine) tem a mesma estrutura do Nive Bayes mudando apenas a chamada do modelo.

    • modelo = svm(class ~. , dadosTreino)

    Arvore de decisão com rpart

    Criação do modelo

  • arvore = rpart(class ~. , data=dadosTreino,method="class")
    • Plotagem da árvore

  • plot(arvore)
  • text(arvore,use.n=TRUE,cex=.8)
    • Montagem da predição

  • teste = predict(arvore, newdata = dadosTeste)
  • cred = cbind(dadosTeste,teste)
  • cred['Resultado'] = ifelse(cred$bad > 0.5,"bad","good")
  • fix(cred)
    • Montagem da tabela confusão e obtenção da taxa de acerto.

      • confusao = table(cred$class,cred$Result)
      • taxaAcerto = (confusao[1]+confusao[4])/sum(confusao)

      Alternar Menu