Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
river — Libreria di machine learning in streaming per l'apprendimento incrementale su flussi di dati, con stimatori online, rilevamento di drift e anomalie, pipeline, metriche e dataset integrati per Python. | Kitploit
Strumenti/GitHubGitHub/online-ml/river
Utilità e FrameworkMachine LearningRilevamento di AnomalieTop in Rilevamento di Anomalie n.10
GitHubonline-ml/river

river

Libreria di machine learning in streaming per l'apprendimento incrementale su flussi di dati, con stimatori online, rilevamento di drift e anomalie, pipeline, metriche e dataset integrati per Python.

Vedi Repository
6.1k831749h 19m faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sito web

river_logo

code-quality documentation pypi pepy mypy bsd_3_license discord


River è una libreria Python per machine learning online. Il suo obiettivo è essere la libreria più user-friendly per fare machine learning su dati in streaming. River è il risultato di una fusione tra creme e scikit-multiflow.

⚡️ Avvio rapido

Come rapido esempio, addestreremo una regressione logistica per classificare il dataset di phishing dei siti web. Ecco uno sguardo alla prima osservazione del dataset.

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

Ora eseguiamo il modello sul dataset in modalità streaming. Intervalliamo in sequenza le predizioni e gli aggiornamenti del modello. Nel frattempo, aggiorniamo una metrica di performance per vedere quanto bene sta andando il modello.

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

Ovviamente, questo è solo un esempio fittizio. Ti invitiamo a consultare la sezione introduzione della documentazione per un tutorial più approfondito.

🛠 Installazione

River è pensato per funzionare con Python 3.11 e versioni successive. L'installazione può essere effettuata con pip:

pip install river

Sono disponibili wheel per Linux, macOS e Windows. Questo significa che molto probabilmente non dovrai compilare River dal sorgente.

L'interfaccia online principale di River (learn_one / predict_one) non ha dipendenze da pandas. L'interfaccia mini-batch (learn_many, predict_many, predict_proba_many, transform_many) è basata su pandas ed è opzionale:

pip install "river[pandas]"

Puoi installare l'ultima versione di sviluppo da GitHub in questo modo:

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

Questo metodo richiede che Cython e Rust siano installati sulla tua macchina.

🔮 Funzionalità

River fornisce implementazioni online delle seguenti famiglie di algoritmi:

  • Modelli lineari, con un'ampia gamma di ottimizzatori
  • Alberi decisionali e random forest
  • Vicini più prossimi (approssimati)
  • Rilevamento di anomalie
  • Rilevamento del drift
  • Sistemi di raccomandazione
  • Previsione di serie temporali
  • Bandits
  • Macchine a fattorizzazione
  • Apprendimento su dati sbilanciati
  • Clustering
  • Bagging/boosting/stacking
  • Apprendimento attivo

River offre anche altre utility online:

  • Estrazione e selezione delle feature
  • Statistiche e metriche online
  • Preprocessing
  • Dataset integrati
  • Validazione progressiva dei modelli
  • Pipeline di modelli

Dai un'occhiata alle API per una panoramica completa

🤔 Dovrei usare River?

Devi chiederti se ti serve il machine learning online. La risposta è probabilmente no. Nella maggior parte dei casi l'apprendimento batch fa perfettamente al caso tuo. Un approccio online potrebbe essere adatto se:

  • Vuoi un modello che possa imparare da nuovi dati senza dover rielaborare i dati passati.
  • Vuoi un modello robusto al concept drift.
  • Vuoi sviluppare il tuo modello in un modo più vicino a ciò che accade in un contesto di produzione, che di solito è basato su eventi.

Alcune specificità di River sono:

  • Punta sulla chiarezza e sull'esperienza utente, più che sulle prestazioni.
  • È molto veloce nell'elaborare un campione alla volta. Provalo, vedrai.
  • Si integra bene con il resto dell'ecosistema Python.

🔗 Link utili

  • Documentazione
  • Rilasci del pacchetto
  • awesome-online-machine-learning
  • Presentazione del 2022 al GAIA
  • Online Clustering: Algorithms, Evaluation, Metrics, Applications and Benchmarking from KDD'22.

👐 Contributi

Sentiti libero di contribuire come preferisci, siamo sempre aperti a nuove idee e approcci.

  • Apri una discussione se hai qualsiasi domanda o richiesta. È più utile porre la tua domanda in pubblico piuttosto che inviarci un'email privata. È inoltre consigliato aprire una discussione prima di contribuire, così tutti sono allineati e si evita lavoro non necessario.
  • Sentiti libero di aprire una issue se pensi di aver individuato un bug o un problema di prestazioni.
  • La nostra roadmap è pubblica. Sentiti libero di lavorare su qualsiasi cosa attiri la tua attenzione, o di fare suggerimenti.

Dai un'occhiata alle linee guida per i contributi se vuoi apportare modifiche al codice.

🤝 Affiliazioni

affiliations

💬 Citazione

Scarica lo strumento