ileoh

Como funciona o sistema de recomendação?

O que é sistema de recomendação? Um sistema de recomendação é um programa de computador que ajuda um usuário a descobrir produtos e conteúdos, prevendo a classificação de cada item pelo usuário e mostrando-lhes os itens que eles classificariam com mais frequência. Os sistemas de recomendação estão em toda parte. Se você já procurou livros na Amazon ou navegou por postagens no Facebook, usou o sistema de recomendação sem saber. Com as compras online, os consumidores têm escolhas quase infinitas. Ninguém tem tempo suficiente para experimentar todos os produtos à venda. Os sistemas de recomendação desempenham um papel importante para ajudar os usuários a encontrar produtos e conteúdos com os quais se importam. Nos bastidores, esses sistemas são alimentados por uma função de recomendação. Uma função de recomendação recebe informações sobre o usuário e prevê a classificação que o usuário daria ao produto. Se você puder prever a classificação do usuário para um produto antes que o usuário veja o produto, isso é muito poderoso. Isso significa que você pode mostrar ao usuário apenas as coisas que ele mais deseja e não perder tempo com produtos com os quais não se importará. Vamos imaginar que você está navegando por um E-Book para comprar no seu E-Reader. A livraria on-line sabe sobre suas compras de livros anteriores e as classificações que você deu a elas. Com base nessa informação histórica, ele tenta prever como você classificará cada produto em sua biblioteca. Usando essas classificações previstas, a livraria mostrará os livros que você acha que mais aproveitará. Esses também são os livros que você mais provavelmente comprará. Os sistemas de recomendação aprimoram a experiência do usuário, ao mesmo tempo em que fornecem mais exposição a uma parte maior. O que se pode fazer com o sistema de recomendação? Os sistemas de recomendação possuem vários usos diferentes. O uso mais comum de um sistema de recomendação é classificar os produtos por quanto um usuário gostaria deles. Se um usuário estiver navegando ou procurando produtos, nós queremos mostrar a eles os produtos que eles mais gostariam primeiro na lista. Os sistemas de recomendação também podem ser usados ​​para descobrir como produtos diferentes são semelhantes entre si. Se os produtos são muito semelhantes entre si, eles podem atrair os mesmos usuários. Quando o usuário clica em um produto, podemos usá-lo para fornecer ao usuário links para outros produtos muito semelhantes. A similaridade de produto é especialmente útil em casos em que ainda não sabemos muito sobre um determinado usuário. Podemos recomendar produtos semelhantes, mesmo que o usuário ainda não tenha inserido suas avaliações de produtos. Também podemos usar sistemas de recomendação para descobrir se dois usuários diferentes são semelhantes entre si. Se dois usuários tiverem preferências semelhantes para produtos, podemos assumir que eles têm interesses semelhantes. Por exemplo, uma rede social pode usar essa informação para sugerir que os dois usuários se tornem amigos. Uso incrível de sistemas de recomendação: Você provavelmente já viu sistemas de recomendação em ação em sites de comércio eletrônico. Quando você compra algo na Amazon, na próxima vez que visitar, verá os produtos recomendados com base na sua compra. Isto é alimentado por um sistema de recomendação. Mas essa é apenas a ponta do iceberg. Sites de mídia social como o Facebook e o Instagram dependem muito de sistemas de recomendação. Esses sites usam sistemas de recomendação para decidir qual postagem exibir em sua linha do tempo e quais novos amigos recomendar para você. A Netflix usa um sistema de recomendação para decidir quais filmes e programas de TV apresentar a você. Eles são famosos por seus sistemas de pesquisa e recomendação. Em 2006, eles começaram o prêmio Netflix, que foi um concurso para a primeira equipe que pode melhorar a precisão da recomendação em 10% ganharia um milhão de dólares. Três anos depois, o desafio foi concluído e o prêmio foi concedido. Sistemas de recomendação também aparecem em todos os tipos de outros produtos. Os aplicativos de namoro on-line usam sistemas de recomendação para decidir quais usuários mostrar uns aos outros. Bancos e empresas de investimento usam sistemas de recomendação para combinar diferentes contas e serviços para os usuários. As companhias de seguros fazem o mesmo. Nós agora à frente veremos as diferentes metodologias usadas por trás das Recomendações: Maioritariamente 2 tipos de metodologia de filtragem são usados 1. Sistemas de recomendação baseados em conteúdo : eles recomendam com base nos atributos do produto. Os sistemas de recomendação baseados em conteúdo são sistemas de recomendação que usam seu conhecimento de cada produto para recomendar novos produtos. Digamos que você diga a um amigo que acabou de assistir ao filme Iron Man, estrelado por Robert Downey Jr., e que realmente gostou. Seu amigo pode recomendar que você assista o filme Avengers next. Ambos os filmes são filmes de ficção científica e ambos os filmes apresentam a mesma estrela de cinema. Pode ser uma boa recomendação, porque os filmes têm muitos atributos em comum. Essa é a ideia por trás dos sistemas de recomendação baseados em conteúdo. Eles tentam recomendar produtos com atributos semelhantes a um produto que o usuário já gostou. 2. Filtragem colaborativa : eles recomendam com base em usuários semelhantes Os sistemas de filtragem colaborativa fazem recomendações apenas com base em como os usuários classificaram os produtos no passado, não com base em nada sobre os produtos em si. Na filtragem colaborativa, o sistema de recomendação não tem conhecimento do produto real que está recomendando. Só sabe como outros usuários classificaram o produto. Ele usa essas classificações passadas para fazer novas recomendações. A filtragem colaborativa tem uma grande vantagem sobre as recomendações baseadas em conteúdo. A vantagem é que você nem precisa saber nada sobre os produtos que está recomendando. Contanto que você tenha dados de revisão do usuário, você pode criar um sistema de recomendação de filtragem colaborativa. Mas a filtragem colaborativa tem algumas limitações. Isso só funciona quando você já tem resenhas de usuários para trabalhar. Se você não tiver comentários, não poderá fazer recomendações. Isso significa que é difícil recomendar produtos para novos usuários, pois os novos usuários ainda não revisaram nenhum produto. Por fim, a filtragem colaborativa tende a favorecer produtos com muitas avaliações sobre produtos com poucas ou muito poucas revisões. Isso pode dificultar que os usuários descubram novos lançamentos,

Como funciona o sistema de recomendação? Read More »

Como lidar com valores faltantes (missing)?

Um dos problemas mais comuns que podemos enfrentar na limpeza e exploração de dados é lidar com os valores ausentes. Em primeiro lugar, entenda que NÃO há uma boa maneira de lidar com dados faltantes. Eu encontrei diferentes soluções para imputação de dados dependendo do tipo de problema – Análise de séries temporais, ML, Regressão etc. e é difícil fornecer uma solução geral. Vamos aqui então resumir os métodos mais usados ​​e tentar encontrar uma solução estrutural. Imputação vs Remoção de Dados Antes de saltar para os métodos de imputação de dados, temos que entender o motivo pelo qual os dados desaparecem. Missing at Random (MAR): Faltar dados aleatoriamente significa que a propensão para um ponto de dados estar ausente não está relacionada aos dados ausentes, mas está relacionada a alguns dos dados observados. Missing Completely at Random (MCAR): O fato de que um certo valor está faltando não tem nada a ver com seu valor hipotético e com os valores de outras variáveis. Missing not at Random (MNAR): Duas razões possíveis são que o valor ausente depende do valor hipotético (por exemplo, pessoas com salários altos geralmente não querem revelar suas rendas em pesquisas) ou o valor ausente depende do valor de alguma outra variável (por exemplo Vamos supor que as mulheres geralmente não querem revelar suas idades! Aqui, o valor em falta na variável age é impactado pela variável gender) Nos dois primeiros casos, é seguro remover os dados com valores ausentes dependendo de suas ocorrências, enquanto no terceiro caso, remover observações com valores ausentes pode produzir um viés no modelo. Portanto, temos que ter muito cuidado antes de remover as observações. Observe que a imputação não fornece necessariamente melhores resultados. Eliminação Listwise  Listwise deletion (análise de caso completo) remove todos os dados de uma observação que tenha um ou mais valores ausentes. Particularmente, se os dados faltantes forem limitados a um pequeno número de observações, você pode optar por eliminar esses casos da análise. No entanto, na maioria dos casos, muitas vezes é desvantajoso usar a exclusão Listwise. Isso ocorre porque as suposições do MCAR (Missing Completely at Random) são geralmente raras de serem suportadas. Como resultado, os métodos de exclusão de lista produzem parâmetros e estimativas com viés. # No R novos_dados <- na.omit(dados) # No python dados.dropna(inplace=True) Pairwise A exclusão por pares (Pairwise deletion) analisa todos os casos em que as variáveis ​​de interesse estão presentes e, assim, maximiza todos os dados disponíveis por uma base de análise. Uma força para essa técnica é que ela aumenta o poder em sua análise, mas tem muitas desvantagens. Ele assume que os dados ausentes são MCAR. Se você excluir pairwise, você acabará com um número diferente de observações contribuindo para diferentes partes do seu modelo, o que pode dificultar a interpretação. #Pairwise Deletion ncovMatrix <- cov(mydata, use=”pairwise.complete.obs”) #Listwise Deletion ncovMatrix <- cov(mydata, use=”complete.obs”) Variáveis ​​Descartáveis  Na minha opinião, é sempre melhor manter os dados do que descartá-los. Às vezes, você pode eliminar variáveis ​​se os dados estiverem faltando para mais de 60% de observações, mas apenas se essa variável for insignificante. Dito isto, a imputação é sempre uma escolha preferida em vez de descartar variáveis df <- subconjunto (mydata, select = -c (x, z)) df <- mydata [-c (1,3: 4)] Em python del mydata.column_name mydata.drop(‘column_name’, axis=1, inplace=True) Métodos Específicos de Séries Temporais Última observação realizada (LOCF) e próxima observação levada para trás (NOCB) Esta é uma abordagem estatística comum para a análise de dados longitudinais de medidas repetidas, onde algumas observações de acompanhamento podem estar faltando. Dados longitudinais rastreiam a mesma amostra em diferentes pontos no tempo. Ambos os métodos podem introduzir um viés na análise e um desempenho ruim quando os dados têm uma tendência visível Interpolação linear Esse método funciona bem para uma série temporal com alguma tendência, mas não é adequado para dados sazonais Ajuste Sazonal + Interpolação Linear Esse método funciona bem para dados com tendência e sazonalidade library(imputeTS) na.random(mydata) # Random Imputation na.locf(mydata, option = “locf”) # Last Obs. Carried Forward na.locf(mydata, option = “nocb”) # Next Obs. Carried Backward na.interpolation(mydata) # Linear Interpolation na.seadec(mydata, algorithm = “interpolation”) # Seasonal Adjustment then Linear Interpolation Média, Mediana e Moda O cálculo da média geral, mediana ou moda é um método de imputação muito básico, é a única função testada que não aproveita as características da série temporal ou a relação entre as variáveis. É muito rápido, mas tem desvantagens claras. Uma desvantagem é que a imputação média reduz a variação no conjunto de dados library(imputeTS) na.mean(mydata, option = “mean”) # Mean Imputation na.mean(mydata, option = “median”) # Median Imputation na.mean(mydata, option = “mode”) # Mode Imputation In Python from sklearn.preprocessing import Imputer values = mydata.values imputer = Imputer(missing_values=’NaN’, strategy=’mean’) transformed_values = imputer.fit_transform(values) # strategy can be changed to “median” and “most_frequent” Regressão linear Para começar, vários preditores da variável com valores omissos são identificados usando uma matriz de correlação. Os melhores preditores são selecionados e utilizados como variáveis ​​independentes em uma equação de regressão. A variável com dados perdidos é usada como a variável dependente. Casos com dados completos para as variáveis ​​preditoras são usados ​​para gerar a equação de regressão; a equação é então usada para prever valores ausentes para casos incompletos. Em um processo iterativo, os valores da variável ausente são inseridos e, em seguida, todos os casos são usados ​​para prever a variável dependente. Essas etapas são repetidas até que haja pouca diferença entre os valores previstos de um passo para o próximo, ou seja, eles convergem. Ele “teoricamente” fornece boas estimativas para valores ausentes. No entanto, existem várias desvantagens desse modelo que tendem a superar as vantagens. Primeiro, porque os valores substituídos foram preditos a partir de outras variáveis, eles tendem a se encaixar “muito bem” e, portanto, o erro padrão é esvaziado. Deve-se também assumir que existe uma relação linear entre as variáveis ​​usadas na equação de regressão quando pode não haver uma. Imputação Múltipla Imputação : Impute as entradas ausentes dos conjuntos de dados incompletos m vezes ( m = 3 na figura). Observe que os valores imputados são extraídos de uma distribuição. A simulação de sorteios aleatórios não inclui a incerteza nos parâmetros do modelo. Melhor abordagem é usar a

Como lidar com valores faltantes (missing)? Read More »

Quais trabalhos ainda existirão daqui a 20 anos? Leia isto para preparar seu futuro

Empregos não vão desaparecer completamente, muitos serão simplesmente redefinidos. Mas as pessoas provavelmente não terão novas habilidades necessárias para novos papéis e estarão fora do trabalho de qualquer forma, infelizmente.   De acordo com um relatório de 2013 de acadêmicos de Oxford, 47% dos trabalhadores nos Estados Unidos têm empregos com alto risco de automatização em potencial. Os robôs estão chegando, os robôs estão chegando! Relatórios regulares nos avisam que um apocalipse de automação está próximo. Em janeiro, um estudo da McKinsey & Company descobriu que cerca de 30% das tarefas em 60% das ocupações poderiam ser informatizadas e, no ano passado, o economista-chefe do Banco da Inglaterra disse que 80 milhões de empregos nos EUA e 15 milhões no Reino Unido poderiam ser assumidos por robôs . Claro, nem todos os trabalhos são criados igualmente. Em 2013, um estudo altamente citado por acadêmicos da Universidade de Oxford chamado The Future of Employment examinou 702 ocupações comuns e descobriu que alguns empregos – operadores de telemarketing, preparadores de impostos e árbitros esportivos – correm mais riscos do que outros, incluindo psicólogos recreacionais, dentistas e médicos. No passado, os relatos da morte de empregos humanos foram muitas vezes exagerados, e a tecnologia criou muito mais empregos do que eliminou. Chama-se “Falácia Ludita”, em referência ao grupo de trabalhadores têxteis do século XIX que destruiu as novas máquinas de tecelagem que tornaram suas habilidades redundantes. Além disso, nos últimos 60 anos, a automação eliminou apenas uma ocupação: operadores de elevadores . Os trabalhos menos seguros Operador de Telemarketing – Chance de automação: 99% Oficial de empréstimo – Chance de automação: 98% Caixa – Chance de automação: 97% Assistente Paralegal e Legal – Chance de automação: 94% Taxista – Chance de automação: 89% Cozinheiro de fast food – Chance de automação: 81% Embora tenha havido previsões otimistas de que a nova tecnologia aumentaria a prosperidade e diminuiria o trabalho penoso, muito pouco de nós estão trabalhando na semana de trabalho de 15 horas que, em 1930, o economista John Maynard Keynes previu que seria a norma para seus netos. Talvez, as vezes, estamos trabalhando 15 horas por dia. A revolução tecnológica de hoje é uma fera totalmente diferente da revolução industrial. O ritmo da mudança é exponencialmente mais rápido e muito mais amplo. Como o acadêmico da Universidade de Stanford, Jerry Kaplan, escreve em Humans Need Not Apply : hoje, a automação é “cega para a cor do colarinho”. Não importa se você é operário de fábrica, consultor financeiro ou profissional de flauta: automação está vindo para você. Quais profissões estão em maior risco? Antes de nos aprofundarmos na desgraça e na tristeza, vale a pena ressaltar que a automação não é sinônimo de perda de empregos. Frey foi rápido em apontar que seu trabalho não faz nenhuma previsão explícita, como “47% dos empregos nos EUA vão desaparecer”. Ele simplesmente diz que esses trabalhos estão expostos à automação. Em outras palavras, os trabalhos em si não desaparecem totalmente; em vez disso, eles serão redefinidos. É claro que, como Frey admite, “da perspectiva do trabalhador, não há muita diferença” entre o trabalho desaparecer e ser radicalmente redefinido. É provável que eles não tenham as novas habilidades necessárias para o papel e estejam desempregados de qualquer maneira. Professor Richard Susskind, autor de O Futuro das Profissões e Advogados de Amanhã , ecoa essa distinção. “O que você verá em muitos empregos é uma tarefa diferente”, explica ele. “Então, um advogado hoje não desenvolve sistemas que ofereçam conselhos, mas o advogado de 2025 o fará. Eles ainda serão chamados de advogados, mas estarão fazendo coisas diferentes ”. Então, quais profissões estão em maior risco? Martin Ford, futurista e autor de Rise of the Robots: Tecnologia e a Ameaça do Futuro sem Emprego, explica que os empregos que correm maior risco são aqueles que “estão em algum nível rotineiros, repetitivos e previsíveis”. Telemarketing, por exemplo, que é altamente rotineiro, tem 99% de probabilidade de automação de acordo com o relatório The Future of Employment ; Você já deve ter notado um aumento de robocalls irritantes. A preparação de impostos, que envolve o processamento sistemático de grandes quantidades de dados previsíveis, também enfrenta 99% de chance de ser automatizada. De fato, a tecnologia já começou a fazer nossos impostos: a H & R Block, um dos maiores provedores de preparação de impostos da América, está agora usando o Watson , a plataforma de inteligência artificial da IBM. Veja aqui Os empregos mais seguros no futuro.   Os robôs também assumirão as tarefas mais repetitivas em profissões como a lei, com paralegais e assistentes jurídicos enfrentando 94% de probabilidade de ter seus empregos informatizados. De acordo com um relatório recente da Deloitte, mais de 100.000 empregos no setor jurídico têm uma grande chance de serem automatizados nos próximos 20 anos. Cozinheiros de fast-food também enfrentam uma probabilidade de 81% de ter seus empregos substituídos por robôs como Flippy, um assistente de cozinha que já está lançando hambúrgueres em vários restaurantes do CaliBurger. Espera! Quais trabalhos estarão protegidos dos robôs? Ford, o futurista, classifica os trabalhos resilientes em três áreas. O primeiro é o emprego que envolve “criatividade genuína, como ser artista, ser cientista, desenvolver uma nova estratégia de negócios”. Ford observa: “Por enquanto, os humanos ainda são melhores em criatividade, mas há uma ressalva ali. Eu não posso garantir que em 20 anos um computador não será a entidade mais criativa do planeta. Já existem computadores que podem pintar obras de arte originais. Então, daqui a 20 anos, quem sabe até onde vai? A segunda área são ocupações que envolvem a construção de relacionamentos complexos com as pessoas: enfermeiros, por exemplo, ou um papel de negócios que exige que você construa relacionamentos próximos com os clientes. A terceira área é trabalhos que são altamente imprevisíveis – por exemplo, se você é um encanador que é chamado para emergências em locais diferentes. Você pode ver esses parâmetros em jogo nos trabalhos que The Future of Employment identifica como de menor risco de automação, que incluem terapeutas recreacionais, supervisores de mecânica de primeira linha, instaladores, reparadores, terapeutas ocupacionais e assistentes sociais de saúde. Embora estar em uma indústria criativa ou voltada para as pessoas possa manter seu emprego seguro pelos próximos 10 anos, é muito difícil prever o que acontecerá daqui a 20 anos. De fato, Susskind enfatiza que devemos ser

Quais trabalhos ainda existirão daqui a 20 anos? Leia isto para preparar seu futuro Read More »

kaggle

O que é o Kaggle? O guia completo!

O Kaggle é um excelente recurso para pessoas que são iniciantes em ciência de dados e aprendizado de máquina, se você é uma delas, então você está definitivamente no lugar certo 🙂 0. Introdução Antes de ir para o Kaggle , gostaria de enfatizar que é uma boa ideia ter uma base sólida primeiro. Se você gostaria de saber mais, aconselho dar alguma lida sobre conceitos básicos de ciencia de dados, aconselho também a dar uma lida nos nossos posts e nossos cursos aqui no site. 1. Conjuntos de Dados Para começar, sugiro que você comece observando os conjuntos de dados, Datasets | O chato aqui é que não há realmente nenhuma maneira de coletar (da própria página) quais conjuntos de dados são bons para começar. Eu recomendaria usar o recurso de “pesquisa” para procurar alguns dos conjuntos de dados padrão, como os conjuntos de dados Iris Species , Pima Indians Diabetes , Adult Census Income, autompg e Breast Cancer Wisconsin . Antes de prosseguir, leia as descrições do conjunto de dados para entender o que exatamente as variáveis ​​indicam e o que os dados significam.   2. Kernels Não é só para ver banco de dados que você veio ao kaggle, certo? Então confira a guia “Kernels” e clique em uma das entradas que você vê na tela seguinte: Os kernels são “editores de scripts on-line que permitem executar código sem instalar o R ​​ou o Python (e os dados já estão conectados)”. – Em outras palavras, você pode continuar trabalhando no seu navegador e explorar, modelar, visualizar,… seus dados sem ter que instalar nada. Quando você clica na primeira entrada, por exemplo, você verá algo como isto: Eu diria, inspecione qualquer kernel que você tenha selecionado, e tente obter a idéia geral por trás dos kernels que acabei de descrever – A maneira mais fácil de fazer isso é bifurcando o kernel que você selecionou pressionando o botão azul “Fork Notebook” . Você será solicitado a efetuar login (se ainda não estiver logado) e será levado ao editor: Você pode começar a fazer ajustes: alterar o código, alterar o texto, adicionar imagens,… Depois de ter bifurcado e ajustado o notebook, você pode começar a fazer seus próprios cadernos e scripts do zero, pressionando o botão azul “Novo Kernel” (você pode ver a diferença entre essas duas opções na imagem abaixo): Se você gostaria de ter alguma ajuda para começar a usar os scripts do Kaggle, confira o Exploração de dados com scripts do Kaggle . Um recurso que eu não destaquei antes, é o fato de você poder discutir os cadernos, scripts, conjuntos de dados, dentro das páginas que mostrei as imagens! Esse é um recurso bastante útil quando você está tentando entender o que e por que as pessoas estão fazendo as coisas que fazem em seus cadernos / scripts ou para obter esclarecimentos sobre os dados ou por que os dados parecem da maneira que parecem. Quaisquer comentários que você tenha, você pode resolvê-los imediatamente!   3. Discussão Além da opção de comentar, você também tem uma seção de discussão inteira à sua disposição, completa com um fórum Kaggle, uma seção dedicada aos iniciantes para começar, feedback do produto. Você deve definitivamente ir e dar uma olhada quando tiver a chance! 4. Blog Kaggle também tem um blog com alguns tutoriais, anúncios. Isso também pode ser útil para você verificar, mas eu tenho que mencionar que você também pode encontrar bons tutoriais em outros lugares, como a documentação de bibliotecas Python / R, Machine Aprendizado (Chris Albon), Construa melhor o software, juntos (Github). 5. Competições É uma das primeiras coisas que você vê quando entra no site: as competições. Quando você já trabalhou com os kernels e os conjuntos de dados, é uma boa ideia entrar nas competições. Ao fazer isso, confira os seguintes cursos interativos gratuitos que ajudarão você a começar: Tutorial Kaggle Python sobre Aprendizado de Máquina Sempre quis competir em uma competição de Kaggle, mas não tenho certeza se você tem o conjunto de habilidades certo?Este tutorial interativo por…www.datacamp.com Kaggle R Tutorial sobre Aprendizado de Máquina Sempre quis competir em uma competição de aprendizado de máquina Kaggle, mas não tenho certeza se você tem a qualificação certa?Este…www.datacamp.com Também confira as competições “Getting Started” no próprio Kaggle. 6. Ranking de Usuários Você sempre pode aprender com os melhores. Confira o ranking de usuários para ver o que você precisa fazer para se tornar um mestre de Kaggle ! 7. Empregos Algo que você pode querer verificar enquanto estiver trabalhando no Kaggle é a seção de empregos. Isso é perfeito para aqueles que ainda estão procurando emprego na indústria de ciência de dados! Espero que você tenha gostado!

O que é o Kaggle? O guia completo! Read More »

knn

O Algorítmo k-Nearest Neighbors (kNN) em Machine Learning

Neste post você descobrirá sobre o algoritmo k-Nearest Neighbors (KNN), ou método dos vizinhos mais próximos, para classificação e regressão. Depois de ler este post você saberá: A representação do modelo usada pelo KNN. Como um modelo é aprendido usando KNN (dica, não é). Como fazer previsões usando o KNN Os muitos nomes para o KNN, incluindo como diferentes campos se referem a ele. Como preparar seus dados para aproveitar ao máximo o KNN. Onde procurar para aprender mais sobre o algoritmo KNN. Este post foi escrito para desenvolvedores e não assume nenhum histórico em estatística ou matemática. O foco está em como o algoritmo funciona e como usá-lo para problemas de modelagem preditiva. Se você tiver alguma dúvida, deixe um comentário e eu farei o meu melhor para responder. Vamos começar. Representação do Modelo KNN A representação do modelo para o KNN é o conjunto de dados completo do treinamento. É tão simples quanto isso. O KNN não possui outro modelo além de armazenar o conjunto de dados inteiro, portanto, não é necessário aprender. Implementações eficientes podem armazenar os dados usando estruturas de dados complexas, como árvores kd, para fazer a pesquisa e a correspondência de novos padrões durante a previsão eficiente. Como todo o conjunto de dados de treinamento é armazenado, convém pensar cuidadosamente sobre a consistência de seus dados de treinamento. Pode ser uma boa ideia organizá-lo, atualizá-lo com frequência à medida que novos dados forem disponibilizados e remover dados errôneos e discrepantes. Fazendo previsões com o KNN A KNN faz previsões usando o conjunto de dados de treinamento diretamente. As previsões são feitas para uma nova instância (x) pesquisando todo o conjunto de treinamento para as K instâncias mais semelhantes (os vizinhos) e resumindo a variável de saída para essas instâncias de K. Para a regressão, essa pode ser a variável de saída média; na classificação, esse pode ser o valor de classe do modo (ou mais comum). Para determinar quais das instâncias do K no conjunto de dados de treinamento são mais semelhantes a uma nova entrada, uma medida de distância é usada. Para variáveis ​​de entrada de valor real, a medida de distância mais popular é a distância euclidiana . A distância euclidiana é calculada como a raiz quadrada da soma das diferenças quadráticas entre um novo ponto (x) e um ponto existente (xi) em todos os atributos de entrada j. Distância Euclidiana (x, xi) = sqrt (soma ((xj – xij) ^ 2)) Outras medidas populares de distância incluem: Distância de Hamming: Calcula a distância entre os vetores binários ( mais ). Manhattan Distance: Calcula a distância entre vetores reais usando a soma de sua diferença absoluta. Também chamado de City Block Distance ( mais ). Distância Minkowski: Generalização da distância Euclidiana e Manhattan ( mais ). Existem muitas outras medidas de distância que podem ser usadas, como a distância de Tanimoto, Jaccard , Mahalanobis e cosseno. Você pode escolher a melhor métrica de distância com base nas propriedades de seus dados. Se não tiver certeza, você pode experimentar diferentes métricas de distância e valores diferentes de K juntos e ver qual mistura resulta nos modelos mais precisos. Euclidean é uma boa medida de distância para usar se as variáveis ​​de entrada forem semelhantes em tipo (por exemplo, todas as larguras e alturas medidas). A distância de Manhattan é uma boa medida para usar se as variáveis ​​de entrada não forem semelhantes em tipo (como idade, sexo, altura, etc.). O valor para K pode ser encontrado por ajuste de algoritmo. É uma boa ideia tentar vários valores diferentes para K (por exemplo, valores de 1 a 21) e ver o que funciona melhor para o seu problema. A complexidade computacional do KNN aumenta com o tamanho do conjunto de dados de treinamento. Para conjuntos de treinamento muito grandes, o KNN pode ser estocástico tomando uma amostra do conjunto de dados de treinamento a partir do qual calcular as instâncias mais semelhantes. Diferentes nomes para kNN KNN existe há muito tempo e tem sido muito bem estudado. Como tal, disciplinas diferentes têm nomes diferentes para isso, por exemplo: Aprendizado Baseado em Instância: As instâncias de treinamento brutas são usadas para fazer previsões. Como tal, o KNN é geralmente chamado de aprendizado baseado em instância ou de aprendizado baseado em casos (onde cada instância de treinamento é um caso do domínio do problema). Aprendizado Preguiçoso: Nenhum aprendizado do modelo é necessário e todo o trabalho acontece no momento em que uma previsão é solicitada. Como tal, o KNN é frequentemente referido como um algoritmo de aprendizado lento . Não paramétrica: a KNN não faz suposições sobre a forma funcional do problema a ser resolvido. Como tal, o KNN é referido como um algoritmo de aprendizagem de máquina não paramétrico . O KNN pode ser usado para problemas de regressão e classificação. KNN para regressão Quando o KNN é usado para problemas de regressão, a previsão é baseada na média ou na mediana das instâncias mais semelhantes. KNN para classificação Quando o KNN é usado para classificação, a saída pode ser calculada como a classe com a maior frequência das instâncias mais semelhantes do K. Cada instância, em essência, vota em sua classe e a classe com o maior número de votos é considerada a predição. As probabilidades de classe podem ser calculadas como a frequência normalizada de amostras que pertencem a cada classe no conjunto de K instâncias mais semelhantes para uma nova instância de dados. Por exemplo, em um problema de classificação binária (a classe é 0 ou 1): p (classe = 0) = contagem (classe = 0) / (contagem (classe = 0) + contagem (classe = 1)) Se você está usando K e você tem um número par de classes (por exemplo, 2), é uma boa idéia escolher um valor K com um número ímpar para evitar empate. E o inverso, use um número par para K quando você tiver um número ímpar de classes. Os empates podem ser quebrados consistentemente expandindo K por 1 e observando a classe da próxima instância mais semelhante no conjunto de dados de treinamento. Maldição da Dimensionalidade O KNN funciona bem com um pequeno número de variáveis ​​de entrada (p), mas luta quando o número de entradas é muito grande. Cada variável de entrada

O Algorítmo k-Nearest Neighbors (kNN) em Machine Learning Read More »