Salve Salve Galera!
Então, tenho um trabalho de Inteligencia Artificial sobre o Kmeans.
Só que estou sem ideia de como começar(tenho a base de dados) e como programar…
mas a minha duvida é como programar o Kmeans no Java…
PS: Não precisa usar informações de destaque para dizer o óbvio. Você já abriu o tópico em Java Avançado, portanto, é claro que sua dúvida é em [Java].
J
jcomfilho
AHAHHA Valew a Ideia…
A Ideia do K Means tá ok…
Então, a minha duvida é se tem alguma biblioteca pronta ou vou ter que implementar toda a idea do começo…
Tendo a base de dados, como vou utiliza-la para conseguir realizar esse treinamento de maquina.
V
ViniGodoy
Só para explicar mais ou menos como eu fiz:
Criei uma classe chamada Centroide, que tem como atributos:
a) O vetor do centro;
b) Um map<Vetor, Integer> que contém a contagem de quantas vezes um dado apareceu para um determinado vetor.
Não confundir, estamos falando de vetores na matemática e não da classe Vector.
Criei uma classe para todos os classificadores baseados em centróides, no caso o kmeans e classificação por threshold. Essa classe possui:
a) Uma lista de centróides.
b) Um valor para a tolerância de erro: Importante para que o algorítmo de classificação pare. Um float é considerado dentro da tolerância se abs(valor1 - valor2) < tolerancia;
Criei também uma classe main, que faz a leitura do arquivo de origem (no caso um BufferedImage) e usa as classes dos classificadores para fazer a classificação.
V
ViniGodoy
O k-means é um algorítmo muito simples. É bem fácil de implementa-lo você mesmo.
Ela possui além do k-means diversos métodos para Data Mining, classificação e análise.
Agora, se você quer aprender como o classificador funciona, recomendo que você implemente o algorítmo todo.
J
jcomfilho
aooow ViniGodoy Valew Cara!
Ajudou d++++++++
J
jcomfilho
ViniGodoy , qual seria a ideia para calcular os novos centroides??