Khoa học dữ liệu - Độ dốc và chặn


Dốc và Đánh chặn

Bây giờ chúng ta sẽ giải thích cách chúng ta tìm thấy hệ số góc và giao điểm của hàm số của chúng ta:

f(x) = 2x + 80

Hình ảnh bên dưới trỏ đến Độ dốc - cho biết độ dốc của đường và Điểm giao cắt - là giá trị của y, khi x = 0 (điểm mà đường chéo cắt trục tung). Đường màu đỏ là phần tiếp theo của đường màu xanh lam từ trang trước.

Hàm tuyến tính

Tìm độ dốc

Độ dốc được định nghĩa là mức độ tiêu hao calo tăng lên, nếu xung trung bình tăng một. Nó cho chúng ta biết đường chéo "dốc" như thế nào.

Chúng ta có thể tìm thấy hệ số góc bằng cách sử dụng hiệu số tỷ lệ của hai điểm từ biểu đồ.

  • Nếu nhịp đập trung bình là 80, mức tiêu thụ calo là 240
  • Nếu nhịp đập trung bình là 90, mức tiêu thụ calo là 260

Chúng ta thấy rằng nếu nhịp đập trung bình tăng lên 10, thì lượng calo tiêu thụ tăng lên 20.

Slope = 20/10 = 2

Hệ số góc là 2.

Về mặt toán học, Độ dốc được định nghĩa là:

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

f (x2) = Quan sát thứ hai về Calorie_Burnage = 260
f (x1) = Quan sát đầu tiên về Calorie_Burnage = 240
x2 = Quan sát thứ hai về Average_Pulse = 90
x1 = Quan sát đầu tiên về Average_Pulse = 80

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

Hãy nhất quán để xác định các quan sát theo đúng thứ tự! Nếu không, dự đoán sẽ không chính xác!

Sử dụng Python để tìm độ dốc

Tính độ dốc với mã sau:

Thí dụ

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

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

Tìm điểm đánh chặn

Hệ thống chặn được sử dụng để tinh chỉnh khả năng dự đoán Calorie_Burnage của các chức năng.

Điểm giao nhau là nơi đường chéo đi qua trục y, nếu nó được vẽ đầy đủ.

Hệ số chặn là giá trị của y, khi x = 0.

Ở đây, chúng ta thấy rằng nếu xung trung bình (x) bằng 0, thì mức tiêu hao calo (y) là 80.

Vì vậy, mức đánh chặn là 80.

Đôi khi, việc đánh chặn có một ý nghĩa thiết thực. Đôi khi không.

Nó có nghĩa là xung trung bình bằng 0?

Không, bạn sẽ chết và bạn chắc chắn sẽ không đốt cháy bất kỳ calo nào.

Tuy nhiên, chúng ta cần bao gồm hàm chặn để hoàn thành khả năng dự đoán Calorie_Burnage một cách chính xác của hàm toán học.

Các ví dụ khác trong đó lệnh chặn của một hàm toán học có thể có ý nghĩa thực tế:

  • Dự đoán doanh thu các năm tới bằng cách sử dụng chi tiêu tiếp thị (Chúng ta sẽ có bao nhiêu doanh thu trong năm tới, nếu chi tiêu tiếp thị bằng 0?). Có thể giả định rằng một công ty vẫn sẽ có doanh thu ngay cả khi họ không chi tiền cho hoạt động tiếp thị.
  • Mức sử dụng nhiên liệu theo tốc độ (Chúng ta sử dụng bao nhiêu nhiên liệu nếu tốc độ bằng 0 mph?). Một chiếc xe sử dụng xăng sẽ vẫn sử dụng nhiên liệu khi nó ở trạng thái không tải.


Tìm độ dốc và điểm chặn bằng Python

Hàm np.polyfit()trả về độ dốc và điểm chặn.

Nếu chúng ta tiếp tục với đoạn mã sau, chúng ta có thể lấy cả độ dốc và điểm chặn từ hàm.

Thí dụ

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)

Giải thích ví dụ:

  • Cô lập các biến Average_Pulse (x) và Calorie_Burnage (y) khỏi dữ liệu health_data.
  • Gọi hàm np.polyfit ().
  • Tham số cuối cùng của hàm chỉ định mức độ của hàm, trong trường hợp này là "1".

Mẹo: hàm tuyến tính = hàm 1.degree. Trong ví dụ của chúng tôi, hàm là tuyến tính, nằm trong điều kiện 1.. Điều đó có nghĩa là tất cả các hệ số (các con số) đều là lũy thừa của một.

Bây giờ chúng tôi đã tính toán độ dốc (2) và hệ số chặn (80). Chúng ta có thể viết hàm toán học như sau:

Dự đoán Calorie_Burnage bằng cách sử dụng một biểu thức toán học:

f(x) = 2x + 80

Nhiệm vụ:

Bây giờ, chúng tôi muốn dự đoán mức tiêu hao calo nếu xung trung bình là 135.

Hãy nhớ rằng số chặn là một hằng số. Hằng số là một số không thay đổi.

Bây giờ chúng ta có thể thay thế đầu vào x bằng 135:

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

Nếu nhịp đập trung bình là 135, mức tiêu thụ calo là 350.


Định nghĩa hàm toán học trong Python

Đây là cùng một hàm toán học, nhưng bằng Python. Hàm trả về 2 * x + 80, với x là đầu vào:

Thí dụ

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

print (my_function(135))

Cố gắng thay x bằng 140 và 150.


Vẽ một đồ thị mới bằng Python

Ở đây, chúng tôi vẽ biểu đồ tương tự như trước đó, nhưng định dạng trục một chút.

Giá trị tối đa của trục y hiện là 400 và đối với trục x là 150:

Thí dụ

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()

Giải thích ví dụ

  • Nhập mô-đun pyplot của thư viện matplotlib
  • Vẽ đồ thị dữ liệu từ Average_Pulse so với Calorie_Burnage
  • kind='line'cho chúng tôi biết loại âm mưu mà chúng tôi muốn. Ở đây, chúng ta muốn có một đường thẳng
  • plt.ylim () và plt.xlim () cho chúng ta biết giá trị nào chúng ta muốn trục bắt đầu và dừng lại.
  • plt.show () cho chúng ta thấy kết quả đầu ra