• 🏡 Home
  • 🚨 GDPR Compliant
  • ⚡️ Data Science
  • 📌 Machine Learning
  • 🔒 Privacy Preserving
  • 🏡 Home
  • 🚨 GDPR Compliant
  • ⚡️ Data Science
  • 📌 Machine Learning
  • 🔒 Privacy Preserving
machine-learning

Scikit-Learn Design Principles Guida | Data Science con Python

Scikit-Learn Design Principles Guida | Data Science con Python

Scikit-Learn è una popolare libreria open source che contiene efficienti funzioni che agevolano il lavoro da Data Scientist.

Esploriamo i design principles of Scikit-Learn!

Scikit-Learn Desgin Principles

Gli oggetti che ne costuiscono le API condividono dei principi di sviluppo comuni, la cui conoscenza è utile nello sviluppare progetti complessi e metodi custom.

Consistency

Tutti gli oggetti condividono una semplcie interfaccia. Troviamo:

  • Estimators (Stimatori), banalmente stimano il valore di un parametro a partire da un dato dataset. Ogni stimatore ha un metodo fit() che in ordine riceve features, labels, hyperamaters
  • Tranformers (Trasformatori), alcuni stimatori possono eseguire trasformazioni sul dataset. In questo caso il metodo è transform() benché tutti i trasformatori presentino anche il metodo fit_transform() più efficiente e meglio ottimizzato
  • Predictors (Predittori), alcuni stimatori sono in grado di effettuare previsioni attraverso il metodo predict(). I predittori hanno anche il metodo score() che misura la qualità delle previsioni create.

Inspection

Ogni stimatore rende accessibili i propri iper-parametri attraverso delle variabili di istanza pubblica (intese come accessibli all’esterno dell’oggetto). Distinguiamo quelli appresi (terminano con un underscore) da quelli impostati:

  • imputer.strategy (impostati)
  • imputer.statistics_ (appresi)

Nonproliferation of classes

Questo principio è meno evidente degli altri. Sostanzialmente Scikit-Learn è stata pensatata in modo da poter risultare compatibile con altre librerie.

Per questa ragione gli algoritmi di apprendimento (learning algortihms) sono gli unici oggetti rappresentati con classi custom. Ogni altro dato fa riferimento al type di un classico ambiente di data science:

  • NumPy arrays e SciPy arrays per il dataset
  • Strings o Numbers per gli iper-parametri.

Composition

Parola d’ordine modularità. L’obiettivo è evitare codice ridondante. Ecco quindi che blocchi di codice esistenti sono riutilizzati.

Questo principio tornerà particolarmente utile nella progettazione delle pipeline.

Sensible Defaults

La libreria provvede valori di default ragionevoli per la maggior parte dei parametri. In questo modo possiamo partire con un boost in più.

Se intendi approfondire, dai un occhiata qui.

Per questo post è tutto!

Prossimamente vedremo come creare una semplice funzione custom e perché sia tutile imparare a farlo!

Un caldo abbraccio, Andrea.

Written by Andrea Provino - Settembre 25, 2019
Tags | data science, data scientist, guida

You Might Also Like

non-iid-distribution-spiegazione-italiano-non-indipendentemente-distributi

Non-IID ness: Non-independently and identically distributed data

Giugno 7, 2020
anonimizzazione-perche-difficile-data-privacy-protection-guida-italiano

Anonimizzazione dati personali: perché è difficile?

Ottobre 9, 2020
self-taught-data-scientist-machine-learning-data-science-tips-data-scientist-salary-how-to-become-google-blog-data-science-machine-learning-deep-learning

Self-Taught Data Scientist: consigli operativi

Novembre 3, 2019
Next Post
Previous Post

Una pubblicità che non vedi se usi AdBlock

EXPAND YOUR KNOWLEDGE

  • Blockchain Developer

    Circuito aritmetico

    Novembre 1, 2022
  • machine-learning

    Un nuovo inizio

    Settembre 4, 2021
  • Zero Knwoledge Proof Article Privacy Preserving

    Zero Knowledge Proof: zk-SNARK e zk-STARK | Prova a conoscenza zero

    Luglio 8, 2021
  • oblivious-transfer-spiegazione-italiano-ot-explanation Privacy Preserving

    Oblivious Transfer (OT)

    Luglio 6, 2021
  • Aleo Studio Website Preview machine-learning

    Aleo Studio: un IDE per Zero-Knowledge Proofs Applications

    Luglio 1, 2021
  • privacy-enhancing-technologies-data-machine-learning-data-science Privacy Preserving

    Perché il Privacy Tech è un vantaggio competitivo micidiale

    Giugno 17, 2021
  • bloom-filter-spiegazione-italian Privacy Preserving

    Bloom Filter

    Giugno 3, 2021
  • trusted-execution-environment-tee-data-science-come-fuziona Data Science, Privacy Preserving

    Trusted Execution Environment | Cos’è un TEE?

    Giugno 2, 2021
  • Crypto Custody services machine-learning

    Crypto Custody: Guida alla custodia delle criptomonete

    Maggio 26, 2021
  • deep-q-learning-q-learning-reinforcement-learning machine-learning

    Deep Q-Learning

    Aprile 27, 2021

Quello che Google pensa ti possa piacere

Prodotti che i Cookie dicono potresti trovare interessanti

AI Blog - © 2019-2021 Andrea Provino