Evaluează rezultatele
După ce am obținut regresia liniară și predicțiile, vrem să vedem cât de bune sunt acestea, pentru a decide dacă modelul nostru este util sau nu. Ideal, am vrea să testăm retrospectiv orice strategie de tranzacționare. Totuși, aceasta este o experiență complexă și, de obicei, consumatoare de timp.
O metodă mai rapidă de a înțelege performanța modelului nostru este să analizăm metrici de evaluare a regresiei, precum R\(^2\), și să reprezentăm grafic predicțiile față de valorile reale ale țintelor. Predicțiile perfecte ar forma o linie dreaptă diagonală într-un astfel de grafic, ceea ce ne permite să evaluăm vizual cât de bune sunt predicțiile în diferite intervale de variații de preț. Putem folosi funcția .scatter() din matplotlib pentru a crea diagrame de dispersie cu predicțiile și valorile reale.
Acest exercițiu face parte din cursul
Machine Learning pentru finanțe în Python
Instrucțiuni pentru exercițiu
- Afișează
test_predictionsfață detest_targetsîntr-o diagramă de dispersie, cu o opacitate de 20% pentru puncte (folosește parametrulalphapentru a seta opacitatea). - Trasează linia predicției perfecte folosind
np.arange()și valorile minime și maxime de pe axa x (xmin,xmax). - Afișează legenda graficului cu
plt.legend().
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Scatter the predictions vs the targets with 20% opacity
plt.scatter(train_predictions, train_targets, alpha=0.2, color='b', label='train')
plt.scatter(____, ____, ____, color='r', label='test')
# Plot the perfect prediction line
xmin, xmax = plt.xlim()
plt.plot(np.arange(xmin, xmax, 0.01), np.arange(____, ____, 0.01), c='k')
# Set the axis labels and show the plot
plt.xlabel('predictions')
plt.ylabel('actual')
____ # show the legend
plt.show()