{"id":3065,"date":"2024-01-11T11:17:41","date_gmt":"2024-01-11T10:17:41","guid":{"rendered":"https:\/\/www.gironi.it\/blog\/?p=3065"},"modified":"2026-07-14T14:46:45","modified_gmt":"2026-07-14T13:46:45","slug":"come-usare-gli-alberi-decisionali-per-classificare-i-dati","status":"publish","type":"post","link":"https:\/\/www.gironi.it\/blog\/come-usare-gli-alberi-decisionali-per-classificare-i-dati\/","title":{"rendered":"Come usare gli Alberi Decisionali per classificare i dati"},"content":{"rendered":"\n<div class=\"wp-block-group has-background\" style=\"background-color:#f5f7f9;margin-top:2.5rem;margin-bottom:2.5rem;padding-top:1.5rem;padding-right:1.5rem;padding-bottom:1.5rem;padding-left:1.5rem\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<p><strong>Di cosa parleremo<\/strong>:<\/p>\n<ul>\n<li><a href=\"#idea-generale\">L&#8217;idea generale<\/a><\/li>\n<li><a href=\"#gini\">Impurity e criteri di divisione<\/a><\/li>\n<li><a href=\"#r-esempio\">Un albero decisionale in R sui dati iris<\/a><\/li>\n<li><a href=\"#seo-esempio\">Un esempio SEO: prevedere le pagine in top 10<\/a><\/li>\n<li><a href=\"#accuratezza\">Valutare l&#8217;accuratezza<\/a><\/li>\n<li><a href=\"#overfitting\">Overfitting e potatura<\/a><\/li>\n<li><a href=\"#feature-importance\">Importanza delle variabili<\/a><\/li>\n<li><a href=\"#random-forest\">Dai singoli alberi alle foreste: la Random Forest<\/a><\/li>\n<li><a href=\"#faq\">FAQ<\/a><\/li>\n<\/ul>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Quando analizziamo un dataset con molte variabili e vogliamo prevedere una categoria \u2014 se un utente convertir\u00e0 o no, se una pagina andr\u00e0 in top 10, se una keyword \u00e8 ad alta o bassa competizione \u2014 il primo problema \u00e8 capire quali variabili contano davvero e come combinarle. <br> Gli <strong>alberi decisionali<\/strong> affrontano questo problema nel modo pi\u00f9 naturale che ci sia: una sequenza di domande s\u00ec\/no che, passo dopo passo, separano i dati in gruppi sempre pi\u00f9 omogenei.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"idea-generale\">L&#8217;idea generale<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Un albero decisionale \u00e8 una struttura che prende decisioni in sequenza. Ogni <strong>nodo<\/strong> interno dell&#8217;albero pone una domanda (per esempio: &#8220;la lunghezza del petalo \u00e8 maggiore di 2.45 cm?&#8221;), e in base alla risposta segue un ramo verso il nodo successivo. Si arriva cos\u00ec a una <strong>foglia<\/strong>, che assegna la classe di appartenenza.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La potenza dell&#8217;idea \u00e8 che il risultato \u00e8 <strong>intrinsecamente interpretabile<\/strong>: si pu\u00f2 capire perch\u00e9 l&#8217;albero ha preso una certa decisione, semplicemente seguendo il percorso dalle radici alla foglia. Nessuna scatola nera.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"gini\">Impurity e criteri di divisione<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Come decide l&#8217;albero quale domanda fare per prima? L&#8217;obiettivo \u00e8 trovare la divisione che separa i dati nel modo pi\u00f9 &#8220;pulito&#8221; possibile. Il concetto centrale \u00e8 l&#8217;<strong>impurit\u00e0<\/strong> (impurity): una suddivisione perfetta \u00e8 quella in cui tutti gli elementi di un gruppo appartengono alla stessa classe.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La misura pi\u00f9 comune \u00e8 l&#8217;<strong>indice di Gini<\/strong>. Per un nodo con \\( K \\) classi, dove \\( p_k \\) \u00e8 la proporzione di elementi della classe \\( k \\), si definisce:<\/p>\n\n\n\n\\( G = \\sum_{k=1}^{K} p_k (1 &#8211; p_k) \\\\ \\)\n\n\n\n<p class=\"wp-block-paragraph\">L&#8217;indice vale 0 quando il nodo \u00e8 puro (tutti gli elementi della stessa classe), e raggiunge il massimo quando le classi sono uniformemente distribuite. <br> L&#8217;albero prova tutte le possibili divisioni su tutte le variabili e sceglie quella che riduce di pi\u00f9 l&#8217;impurit\u00e0 media ponderata dei due nodi figli.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esistono anche altre misure, come l&#8217;<strong>entropia<\/strong> (usata per costruire alberi C4.5), ma l&#8217;idea \u00e8 la stessa: minimizzare l&#8217;incertezza.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"r-esempio\">Un albero decisionale in R sui dati iris<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Costruiamo un albero decisionale con R usando il dataset <code>iris<\/code>, che contiene 150 fiori con le misure di sepali e petali di tre specie. Il nostro obiettivo \u00e8 classificare la specie in base alle misure.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Prepariamo i dati:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>data(iris)\nlibrary(rpart)\n\nset.seed(123)\ntrain_idx &lt;- sample(1:nrow(iris), 0.8 * nrow(iris))\ntrain &lt;- iris[train_idx, ]\ntest  &lt;- iris[-train_idx, ]\n\ntree &lt;- rpart(Species ~ ., data = train, method = \"class\")<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Visualizziamo l&#8217;albero:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>library(rpart.plot)\nrpart.plot(tree, type = 2, extra = 104)<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1050\" height=\"675\" src=\"https:\/\/www.gironi.it\/blog\/wp-content\/uploads\/2026\/07\/alberi-decisionali-iris.png\" class=\"wp-image-4268\" alt=\"Albero decisionale: classificazione delle specie di iris\" srcset=\"https:\/\/www.gironi.it\/blog\/wp-content\/uploads\/2026\/07\/alberi-decisionali-iris.png 1050w, https:\/\/www.gironi.it\/blog\/wp-content\/uploads\/2026\/07\/alberi-decisionali-iris-300x193.png 300w, https:\/\/www.gironi.it\/blog\/wp-content\/uploads\/2026\/07\/alberi-decisionali-iris-1024x658.png 1024w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption class=\"wp-element-caption\">Albero decisionale: classificazione delle specie di iris<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">L&#8217;albero \u00e8 semplicissimo. Parte dalla radice con una domanda sulla lunghezza del petalo. Se \u00e8 minore di 2.45 cm, abbiamo la certezza che si tratta di <em>setosa<\/em> (tutti i 41 casi del training set finiscono l\u00ec). Se \u00e8 maggiore, entriamo nel ramo successivo, che separa <em>versicolor<\/em> da <em>virginica<\/em> basandosi ancora sulla lunghezza del petalo, questa volta con soglia 4.75 cm.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La cosa notevole \u00e8 che l&#8217;albero non ha usato affatto le misure dei sepali: le ha trovate irrilevanti per la classificazione, e le ha ignorate automaticamente. Questa \u00e8 una forma implicita di <strong>selezione delle variabili<\/strong>: l&#8217;albero sceglie da solo quali metriche contano, e in che ordine.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"seo-esempio\">Un esempio SEO: prevedere le pagine in top 10<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Iris va bene per capire il meccanismo, ma proviamo qualcosa di pi\u00f9 vicino al nostro lavoro quotidiano. Generiamo dati sintetici di 200 pagine web con metriche SEO reali \u2014 parole, leggibilit\u00e0, velocit\u00e0, backlink, immagini, keyword nel title, lunghezza della meta descrizione \u2014 e costruiamo un albero che preveda se una pagina arriver\u00e0 in top 10.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>set.seed(2026)\n\nn &lt;- 200\nword_count      &lt;- round(runif(n, 300, 3000))\nreadability     &lt;- round(runif(n, 20, 80), 1)\npage_speed_ms   &lt;- round(runif(n, 500, 8000))\nbacklinks       &lt;- round(runif(n, 0, 150))\nimages          &lt;- round(runif(n, 0, 20))\nkeyword_in_title &lt;- rbinom(n, 1, 0.35)\nmeta_desc_len   &lt;- round(runif(n, 0, 165))\n\n# target simulato: top_10 basato su combinazione di fattori\nscore &lt;- (\n  (backlinks &gt; 30) * 0.30 +\n  (keyword_in_title == 1) * 0.20 +\n  (readability &gt; 45 &amp; readability &lt; 70) * 0.15 +\n  (word_count &gt; 800 &amp; word_count &lt; 2200) * 0.15 +\n  (page_speed_ms &lt; 3000) * 0.10 +\n  (meta_desc_len &gt; 110 &amp; meta_desc_len &lt; 155) * 0.10\n)\nscore &lt;- score + rnorm(n, 0, 0.12)\ntop_10 &lt;- factor(ifelse(score &gt; 0.50, \"si\", \"no\"))\n\nseo_data &lt;- data.frame(word_count, readability, page_speed_ms,\n                       backlinks, images, keyword_in_title,\n                       meta_desc_len, top_10)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">La variabile target <code>top_10<\/code> \u00e8 stata costruita in modo che dipenda da tutti questi fattori, ciascuno con un peso diverso \u2014 i backlink sono i pi\u00f9 influenti, seguiti dalla presenza della keyword nel title, da una leggibilit\u00e0 nella fascia giusta, e cos\u00ec via. Aggiungiamo anche una componente casuale per simulare ci\u00f2 che non possiamo misurare.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Alleniamo l&#8217;albero:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>library(rpart)\ntrain_idx &lt;- sample(1:n, 0.7 * n)\ntree_seo &lt;- rpart(top_10 ~ ., data = seo_data[train_idx, ],\n                  method = \"class\", control = rpart.control(cp = 0.01))<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Visualizziamo l&#8217;albero risultante:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>library(rpart.plot)\nrpart.plot(tree_seo, type = 2, extra = 104)<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1125\" height=\"750\" src=\"https:\/\/www.gironi.it\/blog\/wp-content\/uploads\/2026\/07\/alberi-seo-albero.png\" class=\"wp-image-4274\" alt=\"Albero decisionale: previsione pagine in top 10\" srcset=\"https:\/\/www.gironi.it\/blog\/wp-content\/uploads\/2026\/07\/alberi-seo-albero.png 1125w, https:\/\/www.gironi.it\/blog\/wp-content\/uploads\/2026\/07\/alberi-seo-albero-300x200.png 300w, https:\/\/www.gironi.it\/blog\/wp-content\/uploads\/2026\/07\/alberi-seo-albero-1024x683.png 1024w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption class=\"wp-element-caption\">Albero decisionale: previsione pagine in top 10<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">L&#8217;albero ci dice qualcosa di molto interessante. La prima domanda \u2014 la variabile pi\u00f9 discriminante \u2014 riguarda i <strong>backlink<\/strong>: se sono pochi, la pagina difficilmente entra in top 10, indipendentemente dagli altri fattori. Solo le pagine con un numero sufficiente di backlink passano al ramo successivo, dove l&#8217;albero valuta la <strong>leggibilit\u00e0<\/strong> e la <strong>presenza della keyword nel title<\/strong>. \u00c8 esattamente il genere di gerarchia che ci aspetteremmo da un&#8217;analisi SEO seria: prima l&#8217;autorit\u00e0 (backlink), poi la qualit\u00e0 on-page.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La <strong>feature importance<\/strong> conferma questa gerarchia:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>tree_seo$variable.importance<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"600\" src=\"https:\/\/www.gironi.it\/blog\/wp-content\/uploads\/2026\/07\/alberi-seo-importance.png\" class=\"wp-image-4276\" alt=\"Importanza delle variabili SEO\" srcset=\"https:\/\/www.gironi.it\/blog\/wp-content\/uploads\/2026\/07\/alberi-seo-importance.png 975w, https:\/\/www.gironi.it\/blog\/wp-content\/uploads\/2026\/07\/alberi-seo-importance-300x185.png 300w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption class=\"wp-element-caption\">Importanza delle variabili SEO<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">I backlink dominano, come previsto. Poi vengono leggibilit\u00e0 e keyword nel title, mentre la velocit\u00e0 e la lunghezza della meta descrizione contribuiscono meno. L&#8217;albero non ha selezionato il numero di immagini come rilevante \u2014 nei nostri dati sintetici non lo era, e l&#8217;albero lo ha ignorato.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">n.b. Questi dati sono sintetici: in un progetto reale con dati reali, l&#8217;albero rivelerebbe la gerarchia effettiva delle variabili per il vostro specifico contesto. L&#8217;esempio serve a mostrare il tipo di risposta che si ottiene, non a stabilire verit\u00e0 universali.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Un&#8217;avvertenza importante<\/strong>: l&#8217;albero individua schemi ricorrenti nei dati osservati, non relazioni di causa-effetto. Una variabile pu\u00f2 risultare molto utile per prevedere il comportamento di una pagina senza esserne la causa diretta. Per esempio, se l&#8217;albero seleziona il CTR come variabile discriminante, non significa che aumentare il CTR far\u00e0 salire la pagina in top 10 \u2014 potrebbe essere che le pagine in top 10 tendono ad avere un CTR pi\u00f9 alto perch\u00e9 sono gi\u00e0 in top 10. L&#8217;albero ci dice cosa \u00e8 correlato, non cosa \u00e8 causale.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"accuratezza\">Valutare l&#8217;accuratezza<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Verifichiamo come si comporta sui dati di test:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pred &lt;- predict(tree, newdata = test, type = \"class\")\ntable(pred, test$Species)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">La tabella di contingenza (matrice di confusione) mostra quante predizioni sono corrette e quante no. L&#8217;accuratezza si calcola come:<\/p>\n\n\n\n\\( \\text{accuratezza} = \\frac{\\text{predizioni corrette}}{\\text{predizioni totali}} \\\\ \\)\n\n\n\n<p class=\"wp-block-paragraph\">Il nostro albero sbaglia pochissimo: \u00e8 un modello semplice e i dati iris sono ben separabili. Nel mondo reale, per\u00f2, le cose sono quasi sempre pi\u00f9 complesse.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"overfitting\">Overfitting e potatura<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Qui arriviamo al punto delicato. Un albero decisionale pu\u00f2 continuare a suddividersi finch\u00e9 ogni foglia contiene un solo elemento. In quel caso, l&#8217;accuratezza sul training set sar\u00e0 del 100%. Ma l&#8217;albero avr\u00e0 semplicemente <strong>memorizzato il dataset di addestramento<\/strong> invece di impararne le regolarit\u00e0.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Questo fenomeno si chiama <strong>overfitting<\/strong>: il modello si adatta troppo ai dati di addestramento, catturando rumore e dettagli specifici che non si ripresenteranno sui dati nuovi.<\/p>\n\n\n\n<div class=\"wp-block-group has-background\" style=\"background-color:#f5f7f9;margin-top:2.5rem;margin-bottom:2.5rem;padding-top:1.5rem;padding-right:1.5rem;padding-bottom:1.5rem;padding-left:1.5rem\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<p>L&#8217;overfitting \u00e8 il problema principale degli alberi decisionali. Un albero troppo profondo memorizza il training set ma fallisce sui dati nuovi; uno troppo superficiale non coglie le strutture reali dei dati. Il punto giusto si trova con tecniche di validazione incrociata e <strong>potatura<\/strong> (pruning): si costruisce un albero volutamente grande e poi si tagliano i rami che non migliorano l&#8217;errore di previsione.<\/p>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">In R, si pu\u00f2 potare l&#8217;albero con <code>rpart<\/code> usando il parametro <code>cp<\/code> (complexity parameter), che impedisce all&#8217;albero di fare divisioni che non riducono l&#8217;errore di almeno una certa soglia. La funzione <code>printcp(tree)<\/code> mostra l&#8217;errore di validazione incrociata per diverse dimensioni dell&#8217;albero, aiutando a scegliere il punto di taglio.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"feature-importance\">Importanza delle variabili<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Uno dei sottoprodotti pi\u00f9 utili di un albero decisionale \u00e8 la <strong>feature importance<\/strong>: la misura di quanto ogni variabile contribuisce alla riduzione dell&#8217;impurit\u00e0 complessiva. In <code>rpart<\/code> si ottiene con:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>tree$variable.importance<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Questo ci dice, per esempio, che la lunghezza del petalo \u00e8 di gran lunga la variabile pi\u00f9 discriminante per l&#8217;iris \u2014 e le misure dei sepali contano poco o nulla. <br> Nel web marketing, un&#8217;analisi analoga si pu\u00f2 fare per capire quali metriche separano davvero le pagine ad alte prestazioni da quelle a basse prestazioni.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"random-forest\">Dai singoli alberi alle foreste: la Random Forest<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Un singolo albero decisionale \u00e8 instabile: un piccolo cambiamento nei dati di partenza pu\u00f2 produrre un albero completamente diverso. Per ridurre questo problema, le <strong>Random Forest<\/strong> (foreste casuali) costruiscono centinaia di alberi su versioni leggermente diverse dei dati (campionamento con reinserimento) e ne mediano le previsioni. Il risultato \u00e8 molto pi\u00f9 stabile e accurato di un singolo albero, pur mantenendo gran parte dell&#8217;interpretabilit\u00e0.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se un singolo albero \u00e8 come chiedere il parere di un esperto, una Random Forest \u00e8 come consultare centinaia di esperti indipendenti e prendere la decisione per maggioranza.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ne parleremo in un prossimo articolo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"faq\">FAQ<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Quando usare un albero decisionale invece di una regressione logistica?<\/strong><br> Quando i dati hanno interazioni complesse tra variabili (per esempio, l&#8217;effetto dell&#8217;et\u00e0 sulla conversione cambia a seconda del canale di acquisizione) e quando la priorit\u00e0 \u00e8 l&#8217;interpretabilit\u00e0.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>L&#8217;albero pu\u00f2 gestire variabili numeriche e categoriche insieme?<\/strong><br> S\u00ec, <code>rpart<\/code> gestisce naturalmente entrambi i tipi. Le variabili categoriche vengono convertite internamente in split binari.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Quanto deve essere profondo un albero?<\/strong><br> Dipende dai dati. La regola pratica: usare la validazione incrociata (il <code>plotcp()<\/code> di <code>rpart<\/code>) per trovare la profondit\u00e0 che minimizza l&#8217;errore di previsione su dati non visti.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>L&#8217;albero decisionale funziona anche per problemi di regressione?<\/strong><br> S\u00ec. Con <code>method = \"anova\"<\/code> invece di <code>\"class\"<\/code>, l&#8217;albero prevede valori numerici (per esempio, il tempo sulla pagina atteso).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Perch\u00e9 l&#8217;albero ha usato solo la lunghezza del petalo?<\/strong><br> Perch\u00e9 nei dati iris \u00e8 la variabile pi\u00f9 discriminante: da sola basta per separare una delle tre specie (setosa) e quasi separa le altre due. L&#8217;albero, essendo un algoritmo greedy, sceglie la variabile che d\u00e0 la miglior divisione immediata.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">Tra gli alberi decisionali, la <a href=\"https:\/\/www.gironi.it\/blog\/lalgoritmo-di-discesa-del-gradiente-gradient-descent-spiegato-semplice\/\">discesa del gradiente<\/a> e la riduzione delle dimensioni c&#8217;\u00e8 un filo che li unisce: tutti risolvono il problema di dare struttura a dati complessi, ciascuno con il proprio approccio. La prossima tappa di questo percorso \u00e8 la <strong>discesa del gradiente<\/strong>, il motore che fa funzionare buona parte del machine learning moderno.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Per approfondire<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Se vuoi approfondire gli alberi decisionali, <a href=\"https:\/\/www.amazon.it\/dp\/1461471370?tag=consulenzeinf-21\" rel=\"nofollow sponsored noopener\" target=\"_blank\"><em>An Introduction to Statistical Learning<\/em><\/a> di James, Witten, Hastie e Tibshirani \u00e8 il punto di riferimento: spiega alberi, Random Forest e criteri di divisione con il giusto equilibrio tra intuizione e formalismo. I laboratori R sono liberamente disponibili online.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Di cosa parleremo: L&#8217;idea generale Impurity e criteri di divisione Un albero decisionale in R sui dati iris Un esempio SEO: prevedere le pagine in top 10 Valutare l&#8217;accuratezza Overfitting e potatura Importanza delle variabili Dai singoli alberi alle foreste: la Random Forest FAQ Quando analizziamo un dataset con molte variabili e vogliamo prevedere una &hellip; <a href=\"https:\/\/www.gironi.it\/blog\/come-usare-gli-alberi-decisionali-per-classificare-i-dati\/\" class=\"more-link\">Leggi tutto<span class=\"screen-reader-text\"> &#8220;Come usare gli Alberi Decisionali per classificare i dati&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","footnotes":""},"categories":[629],"tags":[633],"class_list":["post-3065","post","type-post","status-publish","format-standard","hentry","category-statistica-it","tag-alberi-decisionali-it"],"lang":"it","translations":{"it":3065,"en":3260},"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false,"post-thumbnail":false},"uagb_author_info":{"display_name":"paolo","author_link":"https:\/\/www.gironi.it\/blog\/author\/paolo\/"},"uagb_comment_info":41,"uagb_excerpt":"Di cosa parleremo: L&#8217;idea generale Impurity e criteri di divisione Un albero decisionale in R sui dati iris Un esempio SEO: prevedere le pagine in top 10 Valutare l&#8217;accuratezza Overfitting e potatura Importanza delle variabili Dai singoli alberi alle foreste: la Random Forest FAQ Quando analizziamo un dataset con molte variabili e vogliamo prevedere una&hellip;","_links":{"self":[{"href":"https:\/\/www.gironi.it\/blog\/wp-json\/wp\/v2\/posts\/3065","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gironi.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gironi.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gironi.it\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gironi.it\/blog\/wp-json\/wp\/v2\/comments?post=3065"}],"version-history":[{"count":5,"href":"https:\/\/www.gironi.it\/blog\/wp-json\/wp\/v2\/posts\/3065\/revisions"}],"predecessor-version":[{"id":4282,"href":"https:\/\/www.gironi.it\/blog\/wp-json\/wp\/v2\/posts\/3065\/revisions\/4282"}],"wp:attachment":[{"href":"https:\/\/www.gironi.it\/blog\/wp-json\/wp\/v2\/media?parent=3065"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gironi.it\/blog\/wp-json\/wp\/v2\/categories?post=3065"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gironi.it\/blog\/wp-json\/wp\/v2\/tags?post=3065"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}