Respostas no Fórum
- AutorPosts
- 2 de agosto de 2022 às 16:00 em resposta a: Dúvida sobre a aula de Vetor Ordenado Implementação #36230
Oi Pietro,
- Pode pensar nos vetores como uma série de números que se sucedem linearmente. O Python possui um objeto chamado lista que, no fundo, é um vetor, mas sendo um objeto declarado programaticamente, a lista possui métodos e propriedades úteis para manipular vetores. Vetor é uma abstração, mas a lista do Python é um objeto concreto desta abstração. É mais ou menos como comparar o conceito carro (abstração) com um objeto carro (concreto). Listas/vetores são uma das inúmeras formas para armazenar dados, conforme você se aprofundar nos estudos vai perceber sua utilidade.
- Numpy é uma biblioteca do Python usada para criar objetos “especiais”, que não existem no Python nativo. No caso, o Numpy é útil para criar vetores e matrizes.
- Digamos que a “abstração” do objeto numpy.empty é uma lista de listas, mas o objeto concreto é mais complexo que isso, por isso precisamos usar métodos diferentes. Um objeto do tipo numpy não possui o método insert, por exemplo, logo sua manipulação deve ser feita de forma diferente.
Oi Gustavo,
Tente colocar as datas como índice no dataframe com as previsões:
index=pd.date_range( serie_temporal.index[-1] # pega a última data disponível em serie_temporal + pd.Timedelta('1D'), # adiciona 1 dia porque estamos fazendo a previsão a partir do dia seguinte periods=100) # faz o intervalo de datas até 100 dias no futuro ) previsoes = pd.DataFrame(modelo.predict(n_periods = 100), index=index)
Aí é só plotar os dois dataframes no mesmo gráfico:
fig.plot(serie_temporal, label='Dados históricos') fig.plot(previsoes , label = 'Previsões')
- Esta resposta foi modificada 2 anos, 8 meses atrás por
Denny Ceccon.
Olá Caio,
Com 20 colunas realmente não se justifica, mas se tivermos muitas colunas, a redução torna os dados mais manuseáveis em termos de custo computacional. Além disso, existem as chamadas matrizes esparsas onde somente algumas colunas têm valores e o restante é igual a 0, aí a representação em um espaço com menos dimensões é de enorme ajuda no ajuste no modelo.
Olá Guilherme,
O ganho de informação é uma propriedade das variáveis, não das classes, que são a própria informação que as variáveis estão tentando “ganhar”, por isso o coeficiente é definido somente para as variáveis.
Olá Gabriel,
Veja que a função
calculaSaida
recebe uma variável chamadaregistro
, e logo na sua primeira linha, ela chama o métododot
deregistro
. Acontece quedot
é um método de numpy arrays, masentradas[i]
é originalmente uma lista, então temos que convertê-la para numpy array para que a função funcione.Olá Alexandre,
Existe sim, encontrei várias implementações pesquisando no Google mesmo, veja algumas:
https://jaketae.github.io/study/genetic-algorithm/
https://medium.com/thecyphy/travelling-salesman-problem-using-genetic-algorithm-130ab957f165
https://www.crowdatascience.com/travelling-salesman-problem-in-r-with-location-data/
Olá Marcio,
Existem algumas bibliotecas que permitem instanciar callbacks, que são códigos que rodam em momentos pré-definidos da execução, como por exemplo no final de cada época. Para exibir os pesos, você poderia usar um callback customizado. A biblioteca scikit-learn, infelizmente, não oferece esta opção, mas com o Keras é possível, veja a documentação: https://keras.io/api/callbacks/
Olá Lucas,
É que o scaler recebe objetos no formato
(n_instancias, n_variaveis)
, então mesmo quando só tem uma instância, ela deve ser apresentada como um array bidimensional(1, n_variaveis)
.Olá Pericles,
Isto acontece porque, em algum momento do seu código, o valor de
message
é um número do tipo float, aí a comprehension não funciona poismessage
deve ser um iterável, ou seja, algo capaz de ser utilizado em um loop do tipo for. Para evitar isso, converte antes a colunaReview Text
para string, pois toda string é iterável.Olá Koki,
Na verdade não, é que os outros registros não foram classificados errado (ou seja, o erro é igual a 0), mas o correto é usar todos os registros na atualização.
Olá Daniel,
Certamente que ajustar os hiperparâmetros pode melhorar o modelo (este processo é chamado de otimização dos hiperparâmetros), mas a melhoria não costuma ser muito significativa, dificilmente você vai sair de 75% para 90% só com isso, por exemplo.
Muitos problemas se beneficiam de dados sintéticos, mas você deve imaginar como é difícil gerar dados sintéticos para texto, acredito que isso hoje só seja possível utilizando outra inteligência artificial. No meu trabalho, por exemplo, um colega usou o modelo GPT-3 para gerar dados para treinar, com resultados bem satisfatórios.
Por último, é difícil se manter atualizado sobre bases de dados quando a gente não trabalha diretamente com isso, então minha recomendação seria a mesma que eu faria: pesquisar no Google. 🙂
Acho que é porque você precisa rodar a parte do código onde plota o gráfico tudo de uma vez, porque os elementos do gráfico são adicionados um a um, e se você interromper o código no meio, só vai plotar a metade das informações.
Roda desde a linha
pcolor(som.distance_map().T)
até o final em uma única célula.É isso mesmo Marcos. Quando a gente atualiza uma variável, tem que tomar cuidado para criar ela de volta se quiser reexecutar alguma parte do código.
Marcos, eu desconfio que isto está acontecendo porque o resultado do método
fit_transform
já é um array.Tenta simplesmente retirar o método
toarray()
do final da chamada do código.Você tentou reexecutar o código original da aula?
- AutorPosts