Science des données - Pente et Interception


Pente et Interception

Nous allons maintenant expliquer comment nous avons trouvé la pente et l'ordonnée à l'origine de notre fonction :

f(x) = 2x + 80

L'image ci-dessous pointe vers la pente - qui indique la pente de la ligne, et l'intersection - qui est la valeur de y, lorsque x = 0 (le point où la ligne diagonale croise l'axe vertical). La ligne rouge est la continuation de la ligne bleue de la page précédente.

Fonction linéaire

Trouver la pente

La pente est définie comme la quantité de calories brûlées qui augmente, si le pouls moyen augmente de un. Il nous indique à quel point la ligne diagonale est "raide".

Nous pouvons trouver la pente en utilisant la différence proportionnelle de deux points du graphique.

  • Si le pouls moyen est de 80, la dépense calorique est de 240
  • Si le pouls moyen est de 90, la dépense calorique est de 260

Nous voyons que si le pouls moyen augmente de 10, la dépense calorique augmente de 20.

Slope = 20/10 = 2

La pente est de 2.

Mathématiquement, la pente est définie comme :

Slope = f(x2) - f(x1) / x2-x1

f(x2) = Deuxième observation de Calorie_Burnage = 260
f(x1) = Première observation de Calorie_Burnage = 240
x2 = Deuxième observation de Average_Pulse = 90
x1 = Première observation de Average_Pulse = 80

Slope = (260-240) / (90 - 80) = 2

Soyez cohérent pour définir les observations dans le bon ordre ! Sinon, la prédiction ne sera pas correcte !

Utiliser Python pour trouver la pente

Calculez la pente avec le code suivant :

Exemple

def slope(x1, y1, x2, y2):
  s = (y2-y1)/(x2-x1)
  return s

print (slope(80,240,90,260))

Trouver l'interception

L'interception est utilisée pour affiner la capacité des fonctions à prédire Calorie_Burnage.

L'interception est l'endroit où la ligne diagonale croise l'axe y, si elle était entièrement dessinée.

L'ordonnée à l'origine est la valeur de y, lorsque x = 0.

Ici, nous voyons que si le pouls moyen (x) est égal à zéro, alors la dépense calorique (y) est de 80.

Donc, l'interception est de 80.

Parfois, l'interception a une signification pratique. Parfois non.

Est-il logique que le pouls moyen soit égal à zéro ?

Non, vous seriez mort et vous ne brûleriez certainement pas de calories.

Cependant, nous devons inclure l'interception afin de compléter la capacité de la fonction mathématique à prédire correctement Calorie_Burnage.

Autres exemples où l'ordonnée à l'origine d'une fonction mathématique peut avoir une signification pratique :

  • Prédire les revenus de l'année prochaine en utilisant les dépenses de marketing (Combien de revenus aurons-nous l'année prochaine, si les dépenses de marketing sont nulles ?). Il est probable qu'une entreprise aura encore des revenus même si elle ne dépense pas d'argent en marketing.
  • Consommation de carburant avec vitesse (Combien de carburant utilisons-nous si la vitesse est égale à 0 mph ?). Une voiture qui utilise de l'essence consommera toujours du carburant lorsqu'elle est au ralenti.


Trouver la pente et intercepter en utilisant Python

La np.polyfit()fonction renvoie la pente et l'interception.

Si nous procédons avec le code suivant, nous pouvons à la fois obtenir la pente et l'interception de la fonction.

Exemple

import pandas as pd
import numpy as np

health_data = pd.read_csv("data.csv", header=0, sep=",")

x = health_data["Average_Pulse"]
y = health_data["Calorie_Burnage"]
slope_intercept = np.polyfit(x,y,1)

print(slope_intercept)

Exemple expliqué :

  • Isolez les variables Average_Pulse (x) et Calorie_Burnage (y) de health_data.
  • Appelez la fonction np.polyfit().
  • Le dernier paramètre de la fonction spécifie le degré de la fonction, qui dans ce cas est "1".

Astuce : fonctions linéaires = fonction 1.degree. Dans notre exemple, la fonction est linéaire, c'est-à-dire dans le 1°. Cela signifie que tous les coefficients (les nombres) sont à la puissance un.

Nous avons maintenant calculé la pente (2) et l'ordonnée à l'origine (80). On peut écrire la fonction mathématique comme suit :

Prédisez Calorie_Burnage à l'aide d'une expression mathématique :

f(x) = 2x + 80

Tâche:

Maintenant, nous voulons prédire la dépense calorique si le pouls moyen est de 135.

Rappelez-vous que l'interception est une constante. Une constante est un nombre qui ne change pas.

Nous pouvons maintenant remplacer l'entrée x par 135 :

f(135) = 2 * 135 + 80 = 350

Si le pouls moyen est de 135, la dépense calorique est de 350.


Définir la fonction mathématique en Python

Voici exactement la même fonction mathématique, mais en Python. La fonction renvoie 2*x + 80, avec x comme entrée :

Exemple

def my_function(x):
  return 2*x + 80

print (my_function(135))

Essayez de remplacer x par 140 et 150.


Tracer un nouveau graphique en Python

Ici, nous traçons le même graphique que précédemment, mais formatons un peu l'axe.

La valeur maximale de l'axe des y est maintenant de 400 et celle de l'axe des x est de 150 :

Exemple

import matplotlib.pyplot as plt

health_data.plot(x ='Average_Pulse', y='Calorie_Burnage', kind='line'),
plt.ylim(ymin=0, ymax=400)
plt.xlim(xmin=0, xmax=150)

plt.show()

Exemple expliqué

  • Importer le module pyplot de la bibliothèque matplotlib
  • Tracez les données de Average_Pulse contre Calorie_Burnage
  • kind='line'nous dit quel type de parcelle nous voulons. Ici, on veut avoir une ligne droite
  • plt.ylim() et plt.xlim() nous indiquent à quelle valeur nous voulons que l'axe démarre et s'arrête.
  • plt.show() nous montre la sortie