Đa thức Python từ các hệ số

Nếu bạn muốn khớp một đường cong với dữ liệu của mình bằng scikit-learning bằng cách sử dụng hồi quy đa thức, bạn đang ở đúng nơi. Nhưng trước tiên, hãy đảm bảo rằng bạn đã quen thuộc với hồi quy tuyến tính. Tôi cũng sẽ giả sử trong bài viết này rằng bạn đã cài đặt matplotlib, pandas và numpy. Bây giờ, hãy bắt tay vào mã hóa mô hình hồi quy đa thức đầu tiên của bạn

Nếu bạn không có môi trường Python của riêng mình cho khoa học dữ liệu, hãy sử dụng một trong các tùy chọn này để có được một môi trường

  • Nhận máy chủ dữ liệu của riêng bạn và cài đặt các thư viện khoa học dữ liệu phổ biến nhất
  • Cài đặt Anaconda trên máy tính cục bộ của bạn

Hồi quy đa thức tốt cho cái gì?

Tin xấu. bạn không thể chỉ hồi quy tuyến tính theo cách của mình thông qua mọi tập dữ liệu. 😔

Thông thường, bạn sẽ gặp dữ liệu trong đó mối quan hệ giữa [các] tính năng và biến phản hồi không thể được mô tả tốt nhất bằng một đường thẳng

giống như ở đây

Thấy vấn đề?

Nếu bạn nghĩ rằng bằng cách nào đó, đường này nên được uốn cong để phù hợp hơn với dữ liệu, thì bạn sẽ hiểu bằng trực giác lý do tại sao chúng tôi sử dụng hồi quy đa thức. nó cung cấp cho chúng tôi độ cong mà chúng tôi cần để chúng tôi có thể có những dự đoán chính xác hơn dựa trên dữ liệu của mình

Nhưng chúng ta hãy giữ ngựa của chúng ta. 🐴

Tại sao gọi là “đa thức”?

Đó là những gì chúng ta sẽ khám phá trong phần tiếp theo

một đa thức là gì?

Hãy phá vỡ nó

  • "poly" có nghĩa là "nhiều",
  • "danh nghĩa" có nghĩa là "điều khoản" [đối với "bộ phận" hoặc "tên"]

Đây là một ví dụ về đa thức

4x + 7

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
1 là một biểu thức toán học đơn giản bao gồm hai thuật ngữ.
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
2 [kỳ đầu tiên] và
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
3 [kỳ thứ hai]. Trong đại số, các số hạng được phân tách bằng các toán tử logic
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
4 hoặc
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
5, vì vậy bạn có thể dễ dàng đếm xem một biểu thức có bao nhiêu số hạng

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
6 cũng là một đa thức [gồm 3 hạng tử]. Và để làm bạn bối rối một chút,
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
7 cũng là một đa thức, mặc dù nó không có “nhiều số hạng” [
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
7 được gọi là một đơn thức, bởi vì nó bao gồm một số hạng – nhưng đừng quá lo lắng về nó, tôi chỉ muốn

Hiện tại, hãy gắn bó với

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
1. Tôi vẽ nó cho bạn

Bây giờ tôi muốn bạn xem kỹ cốt truyện - bạn thấy gì? . 😮

Hãy tóm tắt lại những gì vừa xảy ra

  1. chúng tôi lấy một đa thức [
    x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    1],
  2. âm mưu nó,
  3. và có một đường thẳng [nhớ. một mô hình hồi quy tuyến tính cung cấp cho bạn một đường thẳng]

Chuyện gì đang xảy ra…?

Bạn thấy đấy, công thức xác định một đường thẳng trong mô hình hồi quy tuyến tính thực chất là một đa thức và nó có tên riêng. đa thức tuyến tính [bất cứ thứ gì có dạng

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
11 đều là đa thức tuyến tính]

Đẹp. Chúng ta có thể bắt đầu viết mã chưa?

Thực ra… không

Từ vựng liên quan đến hồi quy đa thức

Trước khi chúng ta đến phần thực hành, có một số điều nữa bạn cần biết

Chúng tôi sẽ sử dụng 3x4 – 7x3 + 2x2 + 11 để cải thiện vốn từ vựng liên quan đến đa thức của bạn với một số định nghĩa cần thiết

  • bậc của đa thức. lũy thừa cao nhất [số mũ lớn nhất] trong đa thức của bạn;
  • hệ số. mỗi số [3, 7, 2, 11] trong đa thức của chúng ta là một hệ số;
  • thuật ngữ hàng đầu. thuật ngữ có sức mạnh cao nhất [trong trường hợp của chúng tôi là
    x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    13];
  • hệ số hàng đầu. hệ số của số hạng đứng đầu [nó là 3 trong đa thức của chúng ta],
  • tình trạng ổn định. chặn y, nó không bao giờ thay đổi. cho dù giá trị của x là bao nhiêu thì hằng số vẫn giữ nguyên

hồi quy đa thức. định nghĩa chính thức

Bây giờ bạn đã nói đúng biệt ngữ đa thức, tôi muốn cung cấp cho bạn một định nghĩa chính thức. Một biểu thức là một đa thức nếu

  • biểu thức có số hạng hữu hạn
  • và mỗi thuật ngữ có một hệ số,
  • và các hệ số này được nhân với một biến [trong trường hợp của chúng ta là x],
  • và các biến được nâng lên thành lũy thừa nguyên không âm

Nếu bạn đã chú ý, bạn có thể tự hỏi. làm thế nào mà

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
1 là một đa thức khi hạng tử thứ hai [
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
3] rõ ràng thiếu biến
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
16?

Trên thực tế,

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
16 ở đó dưới dạng
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
18. Vì
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
19 bằng với
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
00 và
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
01 bằng với
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
3, nên thực sự không cần viết
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
19 xuống

Tháng đầu tiên của nhà khoa học dữ liệu cơ sở

Một khóa học trực tuyến thực tế 100%. Mô phỏng 6 tuần để trở thành nhà khoa học dữ liệu cấp dưới tại một công ty khởi nghiệp thực tế

“Giải quyết các vấn đề thực tế, có được trải nghiệm thực tế - giống như trong một công việc khoa học dữ liệu thực sự. ”

Tìm hiểu thêm

Sự khác biệt giữa hồi quy tuyến tính và đa thức

Hãy quay trở lại

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
04. nếu ta viết các hạng tử của đa thức từ hạng tử bậc cao nhất đến hạng tử bậc thấp nhất thì nó được gọi là dạng chuẩn của đa thức

Trong bối cảnh học máy, bạn sẽ thường thấy nó bị đảo ngược

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
05

  • x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    06 là biến phản hồi mà chúng tôi muốn dự đoán,
  • x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    16 là tính năng,
  • x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    08 là chặn của
    x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    06,
  • các
    x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    00 khác là các hệ số/tham số mà chúng tôi muốn tìm khi đào tạo mô hình của mình trên các giá trị
    x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    16 và
    x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    06 có sẵn,
  • x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    03 là bậc của đa thức [
    x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    03 càng cao, bạn có thể tạo các đường cong phức tạp hơn]

Công thức hồi quy đa thức trên rất giống với công thức hồi quy tuyến tính

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
05

Đó không phải là một sự trùng hợp ngẫu nhiên. hồi quy đa thức là một mô hình tuyến tính được sử dụng để mô tả các mối quan hệ phi tuyến tính

Sao có thể như thế được?

Ví dụ: nếu chúng tôi có tính năng

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
16 và chúng tôi sẽ sử dụng đa thức bậc 3, thì công thức của chúng tôi cũng sẽ bao gồm
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
07 và
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
08. Và đây là thứ mang lại độ cong cho một đường

Những gì tôi đang cố gắng rèn về nhà là đây. hồi quy tuyến tính chỉ là một đa thức cấp một. Hồi quy đa thức sử dụng đa thức bậc cao hơn. Cả hai đều là mô hình tuyến tính, nhưng kết quả đầu tiên là một đường thẳng, kết quả thứ hai cho bạn một đường cong. Đó là nó

Bây giờ bạn đã sẵn sàng viết mã cho mô hình hồi quy đa thức đầu tiên của mình

Mã hóa mô hình hồi quy đa thức với scikit-learning

Đối với người mới bắt đầu, hãy tưởng tượng rằng bạn được trình bày với biểu đồ phân tán bên dưới

Đây là cách bạn có thể tạo lại cùng một biểu đồ

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
9
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]

Nó không có gì đặc biệt, thực sự. chỉ một tính năng [

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
16] và các câu trả lời [
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
06]

Bây giờ, giả sử bạn có linh cảm rằng mối quan hệ giữa các tính năng và phản hồi là phi tuyến tính và bạn muốn khớp một đường cong với dữ liệu

Vì chúng tôi chỉ có một tính năng, nên áp dụng công thức hồi quy đa thức sau

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
05

Trong phương trình này, số lượng hệ số [

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
00s] được xác định bởi lũy thừa cao nhất của đối tượng địa lý [còn gọi là bậc của đa thức; không xét đến
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
08, vì đó là giao điểm]

Hai câu hỏi ngay lập tức nảy sinh

  1. Làm cách nào để thiết lập bậc của đa thức [và do đó là số lượng ß]?
  2. Làm cách nào để chúng tôi tạo x2, x3 hoặc xn khi ban đầu chúng tôi có x là tính năng duy nhất của chúng tôi?

May mắn thay, có câu trả lời cho cả hai câu hỏi

trả lời 1. có nhiều phương pháp để xác định bậc của đa thức mang lại kết quả tốt nhất, nhưng sẽ nói thêm về điều này sau. Hiện tại, chúng ta hãy giả định rằng tập dữ liệu của chúng ta có thể được mô tả bằng đa thức bậc 2

trả lời 2. chúng tôi có thể tạo các tính năng mới [x được nâng lên để tăng sức mạnh] sau khi bạn đã cài đặt sci-kit learn

BƯỚC 1. Xác định bậc của đa thức

Trước tiên, hãy nhập

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
04

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
1

Sau đó lưu một phiên bản của

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
04 với các cài đặt sau

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
0

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
06 đặt bậc của hàm đa thức của chúng ta.
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
07 nghĩa là chúng ta muốn làm việc với đa thức bậc 2

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
08

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
09 nên được đặt thành
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
40, vì chúng ta sẽ sử dụng
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
04 cùng với
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
42 sau này

Mẩu chuyện dài.

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
42 sẽ xử lý cài đặt này theo mặc định, vì vậy không cần đặt
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
44 thành
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
45. Nếu nó không được quan tâm, thì
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
09 có nghĩa là chúng tôi cố tình muốn phần chặn của y [
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
08] bằng với
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
48 – nhưng chúng tôi không muốn điều đó. Đây là một lời giải thích tuyệt vời về tất cả những điều này

Nếu bạn in

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
49, bạn sẽ thấy rằng cho đến giờ chúng ta mới tạo một phiên bản của
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
04 và đó là tất cả những gì cần làm

Bước tiếp theo

BƯỚC 2. Tạo các tính năng mới

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
0

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
61 biến mảng numpy của chúng ta
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
16 từ mảng 1D thành mảng 2D – điều này là bắt buộc, nếu không chúng ta sẽ gặp lỗi sau

Chỉ có một phương thức duy nhất –

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
63 – nhưng trên thực tế, nó là sự kết hợp của hai phương thức riêng biệt.
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
64 và
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
65.
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
63 là một lối tắt để sử dụng cả hai cùng một lúc, vì chúng thường được sử dụng cùng nhau

Vì tôi muốn bạn hiểu những gì đang xảy ra bí mật, tôi sẽ chỉ cho bạn xem chúng một cách riêng biệt

Với

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
64, về cơ bản, chúng tôi chỉ cần khai báo tính năng nào chúng tôi muốn chuyển đổi

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
65 thực hiện chuyển đổi thực tế

Những con số này là gì? . Trong cột đầu tiên, chúng tôi có các giá trị của mình cho

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
16 [e. g.
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
52]. Trong cột thứ hai, chúng tôi có các giá trị của chúng tôi cho bình phương
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
16 [e. g.
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
54]

Trông quen quen?

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
08

Chúng tôi muốn tạo các giá trị x2 từ các giá trị x của chúng tôi và

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
63 đã làm điều đó. Chúng tôi lưu kết quả vào
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
57

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
0

BƯỚC 3. Tạo mô hình hồi quy đa thức

Bây giờ là lúc để tạo mô hình học máy của chúng tôi. Tất nhiên, chúng ta cần nhập nó trước

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
4

Giữ một phút. 😮 Không phải hướng dẫn này là về hồi quy đa thức sao?

Chỉ cần nghĩ lại những gì bạn đã đọc cách đây không lâu. hồi quy đa thức là một mô hình tuyến tính, đó là lý do tại sao chúng tôi nhập

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
58. 🙂

Hãy lưu một thể hiện của

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
58 vào một biến

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
6

Đây là mã trong cuộc sống thực

Sau đó, chúng tôi khớp mô hình của mình với dữ liệu của mình

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
5

Phù hợp có nghĩa là chúng tôi đào tạo mô hình của mình bằng cách cho nó biết giá trị của tính năng [

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
57] và phản hồi [
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
06] là gì. Khi điều chỉnh/huấn luyện mô hình của chúng tôi, về cơ bản, chúng tôi hướng dẫn nó giải các hệ số [được đánh dấu bằng chữ in đậm] trong hàm đa thức của chúng tôi

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
903

Sau khi chạy mã, bạn có thể nghĩ rằng không có gì xảy ra, nhưng tin tôi đi, mô hình đã ước tính các hệ số [quan trọng. bạn không cần phải lưu nó vào một biến để nó hoạt động. ]

Bây giờ mô hình của chúng ta đã được đào tạo đúng cách, chúng ta có thể đưa nó vào hoạt động bằng cách hướng dẫn nó dự đoán các câu trả lời [

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
904] dựa trên
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
57 và các hệ số mà nó đã ước tính

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
90

Tại đây bạn có thể xem các câu trả lời được dự đoán

Hãy làm một số dataviz để xem mô hình của chúng ta trông như thế nào

Tôi nghĩ tiêu đề của cốt truyện đã nói lên tất cả, nhưng tôi muốn nhắc lại. xin chúc mừng, bạn đã tạo mô hình hồi quy đa thức đầu tiên của mình. 👏

Trong khi bạn đang ăn mừng, tôi sẽ dán mã vào đây phòng trường hợp bạn cần

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
91

Tháng đầu tiên của nhà khoa học dữ liệu cơ sở

Một khóa học trực tuyến thực tế 100%. Mô phỏng 6 tuần để trở thành nhà khoa học dữ liệu cấp dưới tại một công ty khởi nghiệp thực tế

“Giải quyết các vấn đề thực tế, có được trải nghiệm thực tế - giống như trong một công việc khoa học dữ liệu thực sự. ”

Tìm hiểu thêm

Mã hóa mô hình hồi quy đa thức với nhiều tính năng

Thông thường, bạn sẽ phải làm việc với dữ liệu bao gồm nhiều hơn một tính năng [tôi biết cuộc sống rất phức tạp]. Hãy mô phỏng một tình huống như vậy

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
9
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
93

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
906 là cần thiết để bạn và tôi có thể làm việc với cùng một dữ liệu “ngẫu nhiên”. [Đọc bài viết này nếu bạn muốn hiểu làm thế nào nó có thể. ] Chúng tôi tạo một số dữ liệu ngẫu nhiên với một số tiếng ồn được thêm vào.
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
907 chứa 100 giá trị cho tính năng đầu tiên của chúng tôi,
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
908 chứa 100 giá trị cho tính năng thứ hai của chúng tôi. Câu trả lời của chúng tôi [100] được lưu vào
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
06, như mọi khi

Hãy vẽ biểu đồ của cả hai tính năng, chỉ để có được sự hiểu biết trực quan về mối quan hệ giữa các tính năng và phản hồi

Để thuận tiện cho bạn, đây là mã

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
94

BƯỚC 1. Lưu trữ các biến trong một khung dữ liệu

Sau đó, chúng tôi tạo một khung dữ liệu gấu trúc nơi chúng tôi sẽ lưu trữ các tính năng và phản hồi của mình

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
95

Đây là khung dữ liệu kết quả

Một lần nữa, cần có

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
910 [
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
911 vì chúng tôi có 100 hàng], nếu không, chúng tôi sẽ nhận được lỗi sau

BƯỚC 2. Xác định dữ liệu huấn luyện và kiểm tra

Bây giờ chúng ta chuyển sang scikit-learning một lần nữa

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
96

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
912 giúp chúng tôi chia dữ liệu của mình thành tập dữ liệu thử nghiệm và đào tạo

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
97

Đây là một lời giải thích từng bước

  1. x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    913. Từ
    x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    914, chúng tôi lưu các cột
    x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    907 và
    x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    908 vào
    x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    917, cột
    x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    06 vào
    x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    06. Tại thời điểm này, chúng tôi có các tính năng và phản hồi được lưu trữ trong các biến riêng biệt
  2. x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    920 và
    x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    921. giống như trước đây, chúng tôi tạo các tính năng đa thức mới
  3. x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    922. Trong phương thức train_test_split, chúng tôi xác định tất cả các tính năng của chúng tôi [
    x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    57] và tất cả các phản hồi của chúng tôi [_______206]. Sau đó, với
    x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    925, chúng tôi đặt tỷ lệ phần trăm của tất cả các tính năng [
    x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    57] và phản hồi [
    x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    06] mà chúng tôi muốn phân bổ để kiểm tra khả năng dự đoán của mô hình. Trong trường hợp của chúng tôi, nó sẽ là 30% [
    x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    928], bởi vì đó là một thông lệ tốt. Đừng lo lắng nếu nó không rõ ràng lúc đầu. bạn sẽ hiểu nó trong một phút.
    x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    929 cần nhận giá trị số nguyên. theo cách đó bất cứ khi nào bạn chạy lại
    x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    912, bạn sẽ nhận được kết quả tương tự
  4. x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    931.
    x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    912 chia các tính năng của chúng tôi [_______757] và phản hồi [
    x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    06] thành các nhóm đào tạo và kiểm tra – ở đây chúng tôi chỉ lưu các nhóm này thành các biến. Thứ tự của các biến là rất quan trọng, vì vậy đừng xáo trộn chúng

BƯỚC 3. Tạo mô hình hồi quy đa thức

Bây giờ, hãy tạo và điều chỉnh mô hình của chúng ta, nhưng lần này, chúng ta sẽ chỉ huấn luyện mô hình của mình trên dữ liệu huấn luyện

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
98

Lý do chúng tôi chỉ đào tạo mô hình của mình trên dữ liệu đào tạo là vì sau này chúng tôi muốn xem mô hình của chúng tôi sẽ dự đoán các phản hồi dựa trên các giá trị tính năng mà nó chưa từng thấy trước đây tốt như thế nào

Đây là cách chúng tôi có thể kiểm tra xem mô hình của chúng tôi hoạt động như thế nào trên dữ liệu chưa từng thấy trước đây

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
99

Nó có thể là rất nhiều để đưa vào, vì vậy hãy để tôi giải thích về nó

  • x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    935. Chúng tôi lưu các giá trị dự đoán mà mô hình của chúng tôi dự đoán dựa trên các giá trị tính năng chưa từng thấy trước đây [
    x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    936]
  • x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    937. Chúng tôi nhập
    x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    938 – biết thêm lý do trong phần tiếp theo
  • x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    939. Chúng tôi lấy căn bậc hai của
    x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    938 để lấy RMSE [lỗi bình phương trung bình căn], một chỉ số thường được sử dụng để đánh giá hiệu suất của mô hình máy học. RMSE hiển thị trung bình các giá trị mà mô hình của bạn dự đoán [_______3941] so với giá trị thực [
    x = np.arange[0, 30]
    y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
    plt.figure[figsize=[10,6]]
    plt.scatter[x, y]
    plt.show[]
    942]. Nói đại khái. RMSE càng nhỏ, mô hình càng tốt

Nếu bạn in

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
943, bạn sẽ nhận được số này

BƯỚC 4. Tạo mô hình hồi quy tuyến tính

Bây giờ, hãy tạo một mô hình hồi quy tuyến tính để chúng ta có thể so sánh hiệu suất của hai mô hình

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
0

Như bạn có thể thấy, các bước giống như trong trường hợp mô hình hồi quy đa thức của chúng tôi. Tuy nhiên, có một sự khác biệt quan trọng. Trong phương pháp

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
912, chúng tôi sử dụng
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
917 thay vì
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
57 và đó là lý do chính đáng.
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
917 chứa hai tính năng ban đầu của chúng tôi [
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
907 và
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
908], vì vậy mô hình hồi quy tuyến tính của chúng tôi có dạng

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
950

Nếu bạn in

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
951, bạn có thể thấy các giá trị của mô hình hồi quy tuyến tính cho
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
952 và
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
953

Tương tự, bạn có thể in đoạn chặn bằng

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
954

Mặt khác,

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
57 cũng chứa các tính năng mới, được tạo từ
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
907 và
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
908, vì vậy mô hình hồi quy đa thức của chúng tôi [dựa trên đa thức bậc 2 có hai tính năng] trông như thế này

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
958

Điều này là do

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
959 đã thêm ba tính năng mới vào hai tính năng ban đầu [x1 [
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
907] và x2 [
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
908]]. x12, x22 và x1x2

x12 và x22 không cần giải thích, vì chúng tôi đã đề cập đến cách chúng được tạo trong phần “Mã hóa mô hình hồi quy đa thức bằng scikit-learning”

Điều thú vị hơn nữa là x1x2 – khi hai tính năng được nhân lên với nhau, nó được gọi là thuật ngữ tương tác. Thuật ngữ tương tác giải thích cho thực tế là giá trị của một biến có thể phụ thuộc vào giá trị của biến khác [thêm về điều này tại đây].

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
962 đã tự động tạo thuật ngữ tương tác này cho chúng tôi, thật tuyệt phải không?

Theo đó, nếu chúng tôi in

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
963, chúng tôi sẽ nhận được các giá trị cho năm hệ số [
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
952,
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
953,
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
966,
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
967,
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
968]

Nhưng hãy quay lại so sánh hiệu suất của các mô hình của chúng tôi bằng cách in

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
969

RMSE cho mô hình hồi quy đa thức là

x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
970 [làm tròn], trong khi RMSE cho mô hình hồi quy tuyến tính là
x = np.arange[0, 30]
y = [3, 4, 5, 7, 10, 8, 9, 10, 10, 23, 27, 44, 50, 63, 67, 60, 62, 70, 75, 88, 81, 87, 95, 100, 108, 135, 151, 160, 169, 179]
plt.figure[figsize=[10,6]]
plt.scatter[x, y]
plt.show[]
971 [làm tròn]. Mô hình hồi quy đa thức hoạt động tốt hơn gần 3 lần so với mô hình hồi quy tuyến tính. Đó là sự khác biệt ngoạn mục

Nhưng bạn biết những gì khác là ngoạn mục?

Kiến thức mới thu được của bạn về thực hiện hồi quy đa thức. 😉

Phần kết luận

Hy vọng rằng bạn đã có đủ kiến ​​thức để hiểu cơ bản về hồi quy đa thức. Không chỉ vậy, bạn cũng nên biết một phương pháp [RMSE] để so sánh hiệu suất của các mô hình học máy

Trong suốt bài viết này, chúng tôi đã sử dụng đa thức bậc 2 cho các mô hình hồi quy đa thức của chúng tôi. Đương nhiên, bạn phải luôn kiểm tra trước khi triển khai mô hình mức độ đa thức nào hoạt động tốt nhất trên tập dữ liệu của bạn [sau khi hoàn thành bài viết này, bạn nên nghi ngờ cách thực hiện điều đó. 😉]

Chủ Đề