# Applicazioni pratiche di machine learning/Riconoscimento della scrittura a mano

Applicazioni pratiche di machine learning
Copertina Tutti i moduli · Sviluppo
* Applicazioni pratiche di machine learningApplicazioni pratiche di machine learning
** Previsioni su scommesse sportiveApplicazioni pratiche di machine learning/Previsioni su scommesse sportive
** Previsioni su azioni, criptovalute, derivatiApplicazioni pratiche di machine learning/Previsioni su azioni, criptovalute, derivati
** Trovare lavoroApplicazioni pratiche di machine learning/Trovare lavoro
** Previsioni sul cambiamento climaticoApplicazioni pratiche di machine learning/Previsioni sul cambiamento climatico
** Previsioni sul livello del mareApplicazioni pratiche di machine learning/Previsioni sul livello del mare
** Previsioni sulle produzioni agricoleApplicazioni pratiche di machine learning/Previsioni sulle produzioni agricole
** Riconoscimento della scrittura a manoApplicazioni pratiche di machine learning/Riconoscimento della scrittura a mano
** Previsioni sugli incendiApplicazioni pratiche di machine learning/Previsioni sugli incendi
** Diagnosi di malattieApplicazioni pratiche di machine learning/Diagnosi di malattie
** Diagnosi di malattie mentaliApplicazioni pratiche di machine learning/Diagnosi di malattie mentali
** Identificazione delle pulsarApplicazioni pratiche di machine learning/Identificazione delle pulsar
** Identificazione dei social botApplicazioni pratiche di machine learning/Identificazione dei social bot
** Approvazione carte di creditoApplicazioni pratiche di machine learning/Approvazione carte di credito
** Previsione di reatiApplicazioni pratiche di machine learning/Previsione di reati
** Concessione sussidiApplicazioni pratiche di machine learning/Concessione sussidi
** Previsione di vendite futureApplicazioni pratiche di machine learning/Previsione di vendite future
** Segmentazione dei clientiApplicazioni pratiche di machine learning/Segmentazione dei clienti
** Previsioni su direct mailApplicazioni pratiche di machine learning/Previsioni su direct mail
* Appendice
** Installazione di RApplicazioni pratiche di machine learning/Installazione di R
** Creare reports in RStudioApplicazioni pratiche di machine learning/Creare reports in RStudio
** Creare reports in JupyterApplicazioni pratiche di machine learning/Creare reports in Jupyter
** ChatGpt come data analyst o data scientistApplicazioni pratiche di machine learning/ChatGpt come data analyst o data scientist
Modifica il sommario

## Parte 1 : Dati

I seguenti files di dati train.csv e test.csv contengono immagini in scala di grigio di numeri disegnati a mano, da zero a nove.
Ogni immagine ha 28 pixel di altezza e 28 pixel di larghezza, per un totale di 784 pixel . Ogni pixel ha un singolo numero associato ad esso, che indica la luminosità o l'oscurità di quel pixel, dove i numeri più alti indicano colori più scuri. Questo numero intero è compreso tra 0 e 255 incluso.
Il training set di dati (train.csv) ha 785 colonne. La prima colonna, chiamata "label", è il numero disegnato dall'utente. Il resto delle colonne contiene i numeri di pixel dell'immagine associata.
Ogni colonna di pixel nel training set ha come nome “pixelx”, dove x è un numero intero compreso tra 0 e 783, incluso. Ad esempio, pixel31 indica il pixel che si trova nella quarta colonna da sinistra e la seconda riga dall'alto.
Il testing set , (test.csv), è uguale al training set , tranne per il fatto che non contiene la colonna "label", che dovrà essere prevista costruendo un modello di classificazione tramite un algoritmo di machine learning.
Caricamento dei dati:

## Parte 2: Domanda di ricerca

Si vuole predire quale numero da 0 a 9 corrisponde a ciascuna delle 28.000 righe del testing set, ognuna delle quali contiene 784 pixels rappresentati da 784 numeri compresi tra 0 e 255 incluso, relativi al numero scritto a mano dall'utente.

## Parte 3: Modellizzazione

Invece di riconoscere il numero tramite 784 pixels, si calcolano i "principal components" riducendo il numero di predictors da 784 a 20 . Con 20 principal components la varianza ottenuta è pari a circa il 60% come si vede dal seguente grafico :
Divido il training set in un 70% su cui costruisco il modello previsionale utilizzando l'algoritmo di machine learning Random Forest e in un rimanente 30% che chiamo validation set su cui testo il modello. Calcolo poi la confusion matrix sia sul training set. che sul validation set che mi danno rispettivamente un' Accuracy quasi del 100% sul training set, e un'Accuracy del 91% sul validation set . Tutto ciò soltanto con 20 principal components invece di 784 predictors.

## Parte 4: Previsione

Utilizzo infine il modello precedentemente creato per riconoscere i numeri scritti a mano sul testing set: