Matriz de confusão

No campo de aprendizado de máquina e, especificamente, no problema de classificação estatística , uma matriz de confusão , também conhecida como matriz de erros, [6] é um layout de tabela específico que permite a visualização do desempenho de um algoritmo, tipicamente um aprendizado supervisionado (em aprendizado não supervisionado , geralmente é chamado de matriz correspondente ). Cada linha da matriz representa as instâncias em uma classe prevista, enquanto cada coluna representa as instâncias em uma classe real (ou vice-versa). [2] O nome deriva do fato de que é fácil ver se o sistema está confundindo duas classes (ou seja, geralmente classificando incorretamente uma como outra).

É um tipo especial de tabela de contingência , com duas dimensões (“real” e “previsto”) e conjuntos idênticos de “classes” em ambas as dimensões (cada combinação de dimensão e classe é uma variável na tabela de contingência).

Exemplo

Se um sistema de classificação foi treinado para distinguir entre cães e gatos, uma matriz de confusão resumirá os resultados do teste do algoritmo para uma inspeção mais aprofundada. Supondo que uma amostra de 13 animais – 8 gatos e 5 cães – a matriz de confusão resultante possa se parecer com a tabela abaixo:

Classe real
Gato Cachorro
Classe prevista
Gato 5 2
Cachorro 3 3

Nesta matriz de confusão, dos 8 gatos reais, o sistema previu que três eram cães, e dos cinco cães, previu que dois eram gatos. Todas as previsões corretas estão localizadas na diagonal da tabela (destacadas em negrito), portanto é fácil inspecionar visualmente a tabela quanto a erros de previsão, pois eles serão representados por valores fora da diagonal.

Tabela de confusão 

Na análise preditiva , uma tabela de confusão (às vezes também chamada de matriz de confusão ) é uma tabela com duas linhas e duas colunas que relata o número de falsos positivos , falsos negativos , verdadeiros positivos e verdadeiros negativos. Isso permite uma análise mais detalhada do que a mera proporção de classificações corretas (precisão). A precisão não é uma métrica confiável para o desempenho real de um classificador, porque produzirá resultados enganosos se o conjunto de dados for desequilibrado (ou seja, quando o número de observações em diferentes classes varia muito). Por exemplo, se houvesse 95 gatos e apenas 5 cães nos dados, um classificador específico poderia classificar todas as observações como gatos. A precisão geral seria de 95%, mas com mais detalhes o classificador teria uma taxa de reconhecimento de 100% ( sensibilidade ) para a classe de gatos, mas uma taxa de reconhecimento de 0% para a classe de cães. A pontuação F1 é ainda mais confiável nesses casos, e aqui renderia mais de 97,4%, enquanto a informação remove esse viés e gera 0 como a probabilidade de uma decisão informada para qualquer forma de adivinhação (aqui, sempre adivinhando o gato).

De acordo com Davide Chicco e Giuseppe Jurman, a métrica mais informativa para avaliar uma matriz de confusão é o coeficiente de correlação de Matthews (MCC) [5] .

Assumindo a matriz de confusão acima, sua tabela de confusão correspondente, para a classe cat, seria:

Classe real
Gato Não gato
Classe prevista
Gato 5 verdadeiros positivos 2 falsos positivos
Não gato 3 negativos falsos 3 verdadeiros negativos

A tabela final de confusão conteria os valores médios para todas as classes combinadas.

Vamos definir um experimento a partir de instâncias P positivas e N negativas para alguma condição. Os quatro resultados podem ser formulados em uma matriz de confusão 2 × 2 , da seguinte maneira:

Condição verdadeira
População total Condição positiva Condição negativa Prevalência Σ Condição positiva/population População total Precisão (ACC) = Σ Verdadeiro positivo + Σ Verdadeiro negativo/Σ População total

Condição prevista
Condição prevista
positiva
Verdadeiro positivo Falso positivo ,
erro tipo I
Valor preditivo positivo (VPP), Precisão = Σ Verdadeiro positivo/Σ Condição prevista positiva Taxa de descoberta falsa (FDR) = Σ Falso positivo/condition Condição prevista positiva
Condição prevista
negativa
Falso negativo ,
erro tipo II
Verdadeiro negativo Taxa de falsa omissão (FOR) = Σ Falso negativo/Σ Condição prevista negativa Valor preditivo negativo (VPN) = negative Verdadeiro negativo/Σ Condição prevista negativa
Taxa positiva verdadeira (TPR), Rechamada , Sensibilidade , probabilidade de detecção, Potência Σ Verdadeiro positivo/Σ Condição positiva Taxa de falso positivo (FPR), Fallout , probabilidade de alarme falso Σ Falso positivo/Σ Condição negativa Razão de verossimilhança positiva (LR +) TPR/FPR Odds ratio diagnóstico (DOR) LR +/LR− 1 pontuação = 2 · Precisão · Recuperação/Precisão + Recuperação
Taxa de falsos negativos (FNR), taxa de faltas = Σ Falso negativo/Σ Condição positiva Especificidade (RCM), Seletividade, Taxa negativa verdadeira (TNR) Σ Verdadeira negativa/Σ Condição negativa Razão de verossimilhança negativa (LR−) FNR/TNR

Referências

  1. ^ Fawcett, Tom (2006). “Uma introdução à análise ROC” (PDF) . Cartas de reconhecimento de padrão . 27 (8): 861–874. doi : 10.1016 / j.patrec.2005.10.010 .
  2. Salte para:b Poderes, David MW (2011). “Avaliação: da precisão, rechamada e medida F ao ROC, informação, marcação e correlação” (PDF) . Jornal de Tecnologias de Aprendizado de Máquina . 2 (1): 37-63.
  3. ^ Ting, Kai Ming (2011). Enciclopédia de aprendizado de máquina . Springer. ISBN978-0-387-30164-8.
  4. ^ Brooks, Harold; Castanho, Barb; Ebert, Beth; Ferro, Chris; Jolliffe, Ian; Koh, Tieh-Yong; Roebber, Paul; Stephenson, David (26-01- 2015). “Grupo de Trabalho Conjunto WWRP / WGNE sobre Pesquisa de Verificação de Previsão” . Colaboração para a pesquisa australiana sobre clima e clima . Organização Meteorológica Mundial . Recuperado em 17/07/2019 .
  5. Salte para:b Chicco D, Jurman G (janeiro de 2020). “As vantagens do coeficiente de correlação de Matthews (MCC) sobre o escore F1 e a precisão na avaliação da classificação binária” . BMC Genomics . 21 (6) doi : 10.1186 / s12864-019-6413-7 . PMC 6941312 . PMID 31898477 .
  6. ^ Stehman, Stephen V. (1997). “Seleção e interpretação de medidas de precisão de classificação temática”. Sensoriamento Remoto do Ambiente . 62 (1): 77-89. doi : 10.1016 / S0034-4257 (97) 00083-7 .

Fonte: https://en.wikipedia.org/wiki/Confusion_matrix

Cientistas criam implante que produz palavras a partir de ondas cerebrais

O sistema do trato vocal virtual conecta-se diretamente ao cérebro e sintetiza fala a partir de sinais cerebrais associados com os aspectos mecânicos da fala, como movimentos da mandíbula, laringe, lábios e língua. Eventualmente, o dispositivo poderia ser usado por pessoas que perderam a capacidade de falar. A pesquisa foi publicada nesta quinta-feira (25) na renomada científica revista Nature.

Projeto em Python que acessa a webcam e move os olhos em direção aos olhos dos espectadores

Rastreamento de rostos com personagens de anime

Fonte:  https://github.com/Aditya-Khadilkar/Face-tracking-with-Anime-characters?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more

 

 

yuriRequisitos: Ter o python3 instalado. (Eu usei o Python3.6 no python IDLE) instale o OpenCV, os, math, ctypes, time, pygame (você provavelmente só precisará baixar o OpenCV eo PyGame)

Agora pegue o arquivo “YURI FULLSCREEN.py” deste repositório no seu computador. salve as imagens yuri2.bmp e eyes e dê o caminho para essas imagens no código (você também pode usar seu próprio waifus se quiser) baixe o haarcascade e dê a sua localização no código. Execute o código e divirta-se com o seu waifu … weeb

Faça o seu próprio:

Você precisará apenas de 2 imagens

  1. personagem sem olhos yuriwoeyes
  2. os olhosolhossó usam essas imagens e você está pronto para ir!

Versão 2: Yuri agora tem proximidade

Se você mover seu rosto para perto da webcam, ela cora!
Eu adicionei alguns novos arquivos: yuriblush.py (Porque nós não damos espaços em nomes de arquivos :)), Yuri blush.png, Yuri cute.png, Yuriceyes.png,

O processo é o mesmo acima, em vez de baixar YURI FULLSCREEN.py use yuriblush.py. Copie e cole os caminhos e você é bom!

yuri fofayuri blush

Cython

O Cython é um compilador estático otimizado tanto para a linguagem deprogramação Python quanto para a linguagem de programação estendida Cython (baseada no Pyrex ). Isso torna a escrita de extensões C para Python tão fácil quanto o próprio Python.

Cython dá-lhe o poder combinado de Python e C para deixá-lo

A linguagem Cython é um superconjunto da linguagem Python que suporta adicionalmente chamar funções C e declarar tipos C em variáveis ​​e atributos de classe. Isso permite que o compilador gere código C muito eficiente a partir do código Cython. O código C é gerado uma vez e depois compila com todos os principais compiladores C / C ++ no CPython 2.6, 2.7 (2.4+ com Cython 0.20.x) assim como 3.3 e todas as versões posteriores. Nós regularmente executamos testes de integração em todas as versões suportadas do CPython e suas últimas ramificações em desenvolvimento para garantir que o código gerado permaneça amplamente compatível e bem adaptado a cada versão. PyPysuporte é trabalho em andamento (em ambos os lados) e é considerado mais utilizável desde o Cython 0.17. A versão mais recente do PyPy é sempre recomendada aqui.

Tudo isso faz Cython a linguagem ideal para embalar bibliotecas C externas, a incorporação de CPython em aplicativos existentes, e por módulos rápidos C que aceleram a execução de código Python.

Fontehttps://cython.org/#development

Nova estrutura baseada em aprendizado de máquina pode levar a avanços no design de materiais

Computadores usados ​​para ocupar salas inteiras. Hoje, um laptop de dois quilos pode deslizar sem esforço em uma mochila. Mas isso não teria sido possível sem a criação de novos processadores menores – que só são possíveis com a inovação de novos materiais.

Mas como  cientistas de  realmente inventam novos materiais? Por meio da experimentação, explica Sanket Deshmukh, professor assistente do departamento de engenharia química, cuja pesquisa computacional recentemente publicada pela equipe pode melhorar muito a eficiência e a economia de custos do processo de projeto de material.

O laboratório de Deshmukh, o laboratório de Design Computacional de Materiais Híbridos, dedica-se a compreender e simular as maneiras pelas quais as moléculas se movem e interagem – cruciais para a criação de um novo material.

Nos últimos anos, o aprendizado de máquina, um poderoso subconjunto de inteligência artificial, tem sido empregado por cientistas de materiais para acelerar a descoberta de  por meio de simulações em computador. Deshmukh e sua equipe publicaram recentemente uma pesquisa no Journal of Physical Chemistry Letters demonstrando uma nova  aprendizado de máquina que treina “on the fly”, ou seja, processa dados instantaneamente e aprende com eles para acelerar o desenvolvimento de modelos computacionais.

Tradicionalmente, o desenvolvimento de modelos computacionais é “executado manualmente por meio de uma abordagem de tentativa e erro, que é muito cara e ineficiente, e é uma tarefa que exige muito trabalho”, explicou Deshmukh.

“Este novo framework não só usa o aprendizado de máquina de uma maneira única pela primeira vez”, disse Deshmukh, “mas também acelera dramaticamente o desenvolvimento de modelos computacionais precisos de materiais”.

“Nós treinamos o modelo de aprendizado de máquina de forma ‘reversa’ usando as propriedades de um modelo obtido de  como uma entrada para o modelo de aprendizado de máquina e usando os parâmetros de entrada usados ​​em simulações de dinâmica molecular como saída para a máquina. modelo de aprendizagem “, disse Karteek Bejagam, um pesquisador de pós-doutorado no laboratório de Deshmukh e um dos principais autores do estudo.

Essa nova estrutura permite que os pesquisadores realizem a otimização de modelos computacionais, a uma velocidade excepcionalmente mais rápida, até que atinjam as propriedades desejadas de um novo material.

A melhor parte? Independentemente de quão precisas são as previsões dos modelos de aprendizado de máquina, como elas são testadas on-the-fly, esses modelos não têm impacto negativo na otimização do modelo, se for impreciso. “Não pode doer, só pode ajudar”, disse Samrendra Singh, professor visitante no laboratório de Deshmukh e outro autor do estudo.

“A beleza desta nova estrutura de aprendizado de máquina é que ela é muito geral, o que significa que o  aprendizado de máquina pode ser integrado a qualquer algoritmo de otimização e técnica computacional para acelerar o design de materiais”, disse Singh.

A publicação, liderada por Bejagam e Singh e com a colaboração da engenharia química Ph.D. A estudante Yaxin An mostra o uso dessa nova estrutura desenvolvendo os modelos de dois solventes como prova de conceito.

O laboratório de Deshmukh planeja desenvolver a pesquisa utilizando essa nova estrutura baseada em aprendizado de máquina para desenvolver modelos de vários materiais que possuam potenciais aplicações de biomedicina e energia.

 Explorar mais: o aprendizado de máquina permite a modelagem preditiva de materiais em 2-D

Mais informações: Karteek K. Bejagam et al. Modelos grosseiros aprendidos por máquina, o Journal of Physical Chemistry Letters (2018). DOI: 10.1021 / acs.jpclett.8b01416

Read more at: https://phys.org/news/2018-10-machine-based-framework-breakthroughs-material.html#jCp

Bibliotecas NLP

NLTK

O NLTK é uma plataforma líder para criar programas em Python para trabalhar com dados em linguagem humana. Ele fornece interfaces fáceis de usar para mais de 50 recursos corpora e lexicais como o WordNet, juntamente com um conjunto de bibliotecas de processamento de texto para classificação, tokenização, stemming, tagging, análise e raciocínio semântico, wrappers para bibliotecas NLP de força industrial, e um fórum de discussão ativo .

https://www.nltk.org/

 

TEXTBLOB

Características

  • Extração de frase substantiva
  • Marcação de parte da fala
  • Análise de sentimentos
  • Classificação (Naive Bayes, Árvore de Decisão)
  • Tradução e detecção de idiomas com tecnologia do Google Tradutor
  • Tokenização (dividindo o texto em palavras e frases)
  • Frequências de palavras e frases
  • Análise
  • n-gramas
  • Infeção de palavras (pluralização e singularização) e lematização
  • Correção ortográfica
  • Adicione novos modelos ou idiomas por meio de extensões
  • Integração WordNet

TextBlob é uma biblioteca Python (2 e 3) para processamento de dados textuais. Ele fornece uma API simples para mergulhar em tarefas comuns de processamento de linguagem natural (NLP), como marcação de parte da fala, extração de frase de substantivo, análise de sentimento, classificação, tradução e muito mais.

https://pypi.org/project/textblob/

 

CORENLP

O Stanford CoreNLP fornece um conjunto de ferramentas de tecnologia de linguagem humana. Pode dar as formas básicas de palavras, suas partes de linguagem, se são nomes de empresas, pessoas, etc., normalizar datas, horas e quantidades numéricas, marcar a estrutura de sentenças em termos de frases e dependências sintáticas, indicar que frases nominais referem-se às mesmas entidades, indicam sentimento, extraem relações particulares ou de classe aberta entre as menções de entidade, obtêm as citações que as pessoas disseram, etc.

https://stanfordnlp.github.io/CoreNLP/

 

SPACY

  • Tokenização não destrutiva
  • Reconhecimento de entidade nomeada
  • Suporte para mais de 33 idiomas
  • 13 modelos estatísticos para 8 idiomas
  • Vetores de palavras pré-treinadas
  • Integração fácil de aprendizagem profunda
  • Marcação de parte da fala
  • Análise de dependência rotulada
  • Segmentação por sentenças conduzidas por sintaxe
  • Construído em visualizadores para sintaxe e NER
  • Mapeamento de string para hash conveniente
  • Exportar para matrizes de dados numpy
  • Serialização binária eficiente
  • Embalagem e implantação de modelo fácil
  • Velocidade de última geração
  • Precisão robusta e rigorosamente avaliada

https://spacy.io/

 

GENSIM

 

https://radimrehurek.com/gensim/