Bài giảng Hồi quy tuyến tính đơn biến cung cấp cho người học những kiến thức như: Thực hành hồi qui tuyến tính đơn biến; trực quan hóa kết quả; kiểm tra mô hình trên dữ liệu test; các câu hỏi; giải thích code;...Mời các bạn cùng tham khảo!
SIMPLE LINEAR REGRESSION HỒI QUI TUYẾN TÍNH ĐƠN BIẾN TS Nguyễn Tấn Trần Minh Khang ThS Võ Duy Ngun Cao học Nguyễn Hồn Mỹ Tình nguyện viên Lê Ngọc Huy Tình nguyện viên Cao Bá Kiệt TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN, KHU PHỐ 6, PHƯỜNG LINH TRUNG, QUẬN THỦ ĐỨC, TP HỒ CHÍ MINH [T] 028 3725 2002 101 | [F] 028 3725 2148 | [W] www.uit.edu.vn | [E] info@uit.edu.vn GIỚI THIỆU HỒI QUY TUYẾN TÍNH TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN, KHU PHỐ 6, PHƯỜNG LINH TRUNG, QUẬN THỦ ĐỨC, TP HỒ CHÍ MINH [T] 028 3725 2002 101 | [F] 028 3725 2148 | [W] www.uit.edu.vn | [E] info@uit.edu.vn Giới thiệu ─ Sir Francis Galton (1822 – 1911) ─ Anthropology and polymathy ─ Doctoral students Karl Pearson ─ In the late 1860s, Galton conceived the standard deviation ─ He created the statistical concept of correlation and also discovered the properties of the bivariate normal distribution and its relationship to regression analysis ─ https://en.wikipedia.org/wiki/Francis_Galton TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN, KHU PHỐ 6, PHƯỜNG LINH TRUNG, QUẬN THỦ ĐỨC, TP HỒ CHÍ MINH [T] 028 3725 2002 101 | [F] 028 3725 2148 | [W] www.uit.edu.vn | [E] info@uit.edu.vn Giới thiệu ─ Simple linear regression – SLR ─ Hồi qui tuyến tính đơn biến ─ In statistics, simple linear regression is a linear regression model with a single explanatory variable ─ Trong thống kê, học máy, hồi quy tuyến tính đơn biến mơ hình hồi qui tuyến tính với biến độc lập ─ https://en.wikipedia.org/wiki/Simple_linear_regression TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN, KHU PHỐ 6, PHƯỜNG LINH TRUNG, QUẬN THỦ ĐỨC, TP HỒ CHÍ MINH [T] 028 3725 2002 101 | [F] 028 3725 2148 | [W] www.uit.edu.vn | [E] info@uit.edu.vn Giới thiệu ─ Sample points with one independent variable and one dependent variable (conventionally, the x and y coordinates in a Cartesian coordinate system) ─ Điểm liệu tích hợp biến phụ thuộc biến độc lập Điểm liệu biểu diễn hệ trục tọa độ Cartesian ─ Finds a linear function (a non-vertical straight line) that, as accurately as possible ─ Tìm hàm tuyến tính mà độ xác tốt ─ https://en.wikipedia.org/wiki/Simple_linear_regression TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN, KHU PHỐ 6, PHƯỜNG LINH TRUNG, QUẬN THỦ ĐỨC, TP HỒ CHÍ MINH [T] 028 3725 2002 101 | [F] 028 3725 2148 | [W] www.uit.edu.vn | [E] info@uit.edu.vn Giới thiệu ─ Predicts the dependent variable values as a function of the independent variables ─ Dự báo giá trị "biến phụ thuộc" dựa theo hàm số "biến độc lập" ─ Nói cách trừu tượng dự báo giá trị "biến phụ thuộc" dựa theo mơ hình ─ https://en.wikipedia.org/wiki/Simple_linear_regression TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THÔNG TIN, KHU PHỐ 6, PHƯỜNG LINH TRUNG, QUẬN THỦ ĐỨC, TP HỒ CHÍ MINH [T] 028 3725 2002 101 | [F] 028 3725 2148 | [W] www.uit.edu.vn | [E] info@uit.edu.vn HỒI QUY TUYẾN TÍNH ĐƠN BIẾN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN, KHU PHỐ 6, PHƯỜNG LINH TRUNG, QUẬN THỦ ĐỨC, TP HỒ CHÍ MINH [T] 028 3725 2002 101 | [F] 028 3725 2148 | [W] www.uit.edu.vn | [E] info@uit.edu.vn Hồi quy tuyến tính đơn biến ─ Phát biểu toán: + Tập liệu đầu vào: với số vô hướng + Tập liệu đầu ra: số vơ hướng + Các cặp liệu tạo nên tập huấn luyện + Từ tập huấn luyện ta tìm hàm số , ánh xạ phần tử từ tập sang phần tử (xấp xỉ) tương ứng tập : ─ Mục đích xấp xỉ hàm số thật tốt để có liệu mới, tính nhãn tương ứng với TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN, KHU PHỐ 6, PHƯỜNG LINH TRUNG, QUẬN THỦ ĐỨC, TP HỒ CHÍ MINH [T] 028 3725 2002 101 | [F] 028 3725 2148 | [W] www.uit.edu.vn | [E] info@uit.edu.vn Mơ hình hồi quy ─ Mơ hình hồi quy tuyến tính đơn giản tìm hàm số dạng: có ─ Trong đó: + Biến gọi biến độc lập + Biến gọi biến phụ thuộc (biến phụ thuộc vào biến độc lập ) TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN, KHU PHỐ 6, PHƯỜNG LINH TRUNG, QUẬN THỦ ĐỨC, TP HỒ CHÍ MINH [T] 028 3725 2002 101 | [F] 028 3725 2148 | [W] www.uit.edu.vn | [E] info@uit.edu.vn Mô hình hồi quy ─ Mơ hình hồi quy tuyến tính đơn giản có dạng: ─ gọi tham số mơ hình ─ Các tham số trước ─ Các tham số ước lượng dựa vào liệu (we estimate them from data) TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN, KHU PHỐ 6, PHƯỜNG LINH TRUNG, QUẬN THỦ ĐỨC, TP HỒ CHÍ MINH [T] 028 3725 2002 101 | [F] 028 3725 2148 | [W] www.uit.edu.vn | [E] info@uit.edu.vn 10 Giải thích code 11.X=np.array(dataset.iloc[:,0].values).reshape(-1,1) ─ Trong câu lệnh trên, ta nói: + Đối tượng dataset gọi thực phương thức iloc[:,0] cho kết trả vector chiều tương ứng với cột có số + Đối tượng vector trả gọi thực phương thức values để chuyển sang mảng chiều số thực biểu diễn thư viện numpy + Hàm np.array gọi với đối số (dataset.iloc[:,0].values)kết trả đối tượng có dạng mảng chiều số thực + Đối tượng lại gọi thực phương thức reshape với đối số (-1,1) để biến đổi kích thước ma trận với số cột = 1, số dịng Python tự tính (-1) + Kết trả gán cho đối tượng X h TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN, KHU PHỐ 6, PHƯỜNG LINH TRUNG, QUẬN THỦ ĐỨC, TP HỒ CHÍ MINH [T] 028 3725 2002 101 | [F] 028 3725 2148 | [W] www.uit.edu.vn | [E] info@uit.edu.vn 73 Giải thích code 11.Y=np.array(dataset.iloc[:,1].values) ─ Trong câu lệnh trên, ta nói: + Đối tượng dataset gọi thực phương thức iloc[:,1] cho kết trả vector chiều tương ứng với cột có số + Đối tượng vector trả gọi thực phương thức values để chuyển sang mảng chiều số thực biểu diễn thư viện numpy + Hàm np.array gọi với đối số (dataset.iloc[:,1].values) kết trả đối tượng có dạng mảng chiều số thực + Kết trả gán cho đối tượng Y TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN, KHU PHỐ 6, PHƯỜNG LINH TRUNG, QUẬN THỦ ĐỨC, TP HỒ CHÍ MINH [T] 028 3725 2002 101 | [F] 028 3725 2148 | [W] www.uit.edu.vn | [E] info@uit.edu.vn 74 Giải thích code 11.X_train,X_test,Y_train,Y_test=train_test_split(X,Y,train _size=0.8,random_state=0) ─ Trong câu lệnh trên, ta nói: + Hàm train_test_split gọi thực với đối số (X,Y,train_size=0.8, random_state=0) + Trong đó, X biến độc lập, Y biến phụ thuộc, train_size =0.8 chia dataset theo tỉ lệ 8:2 (8 : training set ; : test set) + Kết trả gán lúc cho biến X_train,X_test, Y_train,Y_test TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN, KHU PHỐ 6, PHƯỜNG LINH TRUNG, QUẬN THỦ ĐỨC, TP HỒ CHÍ MINH [T] 028 3725 2002 101 | [F] 028 3725 2148 | [W] www.uit.edu.vn | [E] info@uit.edu.vn 75 Giải thích code 11.plt.scatter(X_train,Y_train,color ="red") ─ Trong câu lệnh trên, ta nói: + Module plt (pyplot) gọi thực phương thức scatter với đối số (X_train,Y_train,color ="red") để thể biểu đồ điểm phân tán với điểm có tọa độ (X_train, Y_train) biểu diễn điểm màu đỏ TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN, KHU PHỐ 6, PHƯỜNG LINH TRUNG, QUẬN THỦ ĐỨC, TP HỒ CHÍ MINH [T] 028 3725 2002 101 | [F] 028 3725 2148 | [W] www.uit.edu.vn | [E] info@uit.edu.vn 76 Giải thích code 11.plt.title("Salary vs Experiment") ─ Trong câu lệnh trên, ta nói: + Module plt (pyplot) gọi thực phương thức title với đối số chuỗi ("Salary vs Experiment") để thể tiêu đề cho biểu đồ TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN, KHU PHỐ 6, PHƯỜNG LINH TRUNG, QUẬN THỦ ĐỨC, TP HỒ CHÍ MINH [T] 028 3725 2002 101 | [F] 028 3725 2148 | [W] www.uit.edu.vn | [E] info@uit.edu.vn 77 Giải thích code 11.plt.xlabel("Experiment (years)") 12.plt.ylabel("Salary (dollars/year)") ─ Trong câu lệnh trên, ta nói: + Module plt (pyplot) gọi thực phương thức xlabel với đối số chuỗi ("Experiment (years)") để thể tên hoành độ x + Module plt (pyplot) gọi thực phương thức ylabel với đối số chuỗi ("Salary (dollars/year)") để thể tên tung độ y TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN, KHU PHỐ 6, PHƯỜNG LINH TRUNG, QUẬN THỦ ĐỨC, TP HỒ CHÍ MINH [T] 028 3725 2002 101 | [F] 028 3725 2148 | [W] www.uit.edu.vn | [E] info@uit.edu.vn 78 Giải thích code 11.plt.show() ─ Trong câu lệnh trên, ta nói: + Module plt (pyplot) gọi thực phương thức show() không đối số để hiển thị biểu đồ TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN, KHU PHỐ 6, PHƯỜNG LINH TRUNG, QUẬN THỦ ĐỨC, TP HỒ CHÍ MINH [T] 028 3725 2002 101 | [F] 028 3725 2148 | [W] www.uit.edu.vn | [E] info@uit.edu.vn 79 Giải thích code 11.regressor = LinearRegression() ─ Trong câu lệnh trên, ta nói: + Hàm khởi tạo mặc định LinearRegression() khơng đối số gọi thực + Kết trả đối tượng thuộc lớp LinearRegression đối tượng gán cho regressor TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN, KHU PHỐ 6, PHƯỜNG LINH TRUNG, QUẬN THỦ ĐỨC, TP HỒ CHÍ MINH [T] 028 3725 2002 101 | [F] 028 3725 2148 | [W] www.uit.edu.vn | [E] info@uit.edu.vn 80 Giải thích code 11.regressor.fit(X_train,Y_train) ─ Trong câu lệnh trên, ta nói: + Đối tượng regressor gọi thực phương thức fit với đối số (X_train,Y_train) + Phương thức fit thay đổi giá trị thuộc tính đối tượng regressor Kết thúc câu lệnh, đối tượng regressor chứa thơng tin phương trình hồi quy tuyến tính ứng với tập liệu (X_train,Y_train) TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN, KHU PHỐ 6, PHƯỜNG LINH TRUNG, QUẬN THỦ ĐỨC, TP HỒ CHÍ MINH [T] 028 3725 2002 101 | [F] 028 3725 2148 | [W] www.uit.edu.vn | [E] info@uit.edu.vn 81 Giải thích code 11.Y_train_pred = regressor.predict(X_train) ─ Trong câu lệnh trên, ta nói: + Đối tượng regressor gọi thực phương thức predict với đối số (X_train) + Kết trả mảng giá trị dự đốn từ mơ hình (model lưu trữ bên đối tượng regressor)ứng với tập X_train gán cho đối tượng Y_train_pred TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN, KHU PHỐ 6, PHƯỜNG LINH TRUNG, QUẬN THỦ ĐỨC, TP HỒ CHÍ MINH [T] 028 3725 2002 101 | [F] 028 3725 2148 | [W] www.uit.edu.vn | [E] info@uit.edu.vn 82 Giải thích code 11.plt.scatter(X_train,Y_train,color ="red") ─ Trong câu lệnh trên, ta nói: + Module plt (pyplot) gọi thực phương thức scatter với đối số (X_train,Y_train,color ="red") để thể biểu đồ điểm phân tán với điểm có tọa độ (X_train, Y_train) biểu diễn điểm màu đỏ TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN, KHU PHỐ 6, PHƯỜNG LINH TRUNG, QUẬN THỦ ĐỨC, TP HỒ CHÍ MINH [T] 028 3725 2002 101 | [F] 028 3725 2148 | [W] www.uit.edu.vn | [E] info@uit.edu.vn 83 Giải thích code 11.plt.plot(X_train,Y_train_pred,color="blue") ─ Trong câu lệnh trên, ta nói: + Module plt (pyplot) gọi thực phương thức plot với đối số (X_train,Y_train_pred,color="blue") để vẽ đường thẳng màu xanh nối điểm có tọa độ (X_train, Y_train_pred) TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN, KHU PHỐ 6, PHƯỜNG LINH TRUNG, QUẬN THỦ ĐỨC, TP HỒ CHÍ MINH [T] 028 3725 2002 101 | [F] 028 3725 2148 | [W] www.uit.edu.vn | [E] info@uit.edu.vn 84 Giải thích code 11.plt.xlabel("Experiment (years)") 12.plt.ylabel("Salary (dollars/year)") ─ Trong câu lệnh trên, ta nói: + Module plt (pyplot) gọi thực phương thức xlabel với đối số chuỗi ("Experiment (years)") để thể tên hoành độ x + Module plt (pyplot) gọi thực phương thức ylabel với đối số chuỗi ("Salary (dollars/year)") để thể tên tung độ y TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN, KHU PHỐ 6, PHƯỜNG LINH TRUNG, QUẬN THỦ ĐỨC, TP HỒ CHÍ MINH [T] 028 3725 2002 101 | [F] 028 3725 2148 | [W] www.uit.edu.vn | [E] info@uit.edu.vn 85 Giải thích code 11.plt.show() ─ Trong câu lệnh trên, ta nói: + Module plt (pyplot) gọi thực phương thức show() không đối số để hiển thị biểu đồ TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN, KHU PHỐ 6, PHƯỜNG LINH TRUNG, QUẬN THỦ ĐỨC, TP HỒ CHÍ MINH [T] 028 3725 2002 101 | [F] 028 3725 2148 | [W] www.uit.edu.vn | [E] info@uit.edu.vn 86 Chúc bạn học tốt Thân chào tạm biệt bạn ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN TP.HCM TOÀN DIỆN – SÁNG TẠO – PHỤNG SỰ TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN, KHU PHỐ 6, PHƯỜNG LINH TRUNG, QUẬN THỦ ĐỨC, TP HỒ CHÍ MINH [T] 028 3725 2002 101 | [F] 028 3725 2148 | [W] www.uit.edu.vn | [E] info@uit.edu.vn 87 ... info@uit.edu.vn Mô hình hồi quy ─ Mơ hình hồi quy tuyến tính đơn giản tìm hàm số dạng: có ─ Trong đó: + Biến gọi biến độc lập + Biến gọi biến phụ thuộc (biến phụ thuộc vào biến độc lập ) TRƯỜNG... SLR ─ Hồi qui tuyến tính đơn biến ─ In statistics, simple linear regression is a linear regression model with a single explanatory variable ─ Trong thống kê, học máy, hồi quy tuyến tính đơn biến. .. info@uit.edu.vn 36 Simple Linear Regression ─ Hồi quy tuyến tính dạng toán hồi quy mà ta giả định mối quan hệ liệu đầu vào liệu đầu tương quan tuyến tính TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THÔNG TIN, KHU