Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
river — Biblioteca de aprendizaje automático en streaming para aprendizaje incremental sobre flujos de datos, que proporciona estimadores en línea, detección de deriva y anomalías, pipelines, métricas y conjuntos de datos integrados para Python. | Kitploit
Herramientas/GitHubGitHub/online-ml/river
Utilidades y FrameworksAprendizaje AutomáticoDetección de AnomalíasTop en Detección de Anomalías #10
GitHubonline-ml/river

river

Biblioteca de aprendizaje automático en streaming para aprendizaje incremental sobre flujos de datos, que proporciona estimadores en línea, detección de deriva y anomalías, pipelines, métricas y conjuntos de datos integrados para Python.

Ver Repositorio
6.1k83395hace 1 díaRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Sitio web

river_logo

code-quality documentation pypi pepy mypy bsd_3_license discord


River es una biblioteca de Python para el aprendizaje automático en línea. Su objetivo es ser la biblioteca más fácil de usar para hacer aprendizaje automático sobre datos en streaming. River es el resultado de la fusión entre creme y scikit-multiflow.

⚡️ Inicio rápido

Como ejemplo rápido, entrenaremos una regresión logística para clasificar el conjunto de datos de phishing de sitios web. Aquí hay un vistazo a la primera observación del conjunto de datos.

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

Ahora ejecutemos el modelo sobre el conjunto de datos de forma continua. Intercalamos secuencialmente las predicciones y las actualizaciones del modelo. Mientras tanto, actualizamos una métrica de rendimiento para ver qué tan bien lo está haciendo el modelo.

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

Por supuesto, esto es solo un ejemplo artificial. Te invitamos a consultar la sección de introducción de la documentación para un tutorial más completo.

🛠 Instalación

River está pensado para funcionar con Python 3.11 y superior. La instalación se puede realizar con pip:

pip install river

Hay ruedas disponibles para Linux, MacOS y Windows. Esto significa que lo más probable es que no tengas que compilar River desde el código fuente.

La interfaz en línea principal de River (learn_one / predict_one) no tiene dependencia de pandas. La interfaz de mini-lotes (learn_many, predict_many, predict_proba_many, transform_many) está construida sobre pandas y es opcional:

pip install "river[pandas]"

Puedes instalar la última versión de desarrollo desde GitHub así:

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

Este método requiere tener Cython y Rust instalados en tu máquina.

🔮 Características

River proporciona implementaciones en línea de las siguientes familias de algoritmos:

  • Modelos lineales, con una amplia variedad de optimizadores
  • Árboles de decisión y bosques aleatorios
  • Vecinos más cercanos (aproximados)
  • Detección de anomalías
  • Detección de deriva
  • Sistemas de recomendación
  • Predicción de series temporales
  • Bandits
  • Máquinas de factorización
  • Aprendizaje con datos desbalanceados
  • Clustering
  • Bagging/boosting/stacking
  • Aprendizaje activo

River también proporciona otras utilidades en línea:

  • Extracción y selección de características
  • Estadísticas y métricas en línea
  • Preprocesamiento
  • Conjuntos de datos integrados
  • Validación progresiva de modelos
  • Pipelines de modelos

Consulta la API para obtener una visión general completa

🤔 ¿Debería usar River?

Deberías preguntarte si necesitas aprendizaje automático en línea. Lo más probable es que la respuesta sea no. La mayoría de las veces el aprendizaje por lotes hace el trabajo perfectamente. Un enfoque en línea podría encajar si:

  • Quieres un modelo que pueda aprender de nuevos datos sin tener que revisar datos pasados.
  • Quieres un modelo que sea robusto frente al concept drift.
  • Quieres desarrollar tu modelo de una manera más cercana a lo que ocurre en un contexto de producción, que normalmente está basado en eventos.

Algunas particularidades de River son que:

  • Se centra en la claridad y la experiencia de usuario, más que en el rendimiento.
  • Es muy rápido procesando una muestra a la vez. Pruébalo y lo verás.
  • Se integra muy bien con el resto del ecosistema de Python.

🔗 Enlaces útiles

  • Documentación
  • Versiones del paquete
  • awesome-online-machine-learning
  • presentación de 2022 en GAIA
  • Online Clustering: Algorithms, Evaluation, Metrics, Applications and Benchmarking de KDD'22.

👐 Contribuir

Siéntete libre de contribuir de la forma que prefieras, siempre estamos abiertos a nuevas ideas y enfoques.

  • Abre una discusión si tienes cualquier pregunta o consulta. Es más útil hacer tu pregunta en público que enviarnos un correo privado. También se recomienda abrir una discusión antes de contribuir, para que todo el mundo esté alineado y se evite trabajo innecesario.
  • Siéntete libre de abrir un issue si crees que has encontrado un bug o un problema de rendimiento.
  • Nuestra hoja de ruta es pública. Siéntete libre de trabajar en cualquier cosa que te llame la atención, o de hacer sugerencias.

Consulta las pautas de contribución si quieres introducir modificaciones en el código base.

🤝 Afiliaciones

Descargar herramienta