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

Curriculum Data Scientist: Consigli CV | Italiano

Ottobre 20, 2019

Portfolio data scientist? Come realizzarne uno | Consigli Italiano

Ottobre 19, 2020
come-diventare-data-scientist-machine-leanring-data-science-italia-guida

Come diventare Data Scientist: errori da evitare

Ottobre 29, 2020

2 Comments

  • Udacity, Intro to TensorFlow for deep Learning | Corso Gratuito - Machine Learning & Data Science Blog Gennaio 15, 2020 at 20:05

    […] API, è presente una API chiamata TF.Learn compatibile con Scikit-Learn […]

    Reply
  • Exploratory Data Analysis | Guida in italiano - Machine Learning & Data Science Blog Gennaio 22, 2020 at 10:45

    […] di passare al codice, con la libreria di Scikit-Learn, è bene comprendere le trappe fondamentali dell’Exploratory Data […]

    Reply
  • Please Post Your Comments & Reviews
    Annulla risposta

    Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

    Next Post
    Previous Post

    Una pubblicità che non vedi se usi AdBlock

    EXPAND YOUR KNOWLEDGE

    • Blockchain

      Patricia Merkle Trie

      Maggio 30, 2023
    • Artistic representation of a tree Blockchain

      Tree Data Structure: cos’è un Merkle Tree

      Maggio 26, 2023
    • Cover image for Bitcoin UTXO explanation post Blockchain

      UTXO: come funziona il modello Unspent Transaction Outputs

      Maggio 23, 2023
    • Blockchain

      Cos’è Ethereum

      Maggio 15, 2023
    • 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

    Quello che Google pensa ti possa piacere

    Prodotti che i Cookie dicono potresti trovare interessanti

    AI Blog - © 2019-2021 Andrea Provino