Vídeo: Pertence, não pertence, contido, não contido, contém e não contém 2024
A aprendizagem não supervisionada tem muitos desafios para a análise preditiva - incluindo não saber o que esperar quando você executa um algoritmo. Cada algoritmo produzirá resultados diferentes; você nunca terá certeza se um resultado é melhor do que o outro - ou mesmo se o resultado é de algum valor.
Quando você sabe quais são os resultados, você pode ajustar os algoritmos para produzir os resultados desejados. Nos conjuntos de dados do mundo real, você não terá esse luxo. Você terá que depender de algum conhecimento prévio dos dados - ou intuição - para decidir quais parâmetros de inicialização e algoritmos usar enquanto você cria seu modelo.
Em tarefas reais de aprendizagem sem supervisão, no entanto, esse conhecimento prévio não está disponível e o resultado desejado é difícil de encontrar. Escolher o número certo de clusters é o problema-chave. Se você tropeçar com o número certo de clusters, seus dados renderão informações que você pode fazer previsões altamente precisas. Por outro lado, adivinhar o número errado de clusters pode produzir resultados subpar.
O algoritmo K-means é uma boa escolha para conjuntos de dados com um pequeno número de clusters com tamanhos proporcionais e dados linearmente separáveis - e você pode dimensioná-lo para usar o algoritmo em conjuntos de dados muito grandes.
Pense em dados linearmente separáveis como um monte de pontos em um gráfico que pode ser separado usando uma linha reta. Se os dados não forem linearmente separáveis, as versões mais avançadas de K-means terão que ser empregadas - o que se tornará mais caro computacionalmente e pode não ser adequado para conjuntos de dados muito grandes. Na sua implementação padrão, a complexidade para calcular os centros de cluster e as distâncias é baixa.
K-means é amplamente empregado para resolver problemas de dados grandes porque é simples de usar, eficaz e altamente escalável. Não é de admirar que a maioria dos vendedores comerciais use o algoritmo K-means como um componente chave de seus pacotes analíticos preditivos.
O DBSCAN (Density-Based Spatial Clustering of Applications with Noise) na implementação do scikit-learn não requer parâmetros de inicialização definidos pelo usuário para criar uma instância. Você pode substituir os parâmetros padrão durante a inicialização se desejar. Infelizmente, se você estiver usando os parâmetros padrão, o algoritmo não pode fornecer uma correspondência próxima ao resultado desejado.
O DBSCAN é mais adequado para conjuntos de dados com tamanhos de cluster desproporcionais e cujos dados podem ser separados de forma não linear.Como K-means, DBSCAN é escalável, mas usá-lo em conjuntos de dados muito grandes requer mais memória e poder de computação.