Matriz de 4 dimensões  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
jeovane.reges
JavaBaby
[Avatar]

Membro desde: 21/09/2011 13:13:42
Mensagens: 76
Offline

Bom dia a todos do GUJ.

Bom pessoal, antes de postar minha dúvida, vou postar o código abaixo e irei explicá-los e em seguida relato o que estou tentando fazer.

Meu código abaixo faz o seguinte.
- Suponha que eu tenha um arquivo .csv que tenha 150 linhas e 4 colunas.
- Então, transformo esse meu arquivo em uma matriz com as dimensões 150x4 (150 linhas e 4 colunas).
- Nesse meu código o usuário usuário digita duas colunas (uma sendo diferente da outra) e o meu código retorna essas duas colunas.
- Sendo assim, eu teria uma matriz de duas dimensões String[][] numeros.



O que eu gostaria de fazer era armazenas todas essas colunas (4 no caso) em uma matriz de 4 dimensões String[][][][] numeros.

Até que consigo armaze-las, no entanto, não consigo exibir todos os elementos dessa minha matriz, tentei fazer da seguinte maneira abaixo, no entanto, não dá certo.

Alguém poderia me dizer aonde que estou errando?
Desde de já obrigado pela ajuda de todos.

This message was edited 1 time. Last update was at 11/11/2011 11:15:27

davidbuzatto
Moderador
[Avatar]

Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline

Olá,

Evite usar "Dúvida" no títutlo. Isso é implícito.
Não entendi o motivo de você querer usar uma matriz de quatro dimensões para modelar algo que tem duas dimensões. Tente imaginar sua estrutura quadrimensional e veja se é necessário realmente uma estrutura dessa para armazenar seus dados. Eu acho que não pelo o que entendi do seu problema.

[]'s

Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."

http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm
[WWW]
jeovane.reges
JavaBaby
[Avatar]

Membro desde: 21/09/2011 13:13:42
Mensagens: 76
Offline

Olá davidbuzatto.

Eu preciso armazenar todos os valores em local só para que eu possa pegar o centróide desses valores.

Estou usando essa estrutura pra que eu possa aplicar o algoritmo K-means.
davidbuzatto
Moderador
[Avatar]

Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline

jeovane.reges wrote:Olá davidbuzatto.

Eu preciso armazenar todos os valores em local só para que eu possa pegar o centróide desses valores.

Estou usando essa estrutura pra que eu possa aplicar o algoritmo K-means.


Vish então não posso te ajudar.

[]'s

Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."

http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm
[WWW]
jeovane.reges
JavaBaby
[Avatar]

Membro desde: 21/09/2011 13:13:42
Mensagens: 76
Offline

Tranquilo davidbuzatto
Valeu por tentar ajudar
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

Ainda não vejo porque você deva declarar uma matriz quadrimensional.

Mesmo que você vá usar o k-means. Você pode descrever melhor o seu problema para que possamos te ajudar?

Exatamente o que seus vetores representam, e o que você quer classificar?

@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
jeovane.reges
JavaBaby
[Avatar]

Membro desde: 21/09/2011 13:13:42
Mensagens: 76
Offline

ViniGodoy wrote:Ainda não vejo porque você deva declarar uma matriz quadrimensional.

Mesmo que você vá usar o k-means. Você pode descrever melhor o seu problema para que possamos te ajudar?

Exatamente o que seus vetores representam, e o que você quer classificar?


Olá ViniGodoy.
Fiz apenas com duas dimensões e acredito que esteja funcionando corretamente.

Meu código, funciona da seguinte forma, armazeno todos os valores do meu dataset em uma matriz.
Então tenho dois vetores, onde armazeno metade dos valores da matriz em um vetor e a outra metade em um outro vetor.

Caso alguém esteja afim de testar o meu código e verificar se a implementação do algoritmo K-means estar correto basta baixa-lo no link abaixo, os dataset que uso também estão no zip, basta mudar o endereço de acesso neles nas classes Kmeans e Operation.

http://br4.in/Mj96j

E se não for pedir de mais gostaria de um feedback.
Valeu pessoa pela ajuda

This message was edited 2 times. Last update was at 11/11/2011 19:22:08

ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

Interessante. Eu alteraria algumas coisas:
a) Separar as operações vetoriais numa classe de vetores (isso evita ter que criar um array por dimensão e evita também poluir o código com calculeira matemática);
b) Respeitar o que diz o Javadoc e não usar o StringTokenizer. No lugar usar o método split da classe String;
c) Retirar o parse dos dados da classe KMeans.

Também fiz algumas classes para o k-means, k-nn e svm. Mas no caso eu usava para segmentar imagens.
Se quiser comparar, a do k-means e a do k-nn estão em anexo.
 Nome do arquivo clustering.7z [Disk] Download
 Descrição Algorítmos de clustering (knn e kmeans) para segmentação de imagens.
 Tamanho 9 Kbytes
 Baixado:  12 vez(es)

This message was edited 1 time. Last update was at 12/11/2011 08:02:19


@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
jeovane.reges
JavaBaby
[Avatar]

Membro desde: 21/09/2011 13:13:42
Mensagens: 76
Offline

Bom dia ViniGodoy.

Obrigado pelo feedback, irei olhar aqui o seu código e compará-lo

Desde de já obrigado pela ajuda, valeu.
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team