modleR
modleR copied to clipboard
Lista de características para implementar
- [x] metadados da rodada: um resumo da informação de cada rodada (sp, n, desenho, nback)
- [x] testes de que os metadados condizem com o que acaba de ser pedido
- [x] projeções (issue #8)
- [x] filtro ambiental -com distância euclideana
- [ ] ~filtro geográfico com
spthin()~ - [x] filtro geográfico com geo_filt() do diogo
- [x] plot do dataset opcional - voltar a guardar sdmdata.txt
- [x] separar a geração do dataset da modelagem
- [x] voltar às outras maneiras de fazer final_model() mas com condições
- [x] idem ensemble - mean, max, min.
- [x] implementar diferentes desenhos (issue #6)
- [x] parametros variáveis entre espécies
- [x] revisão geral dos métodos de avaliação, final, ensemble ¬¬ !
- [x] distância euclideana
- [x] tamanho do pacote
- [x] exemplo do buffer está muito demorado
- [x] documentar o ellipse
(...)
- [x] brt
Novembro - dezembro 2019
- [x] final_model tem que criar a tabela com os valores médios dos algoritmos criar metadados em cada fase do workflow
- [X] do_any metadados
- [x] final metadados
- [x] ensemble metadados
Documentacao
- [x] documentar a criação da nova tabela (eval_mod)
- [x] e a formatação de th_table/evaluate. Fscore, Jaccard.
- [x] idem na software note
Buffer
- [x] env_dist_min implementado
- [x] nos tests: se a pessoa não botar buffer_type a função tem que funcionar (resolvi com um “none” tosco)
- [x] se a pessoa não indicar distancia maxima nem minima na hora de botar env_dist tem que dar erro
- [x] se ambas sao pedidas a distancia maxima tem que ser maior à distancia mínima
- [x] decidir se max_env_dist sai ou se a gente testa e decide depois SAI
- [x] se a pessoa só quer uma das duas distancias a função TEM que funcionar. (mas isto é assumindo que a gente vai manter max_env_dist)
- [x] se a pessoa bota as duas distâncias NAO tá funcionando BEM porque os valores da distancia euclidiana são muito loucos mas muito. o problema atual está aqui https://rpubs.com/andreasancheztapia/551901 a distancia euclidiana tem uma distribuição tão maluca que aplicar um limiar (sob forma de quantil) tipo 0.5 para a distância máxima e 0.05 para a distância mínima ainda dá muito estranho e isto varia com a extensao/resolucao das camadas explicativas (o numero de pixeis afinal). Uma distância máxima arbitrária (sob forma de x desvios padrão, ou de algum quantil mesmo) vai ser necessária antes de aplicar estes quantis. inclusive se a gente deixar só min_dist, o 5% mais próximo ambientalmente (removido) pode ser qualquer coisa, e pode ser muito grande
- [x] editar no software note
- [x] o parâmetro max_env_dist ainda serve para botar uma distância máxima
- [x] atualizar a figura de buffer_table.pdf só quando a gente tiver decidido
FINAL
- [x] tirar a selecao e a ponderacao
- [x] os parametros estao confusos - sobre tudo aquele que pode ser numérico cut_level, se confunde com o outro (sel_par?)
- [x] renomeei cut_level para mean_th_par, mantive o mesmo threshold o que corta os raw_mean e o que cria os binários (segunda coluna da figura)
- [x] documentar
- [x] aquela opcao de cut_level ser numérico tinha que ir embora.
- [x] cut_mean deve sair #polêmica ele se parece tanto a cut_mean_th mas com uns thresholds meio difusos…. se bobear é até igual ¬¬ vou checar isso
- [x] atualizar a figura de final model :grimacing:
- [x] 191124 tirei cut_mean mesmo e acabei falando o seguinte: a partir dos
raw_mean, pode-se fazer uma estratégia de mean first, cut later, que é a sequenciaraw_mean-> pegar a media do threshold -> cortar -> recuperar ou não. ou uma estratégia de cut first (aí gera os binários) mean later (aí gera os consensos, ou um consenso) e fecha. daí a figura (figuraaaaaaaa :party_parrot:) ficaria só com duas colunas- do raw para abaixo, e do raw para o binario e daí para abaixo
ensemble
- [x] ler a tabela das estatísticas médias
- [x] deve ter um jeito de selecionar o melhor algoritmo de acordo com alguma métrica uma opção “best” uma opção “métrica” Só ficou best por uma métrica enquanto
- [x] implementar PCA (é basicamente pegar todos os final, fazer um PCA, extrair o primeiro eixo -> to editando aqui bestamente nao importa nao termos este histórico
- [x] quais consensos fora uma média (ponderada ou não) implementar?
- [ ] marmion…
- acabou sendo “best”, “average”, “weighted_average”, “median”, “pca” e um “frequency”, “consensus” .(que é a média dos binários, um consenso mesmo
- [ ] está faltando uma seleção por performance metric (booleano?)
- [x] está com muito código repetido, comentado
- [x] está com parametros demais (velhos) tirar
- [x] não está devolvendo um stack mas só fazendo um por vez- dá até para deixar assim, na real, mas não é o que fazemos u_u. tipo a pessoa sempre pôde usar c("metodo2", "metodo4") ou qualquer vetor de nomes que preferisse.
- [x] vignette atualizada
- [ ] 191126: AVALIAR ESTES ENSEMBLES. ler sdmdata. rodar evaluate, threshold para cada particao gerar as mesmas tabelas:facepalm:
sobre parametrizaçao e uso do HD - a gente sempre faz opcional a escrita de alguns outputs. todos os pngs são opcionais (plot_sdmdata, write_png, write_final, write_ensemble (+ write_map + write_occs) às vezes os rasters - write_buffer, write_bin_cut. os rasters dos raw, final e ensemble não são opcionais. Acho que a gente deveria usar write_png para todos ou png_sdmdata, png_any, png_final, png_ensemble. write sempre me causa a confusão de estarmos escrevendo os modelosem tif no disco. então:
- [x] png_sdmdata, png_partitions, png_final, png_ensemble
TESTES
- [x] projeção do_any
- [x] final_model de projecao
- [x] ensemble de projecao
- [ ] testar de fato todos os parâmetros
- [x] tipos de buffer e suas combinações
- [ ] algoritmos - o que houve com rf e brt e equalize? issue #33
- [ ] thresholds - o que acontece se ele pega um NA?
- [x] parâmetros de final (para final inventei um test complicado que usa qualquer combinação das opções estava funcionando ¯_(ツ)_/¯ )
- [ ] o novo ensemble
Firulas not firulas
- [x] checks
- [x] Travis
- [ ] codecov
- [x] Remover maxent da vinheta (editar readme também :P)
- [x] Remover maxent de testthat e exemplos
- [x] remover glm também