Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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.

FeedsContatoPrivacidade© 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 AnomaliasTop em Detecção de Anomalias nº10
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ório
6.1k83174há 22h 7mRevisado 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
Site

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.

>>> 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.

>>> 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:

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:

pip install "river[pandas]"

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

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

Baixar ferramenta