Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
river — Biblioteca de aprendizado de máquina em streaming para aprendizado incremental em fluxos de dados, fornecendo estimadores online, detecção de drift e anomalias, pipelines, métricas e conjuntos de dados integrados para Python. | Kitploit
Ferramentas/GitHubGitHub/online-ml/river
Utilitários e FrameworksAprendizado de MáquinaDetecção de Anomalias
GitHubonline-ml/river

river

Biblioteca de aprendizado de máquina em streaming para aprendizado incremental em fluxos de dados, fornecendo estimadores online, detecção de drift e anomalias, pipelines, métricas e conjuntos de dados integrados para Python.

Ver RepositórioSite
5.9k657há 2 diasRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

river_logo

code-quality documentation pypi pepy mypy bsd_3_license discord


River é uma biblioteca Python para aprendizado de máquina online. O objetivo é ser a biblioteca mais amigável para fazer aprendizado de máquina em dados em streaming. River é o resultado da fusão entre creme e scikit-multiflow.

⚡️ Início rápido

Como exemplo rápido, vamos treinar uma regressão logística para classificar o conjunto de dados de phishing de websites. Aqui está uma amostra da primeira observação do conjunto de dados.

root@kitploit:~
>>> from pprint import pprint
>>> from river import datasets

>>> dataset = datasets.Phishing()

>>> for x, y in dataset:
...     pprint(x)
...     print(y)
...     break
{'age_of_domain': 1,
 'anchor_from_other_domain': 0.0,
 'empty_server_form_handler': 0.0,
 'https': 0.0,
 'ip_in_url': 1,
 'is_popular': 0.5,
 'long_url': 1.0,
 'popup_window': 0.0,
 'request_from_other_domain': 0.0}
True

Agora vamos executar o modelo no conjunto de dados de forma contínua (streaming). Intercalamos sequencialmente previsões e atualizações do modelo. Enquanto isso, atualizamos uma métrica de desempenho para ver como o modelo está se saindo.

root@kitploit:~
>>> from river import compose
>>> from river import linear_model
>>> from river import metrics
>>> from river import preprocessing

>>> model = compose.Pipeline(
...     preprocessing.StandardScaler(),
...     linear_model.LogisticRegression()
... )

>>> metric = metrics.Accuracy()

>>> for x, y in dataset:
...     y_pred = model.predict_one(x)      # make a prediction
...     metric.update(y, y_pred)           # update the metric
...     model.learn_one(x, y)              # make the model learn

>>> metric
Accuracy: 89.28%

Claro, isso é apenas um exemplo ilustrativo. Convidamos você a conferir a seção de introdução da documentação para um tutorial mais completo.

🛠 Instalação

O River foi feito para funcionar com Python 3.11 e superior. A instalação pode ser feita com o pip:

root@kitploit:~
pip install river

Existem pacotes wheel disponíveis para Linux, MacOS e Windows. Isso significa que, muito provavelmente, você não precisará compilar o River a partir do código-fonte.

A interface online principal do River (learn_one / predict_one) não tem dependência de pandas. A interface de mini-lote (learn_many, predict_many, predict_proba_many, transform_many) é construída sobre pandas e é opcional:

root@kitploit:~
pip install "river[pandas]"

Você pode instalar a versão de desenvolvimento mais recente do GitHub da seguinte forma:

root@kitploit:~
pip install git+https://github.com/online-ml/river --upgrade
pip install git+ssh://[email protected]/online-ml/river.git --upgrade  # using SSH

Esse método requer que o Cython e o Rust estejam instalados na sua máquina.

🔮 Recursos

O River fornece implementações online das seguintes famílias de algoritmos:

  • Modelos lineares, com uma ampla gama de otimizadores
  • Árvores de decisão e florestas aleatórias
  • Vizinhos mais próximos (aproximados)
  • Detecção de anomalias
  • Detecção de deriva
  • Sistemas de recomendação
  • Previsão de séries temporais
  • Bandits
  • Máquinas de fatoração
  • Aprendizado desbalanceado
  • Agrupamento
  • Bagging/boosting/stacking
  • Aprendizado ativo

O River também oferece outros utilitários online:

  • Extração e seleção de características
  • Estatísticas e métricas online
  • Pré-processamento
  • Conjuntos de dados integrados
  • Validação progressiva de modelos
  • Pipelines de modelos

Confira a API para uma visão geral abrangente.

🤔 Devo usar o River?

Você deve se perguntar se precisa de aprendizado de máquina online. A resposta provavelmente é não. Na maioria das vezes, o aprendizado em lote é suficiente. Uma abordagem online pode ser adequada se:

  • Você quer um modelo que possa aprender com novos dados sem precisar revisitar dados passados.
  • Você quer um modelo que seja robusto a deriva de conceito.
  • Você quer desenvolver seu modelo de uma forma mais próxima do que ocorre em um contexto de produção, que geralmente é baseado em eventos.

Algumas especificidades do River são:

  • Ele foca em clareza e experiência do usuário, mais do que em desempenho.
  • É muito rápido ao processar uma amostra por vez. Experimente, você verá.
  • Ele se integra bem com o restante do ecossistema Python.

🔗 Links úteis

  • Documentação
  • Lançamentos de pacotes
  • awesome-online-machine-learning
  • Apresentação de 2022 no GAIA
  • Clustering Online: Algoritmos, Avaliação, Métricas, Aplicações e Benchmarking de KDD'22.

👐 Contribuindo

Sinta-se à vontade para contribuir da forma que preferir; estamos sempre abertos a novas ideias e abordagens.

  • Abra uma discussão se você tiver qualquer dúvida ou pergunta. É mais útil fazer sua pergunta publicamente do que nos enviar um e-mail particular. Também é recomendado abrir uma discussão antes de contribuir, para que todos estejam alinhados e trabalhos desnecessários sejam evitados.
  • Sinta-se à vontade para abrir uma issue se você achar que encontrou um bug ou um problema de desempenho.
  • Nosso roadmap é público. Sinta-se à vontade para trabalhar em qualquer coisa que lhe chame a atenção ou para fazer sugestões.

Por favor, consulte as diretrizes de contribuição se quiser fazer modificações no código.

🤝 Afiliações

affiliations

💬 Citação

Se o River foi útil para você e você gostaria de citá-lo em uma publicação científica, consulte o artigo publicado no JMLR:

root@kitploit:~
@article{montiel2021river,
  title={River: machine learning for streaming data in Python},
  author={Montiel, Jacob and Halford, Max and Mastelini, Saulo Martiello
          and Bolmier, Geoffrey and Sourty, Raphael and Vaysse, Robin and Zouitine, Adil
          and Gomes, Heitor Murilo and Read, Jesse and Abdessalem, Talel and others},
  year={2021}
}

📝 Licença

River é um software livre e de código aberto licenciado sob a licença BSD de 3 cláusulas.

Baixar ferramenta