SPACEX FALCON 9 – esempio di previsione del successo o meno dell’atterraggio del primo stadio sulla base di alcuni dati di input – I parte –

SPACEX FALCON 9 – esempio di previsione del successo o meno dell’atterraggio del primo stadio sulla base di alcuni dati di input – I parte –

Settembre 6, 2023 0 Di Ruggero Grando

I DATI PER IL MACHINE LEARNING.

Ora, che abbiamo appreso a grandi linee le varie fasi del lancio e il rientro del primo stadio del Falcon 9 di SpaceX iniziamo con la parte di Machine Learning vera e propria. In questo specifico caso, si tratterà di prevedere sulla base di alcune variabili di input e sulla base di uno storico se il lancio avrà successo o meno, ossia se il primo stadio rientrerà o meno. Ripeto, il tutto è possibile grazie alla lettura di alcuni datasets e questo, come al solito, è solo un esempio!

Per prima cosa prepariamo il progetto Python in Visual Studio Code e carichiamo le librerie necessarie. Queste sono quelle presenti nell’immagine successiva ossia, la Pandas, la Numpy, la Requests e altre di interesse minore.

Dopo aver caricato le librerie leggiamo da alcune “API” i vari datasets dei lanci dei razzi di SpaceX per poter elaborare la previsione. La documentazione delle API utilizzate in questo progetto la trovate al seguente indirizzo internet: SpaceX-API/docs at master · r-spacex/SpaceX-API · GitHub.

import pandas as pd
import numpy as np
import requests
import datetime
spacex_launches="https://api.spacexdata.com/v5/launches/past"
launches = requests.get(spacex_launches)
print(launches)
# Use json_normalize meethod to convert the json result into a dataframe
data_launches=pd.json_normalize(launches.json())
# Displaying first 5 rows
print(data_launches.head())
# Number of rows - 
print(len(data_launches))
# select only the best data
data_launches_subdataset = data_launches[['rocket', 'payloads', 'launchpad', 'cores', 'capsules','flight_number', 'date_utc','success','failures','details','name','id']]
17 Displaying first 5 rows
18 print(data_launches_subdataset.head())

Nelle prime quattro righe di codice, si importano le librerie Numpy, Pandas Request e Datetime per poterne usufruire nel resto del codice. Nella riga sei, la variabile spacex_launches è valorizzata dall’indirizzo delle “API” da cui si ricaveranno tutte le informazioni relative al lanci di tutti i razzi di SpaceX. Come suggerisce il titolo dell’articolo, a noi interessano solamente i razzi Falcon 9 e quindi il datasets “data_launches_subdataset” verrà ridotto alle sole righe oggetto di studio.

Risulta interessante un doppio approccio alla compilazione del codice e così di seguito ne ho sviluppato una versione migliore con meno righe, ma con lo stesso risultato.

import requests
import pandas as pd

def get_spacex_launches():
    url = "https://api.spacexdata.com/v5/launches/past"
    response = requests.get(url)
    data = response.json()
    return data

launches = get_spacex_launches()

# Creazione del DataFrame
df = pd.DataFrame(launches)
data_launches_subdataset = df[['rocket', 'payloads', 'launchpad', 'cores', 'capsules','flight_number', 'date_utc','success','failures','details','name','id']]

Ora vediamo di capire il significato di alcuni campi importanti che sono presenti sul dataset “data_launches_subdataset“.

Cosa si intende per “Rocket”?

Per quanto concerne il campo “rocket”, questo indica essenzialmente l’id del razzo.

Cosa si intende per “Payloads”?

Per un razzo, il Payloads può essere un satellite, una sonda spaziale, una capsula che può trasportare esseri umani, animali o merci.

Cosa si intende per “Cores”?

I “Cores” sono gli elementi del razzo a cui sono collegati i motori. Nel caso del Falcon Heavy, i “Cores” sono tre (come indicato nell’immagine successiva da numeri uno, due e tre), mentre gli “engines” totali presenti nel Falcon Heavy sono ventisette. Ogni Core nel Falcon Heavy ha nove motori (engines) Merlin. Un motore Merlin, è indicato dalla lettera 1A nella figura successiva.

Visualizzazione del Falcon Heavy con i tre "Cores" e i 27 motori Merlin.
Figura 12.
(Falcon Heavy con tre “Cores” e ventisette motori Merlin).

Pagina Successiva | Pagina Precedente

No votes yet.
Please wait...

Pagine: 1 2 3 4 5 6 7 8 9 10