Forum Replies Created

Viewing 15 posts - 241 through 255 (of 404 total)
  • Author
    Posts
  • Denny Ceccon
    Moderator

      Olá Vinícius,

      Não existe uma regra geral, pois a princípio a gente não sabe qual a relevância da variável ou do registro na modelagem do problema. Em ciência de dados, muitas vezes nos vemos obrigados a testar mais de uma abordagem e escolher a melhor a posteriori, com base nos resultados de desempenho do modelo criado.

      Mas o que você falou sobre o tamanho da base é relevante. Se o número de registros apagados for pequeno em comparação ao tamanho da base, eu geralmente escolho como primeira opção apagar o registro.

      in reply to: Dúvida conceitual sobre a validação cruzada #39109
      Denny Ceccon
      Moderator

        A segunda afirmação. O fato de um mesmo modelo treinado em um mesmo dataset ter desempenho diferente dependendo do split mostra que o modelo não aprendeu muito sobre a população de onde o dataset com que estamos trabalhando é uma amostra, mas sim apenas sobre aquela fração em que ele foi treinado/validado. Imagine que estejamos treinando um modelo para entender a relação entre x e y cujos dados disponíveis mostram a relação abaixo:

        Se nós escolhermos uma regressão linear para modelar estes dados, o modelo vai desempenhar muito bem na fração linear da curva, mas muito mal na fração da extrema direita. Considerando ainda que estes dados são apenas uma amostra da população de dados, o desempenho pode ficar ainda pior quando estivermos fazendo predições com valores de x fora do intervalo de treinamento.

        Mesmo que todos os folds tenham desempenho similar, ainda assim não temos certeza se o aprendizado na amostra pode ser extrapolado para a população, mas pelo menos é uma evidência a mais nesse sentido.

        in reply to: Rede Neural LSTM #39107
        Denny Ceccon
        Moderator

          Olá Jonas,

          1. Possivelmente porque seus dados não têm tendências temporais que o modelo possa aprender. Basicamente, o modelo deve ter entendido que os dados são praticamente aleatórios, por isso está prevendo uma média com um pequeno ruído. Isto é comum para predição de preços de ações, pois se fosse fácil prever, seria muito fácil ganhar dinheiro na bolsa com algoritmos.
          2. Sim, mas você precisa prever um valor por vez e colocar o valor predito no final da janela que usa para fazer predições, para prever o próximo. Só que, como cada predição tem um erro associado, o erro desta tática costuma explodir rapidamente. É por isso, por exemplo, que é relativamente fácil prever o tempo para amanhã, mas muito difícil para daqui a uma semana.
          in reply to: Dúvida conceitual sobre a validação cruzada #39106
          Denny Ceccon
          Moderator

            Olá Vinícius,

            A validação cruzada serve para mostrar a capacidade de generalização do modelo. Suponha que nós façamos validação cruzada com 10 folds, 9 deles tenham ficado com desempenho similar mas o último tenha tido desempenho inferior, isto quer dizer que, dependendo da fração dos dados que utilizemos para treinamento, o desempenho da rede será diferente. No cenário ideal, todos os resultados devem ser parecidos (ou seja, o desvio padrão deve ser pequeno). Por isso não podemos escolher o modelo com melhor desempenho nesta etapa, já que este desempenho é um mero artefato da forma com que os dados foram divididos.

            in reply to: Gradiente utilizado no arquivo rede multicamada.py do curso #39105
            Denny Ceccon
            Moderator

              Olá Vinícius,

              Como neste exemplo só temos 4 registros, então não faz sentido treinar em batches. O erro no final de cada época é a média dos erros individuais, já que usamos np.mean(erroCamadaSaida).

              in reply to: Label encoder #39103
              Denny Ceccon
              Moderator

                Olá Katia,

                Quando você faz o ajuste de uma instância de LabelEncoder, esta instância guarda os rótulos no atributo labels_, em ordem crescente. Por exemplo:

                y = ['a', 'b', 'a']
                le = LabelEncoder()
                le.fit(y)
                le.labels_
                # Output: ['a', 'b']
                • This reply was modified 2 years, 10 months ago by Denny Ceccon.
                in reply to: Dúvida na comparação da classe_teste com previsões #39101
                Denny Ceccon
                Moderator

                  Olá Vinícius,

                  É que no Python, 1/0 e True/False são valores autoconversíveis.

                  Denny Ceccon
                  Moderator

                    É isso mesmo Vinícius, no caso de classificação precisamos de um neurônio para cada categoria, e no caso de regressão, um neurônio para cada variável de interesse.

                    in reply to: Previsão de visitas a websites #38955
                    Denny Ceccon
                    Moderator

                      Olá Jonas,

                      Nas séries temporais, o tamanho do intervalo não importa, desde que ele seja constante e esteja em sequência. Portanto, você pode montar seu dataset com o número de visitas a cada minuto, e treinar o algoritmo desta forma.

                      in reply to: Posso criar regras na análise por rede neural? #38954
                      Denny Ceccon
                      Moderator

                        Olá Renato,

                        Não tem como informar a rede neural diretamente, mas você pode tratar os dados para tornar essas associações implícitas. Por exemplo, você pode chamar receita/produto de 1,  receita/serviço de 2, despesa/fixa de 3 e despesa/variável de 4, apresentando esses índices em uma única coluna.

                        in reply to: Dúvida – Aula Risco Não Sistemático #38802
                        Denny Ceccon
                        Moderator

                          Olá Edsson,

                          Estive revisando o material que foi utilizado na elaboração dessa aula e acredito que a forma correta de calcular o risco não-sistemático é subtrair, do risco total, o risco sistemático. O risco total pode ser expressado pela variância de todas as ações no portfólio, e para o risco sistemático nós podemos usar um índice que representa o mercado como um todo, como o próprio BOVA11. Dessa forma, o portfólio que só possui BOVA11 teria risco não-sistemático igual a 0, enquanto que o outro portfólio poderia ter risco não-sistemático negativo, o que suavizaria o seu risco total.

                          in reply to: Projeto #1: Dataset Fashion-Mnist (.csv) #38756
                          Denny Ceccon
                          Moderator

                            Olá Alan,

                            Geralmente basta converter a imagem para um array (função numpy.array). Dependendo da biblioteca que você use para ler a imagem, até já tem um método to_array() implementado que converte a imagem para um array bi ou tridimensional. Para linearizar o array, basta chamar o método ravel no objeto do tipo numpy array.

                            in reply to: Validação cruzada em imagens #38667
                            Denny Ceccon
                            Moderator

                              É isso mesmo, a implementação não deve ser difícil. Cheque a documentação do StratifiedKFold para gerar índices e, se ainda não conhecer, pesquisa como listar e mover arquivos com o Python.

                              in reply to: Validação cruzada em imagens #38665
                              Denny Ceccon
                              Moderator

                                Olá Renato,

                                Acho que você não vai encontrar nada pronto neste sentido, mas você pode implementar uma pipeline que gera índices para a validação cruzada e depois move os arquivos correspondentes para pastas de treinamento e teste. Esta seria uma solução que eu tentaria implementar.

                                in reply to: Como concatenar variáveis? #38480
                                Denny Ceccon
                                Moderator

                                  Olá Lindomar,

                                  Dá uma olhada na documentação da função print: https://docs.python.org/3/library/functions.html#print

                                  Você pode passar o parâmetro sep='' para não colocar espaço entre as strings.

                                Viewing 15 posts - 241 through 255 (of 404 total)