Ajustement par les moindres carrés
Fait partie de la section Statistiques pour le ML du Journey Machine Learning de Coddy. Leçon 36 sur 64.
Deviner des droites pourrait prendre une éternité. np.polyfit(x, y, 1) trouve la meilleure d’un seul coup : la droite dont la somme des résidus au carré est la plus petite. Voici la profondeur de neige lors d’une tempête :
hours = np.array([1, 2, 3, 5, 6])
depth = np.array([14, 22, 35, 52, 61])
slope, intercept = np.polyfit(hours, depth, 1)
print(np.round(slope, 2), np.round(intercept, 2))Cela affiche 9.5 4.5 : environ 9,5 cm de neige en plus par heure, et 4,5 cm à l’heure 0. Aucune autre droite ne présente une erreur moindre :
Le 1 demande une ligne droite, et x vient en premier. Il s’agit de la régression linéaire, le premier modèle que tu entraînes dans la section 3.
Défi
MoyenUn fabricant de drones veut savoir quelle mesure prédit le mieux la durée de vol. drones.csv contient 15 vols : payload_g, wind_kmh et flight_min. Le code de départ charge le fichier et définit ssr(x, y, slope, intercept).
- Pour chaque colonne de
columns, ajuste la droite qui préditflight_minà partir de cette colonne. - Affiche son équation et le SSR comme ci-dessous : pente avec 3 décimales, intercept et SSR avec 2.
- Affiche la colonne dont le SSR est le plus petit.
Pour un autre drone :
payload_g: flight_min = -0.001 * payload_g + 21.55, SSR 164.94
wind_kmh: flight_min = -0.481 * wind_kmh + 28.13, SSR 9.1
Better predictor: wind_kmhEssayez vous-même
import numpy as np
import pandas as pd
# Renvoie la somme des carrés des résidus de la droite slope * x + intercept (leçon 35)
def ssr(x, y, slope, intercept):
return ((y - (slope * x + intercept)) ** 2).sum()
drones = pd.read_csv("drones.csv")
columns = ["payload_g", "wind_kmh"]
# Écrivez votre code ci-dessous
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Statistiques pour le ML
1Centre et dispersion
Moyenne et médianePercentiles et quartilesVariance et écart-typeÉchantillon ou population ?La valeur la plus fréquenteRécapitulatif : délais de livraison4Échantillons et populations
Population et échantillonLes moyennes d’échantillon varientLa distribution d’échantillonnageDes échantillons plus grands, moins de bruitRécapitulatif : sonder une ville7Droites de tendance
RésidusAjustement par les moindres carrésTracer la droite d’ajustementPrédire avec une droiteQualité de l’ajustementRécapitulatif : heures de pratique2Distributions
Histogrammes de densitéFormes des donnéesLa courbe normaleLa règle des 68-95-99,7Scores zRécapitulatif : autonomie de la batterie5Valeurs aberrantes
Diagrammes en boîteLa règle de l’écart interquartileLa règle du score ZTraiter les valeurs aberrantesRécapitulatif : anomalies des capteurs3Les probabilités par simulation
La probabilité comme fréquenceLa loi des grands nombresSommes de désEspérance mathématiqueProbabilité conditionnelleRécapitulatif : les chances au stand de dés6Relations
Lire des nuages de pointsCorrélationMatrice de corrélationCartes thermiques de corrélationCorrélation n’est pas causalitéRécapitulatif : glace et soleil9Mise à l’échelle des caractéristiques
Pourquoi mettre les caractéristiques à l’échelleMise à l’échelle Min-MaxStandardisationStandardScalerRécapitulatif : partenaires d’escaladeEntraînez-vous par vous-même : Compilateur Python en ligne