Làm thế nào để bạn làm phù hợp tuyến tính trong python?

Scikit-learning là một gói Python giúp đơn giản hóa việc triển khai nhiều phương pháp Machine Learning [ML] để phân tích dữ liệu dự đoán, bao gồm cả hồi quy tuyến tính

Hồi quy tuyến tính có thể được coi là tìm đường thẳng phù hợp nhất với một tập hợp các điểm dữ liệu phân tán.  

Sau đó, bạn có thể chiếu đường đó để dự đoán các điểm dữ liệu mới. Hồi quy tuyến tính là một thuật toán ML cơ bản do các thuộc tính cốt lõi và tương đối đơn giản của nó

Khái niệm hồi quy tuyến tính

Hiểu biết cơ bản về toán thống kê là chìa khóa để hiểu hồi quy tuyến tính, cũng như nền tảng tốt trong các khái niệm ML

Để biết thêm thông tin về các khái niệm và thuật ngữ ML, hãy tham khảo. Scikit-Learn trong Python là gì?

Sau đây là một số khái niệm chính bạn sẽ gặp khi làm việc với phương pháp hồi quy tuyến tính của scikit-learning

  • Phù hợp nhất – đường thẳng trong biểu đồ giúp giảm thiểu độ lệch giữa các điểm dữ liệu phân tán có liên quan.
  • Hệ số – còn được gọi là tham số, là hệ số mà một biến được nhân với. Trong hồi quy tuyến tính, một hệ số biểu thị những thay đổi trong Biến phản hồi [xem bên dưới].
  • Hệ số xác định – hệ số tương quan được ký hiệu là 𝑅². Được sử dụng để mô tả độ chính xác hoặc mức độ phù hợp trong hồi quy.  
  • Tương quan – mối quan hệ giữa hai biến về cường độ và mức độ có thể định lượng, thường được gọi là 'mức độ tương quan'. Các giá trị nằm trong khoảng -1. 0 và 1. 0.
  • Tính năng phụ thuộc – một biến được ký hiệu là y trong phương trình độ dốc y=ax+b . Còn được gọi là Đầu ra hoặc Phản hồi.
  • Đường hồi quy ước tính – đường thẳng phù hợp nhất với tập hợp các điểm dữ liệu rải rác.
  • Tính năng độc lập – một biến được ký hiệu là x trong phương trình độ dốc y=ax+b . Còn được gọi là Đầu vào hoặc bộ dự đoán.
  • Giao điểm – vị trí tại đó Độ dốc cắt trục Y được ký hiệu là b trong phương trình độ dốc .
  • Bình phương nhỏ nhất – một phương pháp ước tính Phù hợp nhất dữ liệu, bằng cách giảm thiểu tổng của .
  • Trung bình – acấp của một tập hợp số, nhưng trong hồi quy tuyến tính, Trung bình là .
  • Hồi quy bình phương nhỏ nhất thông thường [OLS] – thường được gọi là Hồi quy tuyến tính.
  • Phần dư – khoảng cách dọc giữa một điểm dữ liệu và đường hồi quy [xem Phần dư trong Hình 1 bên dưới].
  • Hồi quy – ước tính thay đổi dự đoán trong một biến liên quan đến thay đổi trong các biến khác [xem Phản hồi dự đoán trong Hình 1 bên dưới].
  • Mô hình hồi quy – công thức lý tưởng để tính gần đúng một hồi quy.
  • Biến phản hồi – bao gồm cả Phản hồi dự đoán [giá trị được dự đoán bởi hồi quy] và Phản hồi thực tế, là giá trị thực của điểm dữ liệu [xem Hình 1 bên dưới].
  • Dốc – độ dốc của đường hồi quy. Độ dốc Giao điểm có thể được sử dụng để xác định mối quan hệ tuyến tính giữa hai biến. y=ax+b.
  • Hồi quy tuyến tính đơn giản – một hồi quy tuyến tính có một biến độc lập duy nhất.

Hình 1. Minh họa một số khái niệm và thuật ngữ được định nghĩa trong phần trên và được sử dụng trong hồi quy tuyến tính

Định nghĩa lớp hồi quy tuyến tính

Tập lệnh hồi quy tuyến tính scikit-learning bắt đầu bằng cách nhập lớp LinearRegression .

from sklearn.linear_model import LinearRegression
sklearn.linear_model.LinearRegression[]

Mặc dù lớp này không hiển thị trong tập lệnh, nhưng nó chứa các tham số mặc định thực hiện công việc nặng nhọc đối với hồi quy tuyến tính bình phương nhỏ nhất đơn giản

sklearn.linear_model.LinearRegression[fit_intercept=True, normalize=False, copy_X=True]

Thông số.

  • fit_interceptbool, default=True

Tính hệ số chặn cho mô hình. Nếu được đặt thành Sai, sẽ không có phần chặn nào được sử dụng trong phép tính

  • normalizebool, default=False

Chuyển đổi giá trị đầu vào thành boolean.  

  • copy_Xbool, default=True

Sao chép giá trị X. Nếu Đúng, X sẽ được sao chép;

Cách tạo mô hình hồi quy tuyến tính

Trong ví dụ này, một mô hình hồi quy tuyến tính được tạo dựa trên dữ liệu trong một mảng có nhiều mảng. Các hệ số được xây dựng và sau đó được in trong bảng điều khiển

# Import the packages and classes needed in this example:
import numpy as np
from sklearn.linear_model import LinearRegression

# Create a numpy array of data:
x = np.array[[6, 16, 26, 36, 46, 56]].reshape[[-1, 1]]
y = np.array[[4, 23, 10, 12, 22, 35]]

# Create an instance of a linear regression model and fit it to the data with the fit[] function:
model = LinearRegression[].fit[x, y] 

# The following section will get results by interpreting the created instance: 

# Obtain the coefficient of determination by calling the model with the score[] function, then print the coefficient:
r_sq = model.score[x, y]
print['coefficient of determination:', r_sq]

# Print the Intercept:
print['intercept:', model.intercept_]

# Print the Slope:
print['slope:', model.coef_] 

# Predict a Response and print it:
y_pred = model.predict[x]
print['Predicted response:', y_pred, sep='\n']

Xem cách tạo Hồi quy tuyến tính và sau đó in Hệ số

Cách tạo hồi quy tuyến tính và hiển thị nó

Trong ví dụ này, dữ liệu ngẫu nhiên được hiển thị trong một biểu đồ. Sau đó, một mô hình hồi quy tuyến tính được tạo dựa trên dữ liệu và một đường hồi quy ước tính cuối cùng được hiển thị

# Import the packages and classes needed for this example:
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression

# Create random data with numpy, and plot it with matplotlib:
rnstate = np.random.RandomState[1]
x = 10 * rnstate.rand[50]
y = 2 * x - 5 + rnstate.randn[50]
plt.scatter[x, y];
plt.show[]

# Create a linear regression model based the positioning of the data and Intercept, and predict a Best Fit:
model = LinearRegression[fit_intercept=True]
model.fit[x[:, np.newaxis], y]
xfit = np.linspace[0, 10, 1000]
yfit = model.predict[xfit[:, np.newaxis]]

# Plot the estimated linear regression line with matplotlib:
plt.scatter[x, y]
plt.plot[xfit, yfit];
plt.show[]

Xem cách tạo Hồi quy tuyến tính và hiển thị nó trong Biểu đồ

Hồi quy so với phân loại  

Sự khác biệt chính giữa hồi quy và phân loại là biến đầu ra trong hồi quy là liên tục, trong khi đầu ra để phân loại là rời rạc. Hồi quy dự đoán số lượng; .  

Để biết thông tin về phân loại, hãy tham khảo. Cách phân loại dữ liệu trong Python

Các hướng dẫn sau đây sẽ cung cấp cho bạn hướng dẫn từng bước về cách làm việc với các gói Python học máy

  • Scikit-learning trong Python là gì
  • Cách cài đặt Scikit-learning
  • Cách phân loại dữ liệu trong Python
  • Cách gắn nhãn dữ liệu cho máy học trong Python
  • Cách xây dựng một mảng Numpy
  • Cách biến một mảng Numpy thành một danh sách

Nhận phiên bản Python, được biên dịch sẵn với Scikit-learn, NumPy, Pandas và các Gói ML phổ biến khác

ActivePython là bản phân phối Python đáng tin cậy dành cho Windows, Linux và Mac, được tích hợp sẵn các gói Python hàng đầu dành cho máy học – miễn phí để sử dụng cho mục đích phát triển

Một số gói ML phổ biến mà bạn được biên dịch trước – Với ActivePython

Học máy

  • TensorFlow [học sâu với mạng thần kinh]*
  • scikit-learning [thuật toán máy học]
  • máy ảnh [API mạng thần kinh cấp cao]

Khoa học dữ liệu

  • gấu trúc [phân tích dữ liệu]
  • NumPy [mảng nhiều chiều]
  • SciPy [thuật toán để sử dụng với numpy]
  • HDF5 [lưu trữ và thao tác dữ liệu]
  • matplotlib [trực quan hóa dữ liệu]

Tải ActiveState Python cho Machine Learning cho Windows, macOS hoặc Linux tại đây

Tại sao nên sử dụng ActiveState Python thay vì mã nguồn mở Python?

Mặc dù bản phân phối mã nguồn mở của Python có thể phù hợp với một cá nhân, nhưng nó không phải lúc nào cũng đáp ứng các yêu cầu về hỗ trợ, bảo mật hoặc nền tảng của các tổ chức lớn

Đây là lý do tại sao các tổ chức chọn ActivePython cho nhu cầu khoa học dữ liệu, xử lý dữ liệu lớn và phân tích thống kê của họ

Được đóng gói sẵn với các gói quan trọng nhất mà Nhà khoa học dữ liệu cần, ActiveState Python được biên dịch sẵn để bạn và nhóm của bạn không phải lãng phí thời gian để định cấu hình bản phân phối nguồn mở. Bạn có thể tập trung vào những gì quan trọng – dành nhiều thời gian hơn để xây dựng các thuật toán và mô hình dự đoán đối với các nguồn dữ liệu lớn của bạn và ít thời gian hơn cho cấu hình hệ thống

ActiveState Python tương thích 100% với bản phân phối Python mã nguồn mở và cung cấp hỗ trợ thương mại và bảo mật mà tổ chức của bạn yêu cầu

Với ActiveState Python, bạn có thể khám phá và thao tác dữ liệu, chạy phân tích thống kê và cung cấp hình ảnh trực quan để chia sẻ thông tin chuyên sâu với người dùng doanh nghiệp và giám đốc điều hành của bạn sớm hơn–bất kể dữ liệu của bạn nằm ở đâu

Tải xuống ActiveState Python để bắt đầu hoặc liên hệ với chúng tôi để tìm hiểu thêm về cách sử dụng ActiveState Python trong tổ chức của bạn

Chủ Đề