Volevo sperimentare la libreria YDF (Decision Trees) ed ho preso i dati del post precedente (soil moisture su terreni naturali)
Non ho fatto nessuna ottimizzazione, ho usato l'esempio base della regressione
(da notare che i grafici funzionano su Colab non riesco a visualizzarli su jupyter notebook locali)
nel codice sottostante e' stato attivato il GradientBoostTreeLearner ma vi sono anche RandomForestLearner, CartLearner
from google.colab import drive
drive.mount('/content/drive')
!pip install ydf
import ydf # Yggdrasil Decision Forests
import pandas as pd # We use Pandas to load small datasets
all_ds = pd.read_csv(f"/content/drive/MyDrive/soilmoisture.csv")
# Randomly split the dataset into a training (70%) and testing (30%) dataset
all_ds = all_ds.sample(frac=1)
split_idx = len(all_ds) * 7 // 10
train_ds = all_ds.iloc[:split_idx]
test_ds = all_ds.iloc[split_idx:]
# Print the first 5 training examples
train_ds.head(5)
model = ydf.GradientBoostedTreesLearner(label="soil_moisture",
task=ydf.Task.REGRESSION).train(train_ds)
evaluation = model.evaluate(test_ds)
print(evaluation)
evaluation
La sintassi e' estremamente concisa ma il risultato della regressione e' ottimale
per vedere quale ' la feature che influenza il modello si puo' usare
model.analyze(test_ds, sampling=0.1)
Nessun commento:
Posta un commento