Applicazioni pratiche di machine learning/Identificazione delle pulsar: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nuova pagina: ==Caricamento librerie== <syntaxhighlight lang="rsplus"> library(dplyr) library(ggplot2) library(caret) </syntaxhighlight> ==Parte 1: Dati== Il dataset "pulsar_stars.csv" scari...
(Nessuna differenza)

Versione delle 16:58, 11 feb 2020

Caricamento librerie

 library(dplyr)
 library(ggplot2)
 library(caret)

Parte 1: Dati

Il dataset "pulsar_stars.csv" scaricabile da qui : https://archive.ics.uci.edu/ml/datasets/HTRU2 contiene 17.898 osservazioni con 9 variabili relative a stelle, di cui soltanto 1.639 pulsar . Le pulsar sono un raro tipo di stella a neutroni che producono onde radio rilevabili qui sulla Terra. Mentre le pulsar ruotano, producono un modello rilevabile di onde radio a banda larga. Quando le pulsar ruotano rapidamente l'emissione delle onde radio si ripete periodicamente. Quindi l'identificazione delle pulsar implica la ricerca di segnali radio periodici con grandi radiotelescopi. Tuttavia quasi tutti i rilevamenti sono soggetti a interferenze in radiofrequenza (RFI) e rumore, rendendo difficile trovare i segnali legittimi. Le 9 variabili relative a ciascuna osservazione sono :

  • Mean.of.the.integrated.profile: Media del profilo integrato
  • Standard.deviation.of.the.integrated.profile:Deviazione standard del profilo integrato
  • Excess.kurtosis.of.the.integrated.profile:Eccessiva curtosi del profilo integrato
  • Skewness.of.the.integrated.profile:asimmetria del profilo integrato
  • Mean.of.the.DM.SNR.curve: Media della curva DM-SNR
  • Standard.deviation.of.the.DM.SNR.curve: Deviazione standard della curva DM-SNR
  • Excess.kurtosis.of.the.DM.SNR.curve: Eccessiva curtosi della curva DM-SNR
  • Skewness.of.the.DM.SNR.curve: Asimmetria della curva DM-SNR
  • Stella Pulsar: può assumere i valori "Si" e "No" (variabile da predire)

Caricamento dei dati e visualizzazione della struttura del dataset:

 pulsar_stars <- read.csv("pulsar_stars.csv")
 names(pulsar_stars)[9]="Stella_Pulsar"
 pulsar_stars$Stella_Pulsar[pulsar_stars$Stella_Pulsar==0]="No"
 pulsar_stars$Stella_Pulsar[pulsar_stars$Stella_Pulsar==1]="Si"
 pulsar_stars$Stella_Pulsar <- as.factor(pulsar_stars$Stella_Pulsar)

 str(pulsar_stars)

'data.frame': 17898 obs. of 9 variables:

$ Mean.of.the.integrated.profile              : num  140.6 102.5 103 136.8 88.7 ...
$ Standard.deviation.of.the.integrated.profile: num  55.7 58.9 39.3 57.2 40.7 ...
$ Excess.kurtosis.of.the.integrated.profile   : num  -0.2346 0.4653 0.3233 -0.0684 0.6009 ...
$ Skewness.of.the.integrated.profile          : num  -0.7 -0.515 1.051 -0.636 1.123 ...
$ Mean.of.the.DM.SNR.curve                    : num  3.2 1.68 3.12 3.64 1.18 ...
$ Standard.deviation.of.the.DM.SNR.curve      : num  19.1 14.9 21.7 21 11.5 ...
$ Excess.kurtosis.of.the.DM.SNR.curve         : num  7.98 10.58 7.74 6.9 14.27 ...
$ Skewness.of.the.DM.SNR.curve                : num  74.2 127.4 63.2 53.6 252.6 ...
$ Stella_Pulsar                               : Factor w/ 2 levels "No","Si": 1 1 1 1 1 1 1 1 1 1 ...

Parte 2: Domanda di ricerca

Si vuole costruire un modello previsionale tramite un algoritmo di machine learning per predire quali stelle sono pulsar e quali no, avendo a disposizione alcune delle variabili di ingresso elencate in precedenza.