Skip to content

Il codice utilizzato permette di fare uso del DecisionTree di scikit-learn per determinare se un nuovo impiegato avrà uno stipendio maggiore della mediana degli stipendi degli impiegati nel dataset.

Notifications You must be signed in to change notification settings

Ita97/AIproject

Repository files navigation

AIproject

Il codice utilizzato permette di fare uso del DecisionTree di scikit-learn per determinare se un nuovo impiegato avrà uno stipendio maggiore rispetto alla mediana degli stipendi degli impiegati nel dataset.
Il dataset è reperibile su Stack Overflow Developer Survey, 2017 e deve essere scaricato per il corretto funzionamento del codice.

Sono state usate le librerie:

  • numpy, pandas per operare sul dataset
  • matplotlib per disegnare i vari grafici
  • sklearn per definire il decision tree, per creare la roc curve e per utilizzare il 10-fold cross validation
  • pydotplus, graphivz, collections per disegnare il grafo dell'albero

Nella prima parte del codice viene riadattato il dataset per poter essere letto da DecisionTree, e quindi:

  1. eliminazione righe con NaN nella colonna Salary
  2. estrazione della colonna Salary
  3. eliminazione colonne irrilevanti
  4. sostituzione valori NaN
  5. separazione delle colonne con risposte sovrapposte

In seguito è stato definito il target ed è stato diviso il dataset in train-set e test-set per determinare la precisione della previsione dell'albero.
E' stato inoltre verificato quale fosse il parametro max_depth adatto a seconda del train-set, seguendo le indicazioni dell'articolo "InDepth: Parameter tuning for Decision Tree" di Mohtadi Ben Fraj, illustrandone il grafico rispetto alla sua variazione.
Infine, dopo aver creato l'albero decisionale ed aver determinato la precisione della previsione mediante il 10-fold cross validation (circa 0.83), è stato disegnato il grafo dell'albero, seguendo il codice ottenuto dall'articolo "Creating and Visualizing Decision Trees with Python" di Russel.

Per maggiori chiarimenti si prega di leggere la relazione allegata nella repository.

About

Il codice utilizzato permette di fare uso del DecisionTree di scikit-learn per determinare se un nuovo impiegato avrà uno stipendio maggiore della mediana degli stipendi degli impiegati nel dataset.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages