Sharecs.net
  • Trang chủ
  • Kho Tài Liệu – Báo Cáo
  • Thủ Thuật
    • Thủ thuật máy tính
      • Windows
      • MacOS
      • Linux
    • Thủ thuật internet
    • Thủ thuật phần mềm
  • Lỗi máy tính
    • Lỗi internet
    • Lỗi windows
    • Lỗi phần mềm
  • Lập Trình
    • Lập Trình Java
    • Lập trình Python
    • Lập Trình React Native
    • Code Hay
  • Linh Tinh
    • PhotoShop
    • Tải Video Wallpaper
    • Kho Tools
      • Cân Bằng Phương Trình Hóa Học
      • Custom Css Scrollbar – Render Code
      • Tạo Kí Tự Đặc Biệt Online
      • Tạo Deep Link
    • Tài Liệu – Luận Văn – Báo Cáo
    • Kho Theme Website WordPress
    • Phần Mềm
No Result
View All Result
  • Trang chủ
  • Kho Tài Liệu – Báo Cáo
  • Thủ Thuật
    • Thủ thuật máy tính
      • Windows
      • MacOS
      • Linux
    • Thủ thuật internet
    • Thủ thuật phần mềm
  • Lỗi máy tính
    • Lỗi internet
    • Lỗi windows
    • Lỗi phần mềm
  • Lập Trình
    • Lập Trình Java
    • Lập trình Python
    • Lập Trình React Native
    • Code Hay
  • Linh Tinh
    • PhotoShop
    • Tải Video Wallpaper
    • Kho Tools
      • Cân Bằng Phương Trình Hóa Học
      • Custom Css Scrollbar – Render Code
      • Tạo Kí Tự Đặc Biệt Online
      • Tạo Deep Link
    • Tài Liệu – Luận Văn – Báo Cáo
    • Kho Theme Website WordPress
    • Phần Mềm
No Result
View All Result
Sharecs.net
No Result
View All Result
Home Lập Trình Python

Ứng Dụng Thuật Toán Hồi Quy Tuyến Tính Để Chẩn Đoán Xơ Vữa Động Mạch 2021

by Nguyễn Tuấn
16/05/2022

Mục Lục

  • Giới thiệu
  • Phân tích toán học thuật toán hồi quy tuyến tính
    • Dạng thuật toán hồi quy tuyến tính (Linear Regression)
    • Hàm mất mát của thuật toán hồi quy tuyến tính
    • Tìm nghiệm của mô hình hồi quy tuyến tính
    • Mức độ lỗi của mô hình hồi quy tuyến tính
  • Áp dụng Linear Regression để chuẩn đoán xơ vữa động mạch
    • Xây dựng bộ dữ liệu với thuật toán hồi quy tuyến tính
    • Kết quả
  • Lời kết

Giới thiệu

Thuật toán hồi quy tuyến tính là một phương pháp thống kê để hồi quy dữ liệu. Với biến phụ thuộc có giá trị liên tục. Trong khi các biến độc lập có thể có một trong hai giá trị liên tục hoặc là giá trị phân loại. Hồi quy tuyến tính là một trong hai dạng lớn của học có giám sát (supervised learning), dựa trên tập dữ liệu mẫu.

Nói cách khác “Thuật toán hồi quy tuyến tính” là một phương pháp để dự đoán biến phụ thuộc (Y) dựa trên giá trị của biến độc lập (X). Nó có thể được sử dụng cho các trường hợp chúng ta muốn dự đoán một số lượng liên tục. Ví dụ, dự đoán giao thông ở một cửa hàng bán lẻ, dự đoán thời gian người dùng dừng lại một trang nào đó hoặc số trang đã truy cập vào một website nào đó v.v…

Phân tích toán học thuật toán hồi quy tuyến tính

Dạng thuật toán hồi quy tuyến tính (Linear Regression)

Hồi quy tuyến tính có phương trình đạng :

F(x) =  w0 + w1x1 + w2x2 + … + wnxn  (1)

Trong đó, w1, w2, wn, w0 là các hằng số, w0 còn được gọi là bias hay sai số. Mối quan hệ giữa y  f(x) bên trên là một mối quan hệ tuyến tính (linear). Bài toán chúng ta đang làm là một bài toán thuộc loại regression. Bài toán đi tìm các hệ số tối ưu { w1, w2, wn, w0 } chính vì vậy được gọi là bài toán Linear Regression (Hồi quy tuyến tính).

Trong phương trình (1) nếu chúng ta đặt w = [w0, w1, w2, wn]T là một vecter (cột) hệ số cần phải tối ưu và x = [1, x1, x2, xn] (đọc là x bar trong tiếng Anh) là vector (hàng) dữ liệu đầu vào mở rộng. Số 1 ở đầu được thêm vào để phép tính đơn giản hơn và thuận tiện cho việc tính toán. Khi đó, phương trình (1) có thể được viết lại dưới dạng:

2020 07 09 171414

Hàm mất mát của thuật toán hồi quy tuyến tính

Máy học từ giá trị trung bình của một hàm mất mát. Đây là một phương pháp đánh giá độ hiệu quả của một thuật toán nào đó trên bộ dữ liệu cho trước. Nếu kết quả dự đoán chênh lệch quá nhiều so với kết quả thực tế, hàm mất mát sẽ là một số rất lớn.

Điều tương tự xảy ra với tất cả các cặp (xi, yi), i = 1, 2, 3, …, N với N là số lượng dữ liệu quan sát được. Để hàm mất mát nhỏ nhất khi đó tổng sai số là nhỏ nhất tương đương với việc tìm w để hàm số sau đạt giá trị nhỏ nhất:

hàm mất mát thuật toán hồi quy tuyến  tính

Hàm số J(w) được gọi là hàm mất mát (loss function) của bài toán Linear Regression. Chúng ta luôn mong muốn rằng sự mất mát (sai số) là nhỏ nhất, điều đó đồng nghĩa với việc tìm vector hệ số w sao cho giá trị của hàm mất mát này càng nhỏ càng tốt.

Tìm nghiệm của mô hình hồi quy tuyến tính

nghiệm mô hình thuật toán hồi quy tuyến tính

Mức độ lỗi của mô hình hồi quy tuyến tính

Thuật toán hồi quy tuyến tính hay bất kỳ thuật toán nào đó đều có một mức độ lỗi nhất định. Và từ mức độ lỗi ta sẽ biết được mức độ học của mô hình.

mức độ lỗi của thuật toán hồi quy tuyến tính
mức độ lỗi của thuật toán

Áp dụng Linear Regression để chuẩn đoán xơ vữa động mạch

Xây dựng bộ dữ liệu với thuật toán hồi quy tuyến tính

Trong y sinh học, thường có rất nhiều  yếu tố khác nhau dẫn đến một hiện tượng. Ví dụ như hiện tượng xơ vữa động mạch  không chỉ do lượng cholesterol máu. Mà còn do nhiều yếu tố khác như di truyền, chủng tộc, tiền sử  mắc bệnh tim mạch, tuổi, giới, BMI, tăng huyết áp, đái tháo đường,…

Trong bài viết này mình không đề cập các yếu tố di truyền, chủng tộc, giới, mắc bệnh tim mạch… mà chỉ lưu ý đến các biến số như: tuổi, cholesterol, glucose, huyết áp tâm thu và BMI. Khi đó mô hình hồi quy tuyến tính đa biến với 5 yếu tố ( x1=tuổi, x2 = cholesterol, x3 = glucose, x4 = huyết áp, x5 = BMI ) như sau:

Bề dày TM = w0 + w1(tuổi)+ w2(cholesterol) + w3(glucose) + w4(huyết áp) +  w5(BMI)

Bộ dữ liệu gồm có 6 thuộc tính bao gồm: tuổi, chỉ số BMI, chỉ số huyết áp tối đa (mmHg), nồng độ glucose trong máu (mmol/l), nồng dộ cholesterol trong máu (mmol/l) và bề dày thành mạch (mm).

Bộ dữ liệu sẽ chia thành 2 phần trong đó 80% dữ liệu được làm bộ dữ liệu huấn luyện mô hình, 20% còn lại làm bộ dữ liệu thử nghiệm độ chính xác của mô hình. Dữ liệu về độ dày thành mạch làm biến mục tiêu. Những bộ dữ liệu còn lại bao gồm (tuổi, BMI, nồng độ glucose máu, nồng độ cholesterol máu) làm biến giải thích.

Note :
– Mối quan hệ giữa biến mục tiêu (Y) và biến giải thích (X) là tham số. Ví dụ Y = WX thì mỗi lần X tăng lên 1 đơn vị thì Y thêm W đơn vị dù cho bất kể X, Y có giá trị là bao nhiêu.
– Các giá trị của biến mục tiêu (Y) phải độc lập với nhau.
– Các giá trị của biến giải thích (X) không được có sai số ngẫu nhiên. Ví dụ: Giá trị huyết áp tối đa là 120 mmHg là 120 mmHg không được là 120 mmHg  2 mmHg.

  #Đọc tệp
   data = pd.read_csv("DuLieuYKhoa.csv", sep=";")
   data.head
  #In dữ liệu
   print(data)
  #Lấy dataframe bề dày thành mạch làm biên mục tiêu
   Y = data['BEDAYTM'].to_numpy()
  #Lấy datafarame không chứa bề dày thành mạch làm biến giải thích
   X = data.drop("BEDAYTM", axis = 1)
  #Phân loại dữ liệu train và test
   X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size = 20)
  #Tạo model suy đoán
   clf.fit(X_train, Y_train)
  #In hệ số hồi quy của các biến giải thích xếp theo thứ tự tăng dần
   print("\nHỆ SỐ HỒI QUY")
   print(pd.DataFrame({"Tên": X_train.columns, "Hệ số":     
         np.abs(clf.coef_)}).sort_values(by='Hệ số'))
  #In sai số
   print("\nSAI SỐ")
   print(clf.intercept_)
  #print(clf.score())
  #Tiến hành dự đoán với bộ dữ liệu test
   Y_pred = clf.predict(X_test)
   print("\nGIÁ TRỊ Y DỰ ĐOÁN")
   print(Y_pred)
  #In giá trị y test thực tế
   print("\nGIÁ TRỊ Y THỰC TẾ")
   print(Y_test)
  #Kiểm tra mức độ lỗi của model (Mean Squared Error)
   mse = sq.mean_squared_error(Y_test, Y_pred)
   print("KIỂM TRA MỨC ĐỘ LỖI CỦA MÔ HÌNH")
   print(mse)

Kết quả

Sau khi cài đặt thuật toán hồi quy tuyến tính và huấn luyện máy học dưới đây là kết quả:

kết quả của thuật toán hồi quy tuyến tính
kết quả của thuật toán hồi quy tuyến tính
2020 07 10 112120
ứng dụng thuật toán hồi quy tuyến tính

Để cài đặt Thuật Toán Hồi Quy Tuyến Tính Chẩn Đoán Xơ Vữa Động Mạch thì các bạn download theo link dưới.

Link Download

Lời kết

Thuật toán được cài đặt trên môi trường Python bằng PyCharm . Sau những gì Sharecs mong rằng sẽ giúp cho các bạn trong việc học tập cũng như tìm hiểu các thuật toán. Các bạn có thể tìm hiểu nhiều thuật toán với python tại đây.

Cảm ơn các bạn đã ghé thăm. Chúc các bạn thành công!

5/5 - (6 bình chọn)
Tags: python
ShareSendTweetShare

Cùng chuyên mục

Nhận Diện Chó Mèo Python – Tensorflow – Neural Network – Deep Learning

Nhận Diện Chó Mèo Python – Tensorflow – Neural Network – Deep Learning

14/12/2021
4.1k
Vẽ Biểu Đồ Trong Python – Pip install matplotlib

Vẽ Biểu Đồ Trong Python – Pip install matplotlib

31/07/2021
1.9k
Code Python Thuật Toán Logistic Regression

Code Python Thuật Toán Logistic Regression

07/01/2021
924
Bài Tập Code Python Đơn Giản Có Lời Giải – Phần 1

Tạo ứng dụng Chat Socket trong Python mô hình Client – Server

16/11/2020
3k
Bài Tập Code Python Đơn Giản Có Lời Giải – Phần 1

Bài tập xử lý ảnh có lời gải – code python ( OpenCV )

16/11/2020
5.3k
Bài Tập Code Python Đơn Giản Có Lời Giải – Phần 1

Bài Tập Code Python Đơn Giản Có Lời Giải – Phần 2

31/08/2020
3.7k
Load More
Subscribe
Notify of
guest

guest

7 Comments
Newest
Oldest Most Voted
Inline Feedbacks
View all comments

Tài nguyên

Cân bằng phương trình phản ứng hóa

Tạo deep link

Custom Css Scrollbar – Render Code

Bài Viết Nổi Bật

  • Bài Tập Code Python Đơn Giản Có Lời Giải – Phần 1

    Bài Tập Code Python Đơn Giản Có Lời Giải – Phần 1

    1 shares
    Share 0 Tweet 0
  • Download Video Wallpaper Agatsuma Zenitsu – Anime Kimetsu No Yaiba

    45 shares
    Share 0 Tweet 0
  • Trắc Nghiệm Mạng Máy Tính Phần 3 Có Đáp Án

    0 shares
    Share 0 Tweet 0
  • 500 Câu Trắc Nghiệm Mạng Máy Tính Phần 1 Có Đáp Án

    0 shares
    Share 0 Tweet 0
  • Hướng Dẫn React Native Build apk File

    0 shares
    Share 0 Tweet 0
  • Trending
  • Comments
  • Latest
Download Video Wallpaper Agatsuma Zenitsu – Anime Kimetsu No Yaiba

Download Video Wallpaper Agatsuma Zenitsu – Anime Kimetsu No Yaiba

19/02/2023
Bài Tập Code Python Đơn Giản Có Lời Giải – Phần 1

Bài Tập Code Python Đơn Giản Có Lời Giải – Phần 1

31/08/2020
500 Câu Trắc Nghiệm Mạng Máy Tính Phần 1 Có Đáp Án

500 Câu Trắc Nghiệm Mạng Máy Tính Phần 1 Có Đáp Án

23/08/2021
Hướng dẫn cài đặt React Native trên Windows – Phần 1

Hướng Dẫn React Native Build apk File

14/11/2020
Thư viện đồ họa trong Python – Source Code Bắn Pháo Hoa

Thư viện đồ họa trong Python – Source Code Bắn Pháo Hoa

18/03/2023
Chia sẻ quá trình để xây dựng 1 group Facebook cho newbie

Chia sẻ quá trình để xây dựng 1 group Facebook cho newbie

18/03/2023
Tính tổng – Two Sum Leetcode

Tính tổng – Two Sum Leetcode

14/03/2023
So sánh If Else và Switch Case

So sánh If Else và Switch Case

21/02/2023

Phản hồi gần đây

  • luan trong Thư viện đồ họa trong Python – Vẽ doraemon
  • tuan trong Nhận Diện Chó Mèo Python – Tensorflow – Neural Network – Deep Learning
  • Lê Thị Vân trong Fake Giấy Tờ Xác Minh Doanh Nghiệp Trên Facebook
  • Crom trong Cách Kích Hoạt Key Win 11 Bản Quyền –Active Win 11 – Win 10 Free

Donate

Mời Share’cs ly Cafe 

Liên hệ quảng cáo

Email: Sharecs.net@gmail.com

Hợp tác nội dung: Sharecs rất vinh dự được mời các bạn đóng góp những sản phẩm thiết kế, thủ thuật hay những chia sẻ hữu ích… để cùng chia sẻ rộng rãi tới mọi người!

Giới Thiệu

Sharecs.net là một website/blog cá nhân, chuyên chia sẻ những kiến thức xoay quanh công nghệ như máy tính, internet, phần mềm, lập trình,... Mình hi vọng, Sharecs sẽ mang lại những kiến thức mà bạn chưa từng được học trên ghế nhà trường!

  • Giới Thiệu & Liên Hệ
  • Chính Sách Bảo Mật

CopyRight By Sharecs.net DMCA.com Protection Status

No Result
View All Result
  • Trang chủ
  • Kho Tài Liệu – Báo Cáo
  • Thủ Thuật
    • Thủ thuật máy tính
      • Windows
      • MacOS
      • Linux
    • Thủ thuật internet
    • Thủ thuật phần mềm
  • Lỗi máy tính
    • Lỗi internet
    • Lỗi windows
    • Lỗi phần mềm
  • Lập Trình
    • Lập Trình Java
    • Lập trình Python
    • Lập Trình React Native
    • Code Hay
  • Linh Tinh
    • PhotoShop
    • Tải Video Wallpaper
    • Kho Tools
      • Cân Bằng Phương Trình Hóa Học
      • Custom Css Scrollbar – Render Code
      • Tạo Kí Tự Đặc Biệt Online
      • Tạo Deep Link
    • Tài Liệu – Luận Văn – Báo Cáo
    • Kho Theme Website WordPress
    • Phần Mềm

CopyRight By Sharecs.net DMCA.com Protection Status