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

Overplotting: cos’è e come porvi rimedio | Towards Data Science

Gennaio 7, 2019
anonymization-data-science-direct-vs-indirect-identifiers

Direct vs Indirect Identifiers

Settembre 28, 2020

Natural Language Processing in python | Log 9

Aprile 1, 2019
Next Post
Previous Post

Una pubblicità che non vedi se usi AdBlock

EXPAND YOUR KNOWLEDGE

  • fully-homomorphic-encryption-crittografia-completamente-omomorfica Privacy Preserving

    Cos’è la Crittografia Omomorfica | Homomorphic Encryption (HE)

    Marzo 4, 2021
  • data-science-for-finance-machine-learning-deep-learning-data-science-use-cases-use-cases Business, Data Science, machine-learning

    Data Science for Finance | Use Cases per il Data Scientist

    Febbraio 13, 2021
  • differential-privacy-example-privacy-differenziale-esempio-italiano-applicazioni-reali Business, Data Science, Privacy Preserving

    Differential Privacy Example | Esempi di privacy differenziale

    Febbraio 10, 2021
  • privacy-enhancing-technologies-techniques-machine-learning-data-science-pets-guida-italiano-spiegazione-semplice Business, Data Science, machine-learning, Privacy Preserving

    Cosa sono le Privacy-enhancing technologies o techniques (PETs)

    Febbraio 7, 2021
  • condivisione-dati-finance-fintech-problems-machine-learning-for-finance-data-science-deep-learning-case-study Business

    Problemi della condivisione dati in finanza | Finance data sharing problems

    Febbraio 4, 2021
  • finance-privacy-settore-finanziario-dati-privacy-enhancing-technologies-ai Business

    Il legame tra Privacy Dati AI nel settore finanziario

    Febbraio 1, 2021
  • rust-react-webassembly-privacy-preserving-machine-learning Logs

    Rust, WebAssembly, React e un MVP

    Dicembre 21, 2020
  • diffie-hellman-key-exchange-protocol-scambio-di-chiavi-diffie-hellman Data Science, Privacy Preserving

    Cos’è lo scambio di chiavi Diffie-Hellman (DH)? | Privacy Preserving

    Dicembre 15, 2020
  • principio-di-esattezza-data-science-machine-learning-gdpr-data-accuracy Data Science, GDPR Compliant

    GDPR: Principio di esattezza dei dati (Data Accuracy)

    Dicembre 12, 2020
  • tensorflow-extended-tfx-deploy-machine-learning-guide-machine-learning-pipelines machine-learning

    TFX: come funziona Tensorflow Extended?

    Dicembre 9, 2020

Quello che Google pensa ti possa piacere

Prodotti che i Cookie dicono potresti trovare interessanti

AI Blog - © 2019-2021 Andrea Provino