Git Product home page Git Product logo

ml00's Introduction

Machine Learning: il corso pratico

Fai un passo verso il futuro: AI, Machine Learning e Data Science.

Sai cosa accomuna il successo dei più grandi colossi del web come Google, Amazon e Facebook ? L'utilizzo che hanno fatto del machine learning.

Il machine learning è la branca dell'intelligenza artificiale che ha lo scopo di insegnare ai computer ad apprendere autonomamente, senza essere esplicitamente programmati.

Il machine learning non è una novità, ma è finito sotto la luce dei riflettori solo con il nuovo millennio, per due motivi:

  • L'enorme quantità di dati oggi disponibile sul web.
  • Il progresso della tecnologia e il crescente aumento della potenza di calcolo.

Questi due fattori, uniti alle sue innumerevoli applicazioni commerciali, stanno contribuendo alla crescita vertiginosa del machine learning che sta trascinando con se l'intero campo dell'intelligenza artificiale.

Un approccio pratico al machine learning

In questo corso pratico imparerai come funziona il machine learning e come utilizzarlo in maniera pratica, utilizzando il linguaggio Python e librerie popolari come Scikit-learn, Pandas e PyPlot.

Vuoi dare una svolta alla tua carriera ?

L'esperto di machine learning è la professione del futuro e Linkedin lo conferma; secondo una loro recente ricerca il Machine Learning Engineer è la nuova figura più ricercata dalle aziende con un tasso di crescita di quasi il 1000% negli ultimi 5 anni ed è subito seguito dal Data Scientist.

Al termine di questo corso avrai acquisito l'esperienza pratica e le intuizioni teoriche necessarie per lanciare la tua carriera in entrambe queste due nuove professioni.

Vuoi fondare la tua startup nel campo dell'AI ?

Il valore totale del mercato dell'intelligenza artificiale nel 2016 era di 1.3 miliardi di dollari; secondo una ricerca di un'importante società di analisi americana il suo valore per il 2025 potrebbe superare il 60 miliardi.

L'AI è la next big thing e il machine learning ne è il cuore pulsante.

Seguendo questo corso otterrai una visione generale del machine learning e come questo si lega all'intelligenza artificiale e potrai utilizzare queste tue nuove conoscenze per dare vita al tuo business.

I contenuti del corso

Inizieremo il corso esplorando in breve il vasto campo dell'intelligenza artificiale, come il machine learning si inserisce al suo interno e come quest'ultimo è legato al data science. Costruiremo insieme il tuo ambiente di lavoro, in base alle tue personali esigenze e preferenze.

Subito dopo cominceremo a sporcarci le mani lavorando sul nostro primo dataset. Vedremo insieme le principali tecniche di data preprocessing e feature engineering, ovvero come ottimizzare e manipolare un dataset per renderlo un buon input per un algoritmo di machine learning.

Dopo aver appreso come lavorare con un dataset potremo iniziare a parlare di machine learning. Ti saranno presentati i due principali tipi di apprendimento:

  • Apprendimento supervisionato.

  • Apprendimento non supervisionato

Eseguiremo una regressione per stimare il valore di un'abitazione in base a diverse sue caratteristiche, come metratura, piani e numero di stanze, e studieremo brevemente i principali modelli per questo tipo di problema:

  • Regressione lineare semplice
  • Regressione polinomiale
  • Regressione multipla.

Affronteremo il problema di overfitting e come bias e varianza lo controllano, per contrastarlo studieremo i principali modelli di regressione regolarizzati:

  • Lasso
  • Ridge Regression
  • Elasticnet

Al termine di questa sezione avrai ottime basi di regressione e saprai come creare i tuoi modelli autonomamente, quindi potremo passare al secondo tipo di problema: la classificazione.

Eseguiremo la nostra prima classificazione, utilizzando un dataset contenente immagini di cifre scritte a mano (MNIST). cominceremo con un modello di classificazione lineare: la regressione logistica, vedendo come questa può essere utilizzata per classificare esempi tra due classi o classi multiple.

Proseguiremo osservando i limiti di modelli lineari e i vantaggi di un approccio non lineare, quindi vedremo i principali modelli di questa nuova categoria:

  • Alberi e foreste
  • Kernel SVM
  • Nearest neighbors
  • Reti neurali artificiali

A questo punto saprai già come costruire i tuoi modelli per i due principali problemi dell'apprendimento supervisionato: regressione e classificazione.

Concluderemo la sezione con tecniche di debugging e ottimizzazione per rendere i tuoi modelli robusti e velocizzare la fase di addestramento.

Infine passeremo alla seconda categoria di apprendimento: l'apprendimento non supervisionato.

Affronteremo il problema del clustering, ovvero come creare automaticamente dei gruppi di dati riconoscendo delle caratteristiche condivise all'interno del dataset; a questo scopo studieremo gli algoritmi di clustering più diffusi, sia in ambito accademico che industriale:

  • K-Means
  • Clustering Gerarchico
  • DBSCAN

Termineremo il corso con alcuni consigli su come proseguire, raccomandazioni su libri da leggere per approfondire la parte teorica e competizioni Kaggle a cui partecipare per affinare le skills pratiche.

ml00's People

Contributors

gotamo avatar guiz4rd avatar matteobertolino92 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

ml00's Issues

Sezione 8 lecture 5

Il dendogramma clusterizza erroneamente p5 e p6 invece di p4 e p5 alla prima iterazione

Sezione 6, Lecture 43

Il video finisce prima di vedere il risultato di accuracy utilizzando tutte le proprietà per il SVM

Sezione 3, Lecture 26

ciao,
seguendo il corso, una volta attivato a questo punto,
from sklearn.preprocessing import PolynomialFeatures polyfeats = PolynomialFeatures(degree = 2) X_train_poly = polyfeats.fit_transform(X_train) X_test_poly = polyfeats.transform(X_test)

mi dà tale errore
`ValueError Traceback (most recent call last)
in
1 from sklearn.preprocessing import PolynomialFeatures
2 polyfeats = PolynomialFeatures(degree = 2)
----> 3 X_train_poly = polyfeats.fit_transform(X_train)
4 X_test_poly = polyfeats.transform(X_test)

~\Anaconda3\lib\site-packages\sklearn\base.py in fit_transform(self, X, y, **fit_params)
551 if y is None:
552 # fit method of arity 1 (unsupervised transformation)
--> 553 return self.fit(X, **fit_params).transform(X)
554 else:
555 # fit method of arity 2 (supervised transformation)

~\Anaconda3\lib\site-packages\sklearn\preprocessing\data.py in fit(self, X, y)
1463 self : instance
1464 """
-> 1465 n_samples, n_features = check_array(X, accept_sparse=True).shape
1466 combinations = self._combinations(n_features, self.degree,
1467 self.interaction_only,

~\Anaconda3\lib\site-packages\sklearn\utils\validation.py in check_array(array, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, warn_on_dtype, estimator)
519 "Reshape your data either using array.reshape(-1, 1) if "
520 "your data has a single feature or array.reshape(1, -1) "
--> 521 "if it contains a single sample.".format(array))
522
523 # in the future np.flexible dtypes will be handled like object dtypes

ValueError: Expected 2D array, got 1D array instead:
array=[34.41 7.73 16.96 4.97 17.93 18.72 13.09 21.02 26.45 10.26 4.59 5.25
8.05 12.79 7.7 7.22 7.79 16.35 4.38 24.91 14.65 5.5 13.34 21.78
15.1 21.14 11.66 9.43 16.23 14.52 9.8 11.64 18.66 5.08 9.5 5.99
4.45 16.22 23.98 11.25 5.7 11.5 3.16 6.21 9.5 14.13 5.98 3.01
8.16 11.69 7.26 6.62 27.8 6.43 14.1 5.9 10.58 12.14 6.53 9.54
18.05 10.24 11.72 24.08 24.16 7.67 15.17 4.03 20.08 21.46 14.67 16.65
9.25 13.27 22.6 10.45 6.36 13.44 19.01 7.9 10.11 3.53 12.04 11.1
19.52 14.37 8.1 16.21 5.29 6.36 10.29 16.9 5.1 5.49 9.45 27.26
7.85 20.34 34.37 21.24 17.16 2.47 15.03 18.35 7.01 9.55 14.44 4.56
6.59 9.51 17.92 7.54 9.68 23.79 11.98 7.12 10.53 16.94 9.69 17.28
21.32 6.27 16.14 9.74 23.6 21.32 16.03 12.33 8.05 5.98 5.57 9.47
22.88 5.39 29.55 2.88 8.05 6.9 8.1 16.3 13.51 7.6 18.34 10.16
3.7 14.1 29.97 1.98 3.53 14.19 9.1 18.33 10.36 8.26 7.14 36.98
14.33 3.92 1.73 7.51 5.64 13.11 13. 21.45 12.12 6.58 7.18 15.55
23.34 18.46 4.73 9.59 10.19 15.94 9.67 22.98 9.52 7.83 17.11 11.28
9.97 7.39 13.65 3.13 15.17 2.94 4.5 14.81 3.76 12.93 10.27 13.98
17.21 10.42 2.98 10.4 16.59 4.82 16.74 5.29 7.53 7.79 13.27 13.44
12.86 14.79 11.41 14.98 6.86 4.84 13. 13.45 23.09 20.31 20.32 15.7
25.41 9.93 6.73 21.08 12.6 6.68 19.88 7.44 16.44 4.98 7.43 3.26
12.03 3.57 5.89 6.93 12.01 6.92 3.73 3.11 10.59 12.87 6.65 18.13
11.32 8.79 8.93 30.81 5.49 34.77 19.92 18.06 4.85 6.36 28.32 26.42
6.75 7.56 17.6 12.26 18.71 6.48 5.91 6.12 3.81 9.62 14.27 18.06
22.11 17.15 16.42 30.63 8.2 6.72 7.44 13.61 11.48 3.56 3.95 24.39
6.87 5.12 23.24 17.27 5.81 16.47 30.62 16.29 6.58 17.44 10.13 20.85
8.43 15.02 18.85 15.39 3.33 12.8 5.68 2.96 3.32 13.28 12.5 3.11
13.04 27.71 17.19 13.15 18.68 19.31 7.6 23.29 30.59 13.99 29.53 8.23
29.68 6.29 6.19 8.51 18.13 19.69 8.01 8.61 5.19 13.22 15.76 27.38
10.45 5.52 5.68 16.51 9.81 10.56 23.97 9.64 13.35 4.32 5.03 9.28
19.37 5.5 14.36 6.72 8.44 4.7 11.22 4.16 23.98 17.1 12.67 2.97
3.59 11.74 2.87 10.3 18.8 14.69].
Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.`

riusciresti a spiegarmi, grazie mille

Lezione 42, sezione 6

Ho un problema con la funzione "plot_bounds" di viz. Sebbene abbia installato il modulo e riesca a importarlo, quanto cerco di importare la funzione mi dà errore (ImportError: cannot import name 'plot_bounds')

Sezione 2, Lecture 13

Ciao,
eseguendo passo-passo tutte le istruzioni del video, quando eseguo la seguente:
X_sparse = enc.fit_transform(X)

ottengo il seguente errore:

/home/silvasonia/anaconda3/lib/python3.7/site-packages/sklearn/preprocessing/_encoders.py:368: FutureWarning: The handling of integer data will change in version 0.22. Currently, the categories are determined based on the range [0, max(values)], while in the future they will be determined based on the unique values. If you want the future behaviour and silence this warning, you can specify "categories='auto'". In case you used a LabelEncoder before this OneHotEncoder to convert the categories to integers, then you can now use the OneHotEncoder directly. warnings.warn(msg, FutureWarning) /home/silvasonia/anaconda3/lib/python3.7/site-packages/sklearn/preprocessing/_encoders.py:390: DeprecationWarning: The 'categorical_features' keyword is deprecated in version 0.20 and will be removed in 0.22. You can use the ColumnTransformer instead. "use the ColumnTransformer instead.", DeprecationWarning)

Ho fatto qualche errore durrante l'installazione?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.