Forum Replies Created

Viewing 15 posts - 316 through 330 (of 402 total)
  • Author
    Posts
  • in reply to: Mapas auto-organizaveis #35885
    Denny Ceccon
    Moderator

      Parece que seu código está colocando todos os registros no mesmo neurônio. Nessas horas, é melhor reiniciar o ambiente de execução com o código original e tentar de novo.

      Denny Ceccon
      Moderator

        Não precisa botar dentro de uma função, pode ser exatamente como eu escrevi:

        import pandas as pd
        
        df1 = {"Task1": ["Appoint department heads or managers and assign or delegate responsibilities to them", "Analyze operations to assess the performance of a company or its staff in meeting objectives or to determine areas of potential cost reduction, program improvement, or policy change", "Directing, planning or implementing policies, objectives or activities of organizations or businesses to ensure continuity of operations, maximize return on investment or increase productivity", "Prepare budgets for approval, including those for program funding or implementation", "Establish departmental responsibilities and coordinate roles across departments and sites", "Give speeches, write articles, or present information at meetings or conventions to promote services, exchange ideas, or achieve goals","Prepare or report on activities, expenses, budgets, statutes or government decisions or other items that affect program business or services", "Organize or approve promotional campaigns"]}
        #load data into a DataFrame object:
        df1 = pd.DataFrame(df1)
        
        df2 = {  "Task2": ["Define unit to participate in the production process", "Apply resources, according to the company's mission", "Sign agreements, agreements and contracts", "Supervise the execution of commercial, industrial, administrative and financial activity plans", "Interact with government agencies", "Define guidelines for contracting infrastructure services", "Evaluate the quality of the services provided", "Manage purchases and contracts", "Plan strategic actions for people management", "Discuss budget distribution between areas", "Demonstrate oral and written communication skills", "Sign agreements, agreements and contracts"]}
        df2 = pd.DataFrame(df2)
        
        df_final = pd.concat([df1,df2], axis=1)
        
        matriz_similaridade = []
        for sent1 in df_final['Task1']:
            vetor_similaridade = []
            for sent2 in df_final['Task2']:
                vetor_similaridade.append(calcula_similaridade_sentencas(sent1, sent2))
            matriz_similaridade.append(vetor_similaridade)
        matriz_similaridade = np.array(matriz_similaridade)
        in reply to: Mapas auto-organizaveis #35823
        Denny Ceccon
        Moderator

          Para agrupamento não-supervisionado dá pra usar o KNN, que é o mais clássico. Não tenho experiência com as ferramentas mais recentes mas ouço falar bastante das que constam nesses dois artigos: https://towardsdatascience.com/unsupervised-learning-and-data-clustering-eeecb78b422a, https://towardsdatascience.com/t-sne-clearly-explained-d84c537f53a

          Denny Ceccon
          Moderator

            Adiciona o seu código (definição do df_final) mais o meu código neste ponto do notebook:

            in reply to: Erro na implementação do DeepLearning #35820
            Denny Ceccon
            Moderator

              O que eu acho mais provável é por causa de versões das bibliotecas, às vezes os desenvolvedores mudam a forma de usar o algoritmo, eu acho que este foi o caso. Antigamente aceitava numérico, agora não aceita mais.

              in reply to: Mapas auto-organizaveis #35816
              Denny Ceccon
              Moderator

                Olá Caio,

                Te confesso que não sei exatamente como o algoritmo funciona em detalhes, não é um algoritmo muito utilizado hoje em dia então não é comum alguém se especializar nele, mas como se trata de um algoritmo de aprendizagem não-supervisionada, então é ele próprio quem determina o número de clusters (veja que nós nem passamos o número de clusters ou a variável y para o algoritmo treinar), dependendo de quantos BMUs são selecionados na primeira iteração. Mas justamente por isso, como o posicionamento inicial dos neurônios é feito aleatoriamente, a cada vez que você gera um SOM é possível que isto resulte em um número de BMUs diferente, o importante é que há essa tendência de os registros migrarem para regiões similares do mapa. Podemos dizer que é um algoritmo que apresenta várias possíveis soluções, mas todas elas são válidas.

                Eu desconfio que os cálculos são feitos todos de uma única vez, geralmente só fazemos em “batches” quando os dados não cabem todos na memória, mas teria que inspecionar o algoritmo com cuidado para ter uma resposta definitiva.

                Se você quiser se aprofundar no assunto, sugiro procurar mais vídeos no YouTube, é geralmente como eu faço para entender melhor sobre algum método.

                in reply to: Erro na implementação do DeepLearning #35813
                Denny Ceccon
                Moderator

                  Se você seguir a minha orientação, os valores serão expressos como 0 ou 1, e não haverá mais problema para interpretação. Sem a correção, os resultados não fazem sentido.

                  Denny Ceccon
                  Moderator

                    Você precisa copiar a função do Colab da aula, ou colar seu código lá.

                    Denny Ceccon
                    Moderator

                      Faltou fechar um parênteses na linha de cima.

                      in reply to: Calculo do exemplo probabilidade condicional – adição #35804
                      Denny Ceccon
                      Moderator

                        Olá Paulo,

                        Concordo com você, a solução poderia ser alcançada usando seu raciocínio, vou repassar ao professor para providenciar a correção.

                        Denny Ceccon
                        Moderator

                          Olá Shin,

                          Você vai precisar comparar as sentenças individualmente usando um loop:

                          matriz_similaridade = []
                          for sent1 in df_final['Task1']:
                              vetor_similaridade = []
                              for sent2 in df_final['Task2']:
                                  vetor_similaridade.append(calcula_similaridade_sentencas(sent1, sent2))
                              matriz_similaridade.append(vetor_similaridade)
                          matriz_similaridade = np.array(matriz_similaridade)

                          O resultado vai ser uma matriz com os valores de similaridade entre todos os pares de sentenças.

                          • This reply was modified 2 years, 9 months ago by Denny Ceccon.
                          in reply to: Mapas auto-organizaveis #35768
                          Denny Ceccon
                          Moderator

                            Olá Caio,

                            • Não dá pra dizer que os SOMs são melhores que o KNN, são técnicas diferentes com objetivos similares, assim como árvores de decisão e redes neurais que podem ser utilizadas com os mesmos objetivos.
                            • Uma forma é como o professor mostrou na aula Mapas auto organizáveis – aprendizagem, onde o número de clusters é igual ao número de BMUs identificados na inicialização do mapa.
                            • Dê uma olhada neste exemplo no GitHub da biblioteca, a função classify faz a classificação.
                            in reply to: Classificação de gatos e cachorros #35765
                            Denny Ceccon
                            Moderator

                              Olá Luis,

                              Se você observar, 16384 = 64 * 64 * 4. Imagens coloridas geralmente têm 3 canais diferentes, um para cada cor primária, mas algumas (como as de formato PNG) têm um quarto canal chamado de alpha com a transparência. Deve ser este o caso. Tenta converter elas pra JPEG antes.

                              in reply to: Classificação de gatos e cachorros #35762
                              Denny Ceccon
                              Moderator

                                Olá Luís,

                                Observe que, na aula seguinte (Base de dados, por volta de @5:15), o professor vai configurar o loader para entregar imagens com o tamanho de 64×64 pixels. Nas camadas de convolução, como estamos usando um kernel_size de 3 e stride de 1 (o stride não está explícito na construção do modelo, mas 1 é o valor padrão), isto implica que o resultado será uma matriz com 2 pixels a menos, 1 em cada extremidade. Ou seja, ao final da primeira convolução, a matriz terá 62×62 pixels. Na camada de MaxPooling, estamos usando um kernel_size de 2, o que fará com que a matriz fique com a metade dos pixels, ou seja, 31. Como este processo é repetido mais uma vez, isto resulta primeiro, na convolução, em uma matriz de 29×29, e depois, no MaxPooling, em uma matriz de 14×14 (1 pixel é descartado porque a divisão não é perfeita). Já o 32 é o número de filtros utilizado na última camada de convolução (parâmetro out_channels).

                                O 128 não tem uma razão específica, a princípio poderia ser qualquer valor, mas é comum construir camadas densas com exponentes de 2, e 128 é um valor bastante comum.

                                in reply to: Erro na implementação do DeepLearning #35731
                                Denny Ceccon
                                Moderator

                                  Olá,

                                  É que, como você converteu a variável income para valores numéricos, o algoritmo está prevendo números reais. Para o processamento correto, você precisa transformar a variável em um fator, basta ativar a linha 16 que está comentada. A diferença para a aula deve ser em função de alguma atualização nas versões mais recentes da biblioteca.

                                Viewing 15 posts - 316 through 330 (of 402 total)