1. Trang chủ
  2. » Luận Văn - Báo Cáo

Áp dụng thuật toán hồi quy tuyến tính dự Đoán bệnh nhân bị ung thư phổi

26 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Áp Dụng Thuật Toán Hồi Quy Tuyến Tính Dự Đoán Bệnh Nhân Bị Ung Thư Phổi
Tác giả Mai Trung Dũng, Phạm Hoàng Trung Sơn
Người hướng dẫn Vũ Văn Định
Trường học Trường Đại Học Điện Lực
Chuyên ngành Công Nghệ Thông Tin
Thể loại báo cáo
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 26
Dung lượng 2,5 MB

Nội dung

LỜI NÓI ĐẦU Trong thời buổi hiện đại ngày nay, công nghệ thông tin cũng như những ứng dụng của nó đang không ngừng phát triển với tốc độ ngày càng tăng, lượng thông tin và cơ sở dữ liệu

Trang 1

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO HỌC PHẦN KHAI PHÁ DỮ LIỆU

ĐÊ TAI:

ÁP DỤNG THUẬT TOÁN HỒI QUY TUYẾN TÍNH

DỰ ĐOÁN BỆNH NHÂN BỊ UNG THƯ PHỔI

Sinh viên thực hiện : MAI TRUNG DŨNG

PHẠM HOÀNG TRUNG SƠN Giảng viên hướng

Trang 2

PHIẾU CHẤM ĐIỂM

Sinh viên thực hiện:

Trang 3

MỤC L C Ụ

L I NÓI Ờ ĐẦU 4

CHƯƠNG 1: T ỔNG QUAN V KHAI PHÁ D Ề Ữ LIỆU 5

1.1 Khai phá d ữ liệu là gì? 5

1.2 Quá trình khám phá tri thức 5

1.3 Ứng ụng ủ d c a khai phá ữ liệu 6 d 1.4 Tiền x ử lý d ữ liệu 6

1.4.1 D ữ liệu 7

1.4.2 Làm s ch d ạ ữ liệu 7

1.4.3 Tích hợp dữ liệu 7

1.4.4 Biế đổn i d li u 8 ữ ệ 1.4.5 Thu giảm d u (data reduction) ữ liệ 8

1.5 Các ỹ k thu t khai ậ phá ữ liệu 8 d 1.5.1 Kỹ thuật khai phá luật k hế ợp 8

1.5.2 Kỹ thuậ phân lớp 8 t 1.5.3 Kỹ thuật phân cụm 9

1.5.4 H i quy ồ tuyến tính 9

CHƯƠNG 2: THUẬT TOÁN H I QUY TUY N TÍNH Ồ Ế 10

2.1 Giới thiệu 10

2.2 Phân tích toán học 10

2.2.1 Dạng ủ c a Linear Regression 10

2.2.2 Hàm m t mát ấ 11

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

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

CHƯƠNG 3: ÁP ỤNG THUẬT TOÁN 13 D 3.1 Giới thiệu Google colab 13

3.1.1 Google Colab là gì? 13

3.1.2 T i sao nên s dạ ử ụng Google Colab 13

3.1.3 Các tính năng của Google colab 14

3.2 Mô tả bài toán 15

3.3 Mô tả d ữ liệu 15

3.4 Áp dụng thuật toán và bài toán 16

3.5 Kết quả 19

K T LU N Ế Ậ 25

TÀI LI U THAM KH O Ệ Ả 26

Trang 4

LỜI NÓI ĐẦU

Trong thời buổi hiện đại ngày nay, công nghệ thông tin cũng như những ứng dụng của nó đang không ngừng phát triển với tốc độ ngày càng tăng, lượng thông tin và cơ sở dữ liệu được thu thập và lưu trữ cũng tích lũy ngày một nhiều lên Con người cũng vì thế mà cần có thông tin với tốc độ nhanh nhất để đưa ra quyết định dựa trên lượng dữ liệu khổng lồ đã có Các phương pháp quản trị và khai thác cơ sở dữ liệu truyền thống ngày càng không đáp ứng được nhu cầu thực tế Chính vì vậy, một khuynh hướng kỹ thuật mới là

“Kỹ thuật phát hiện tri thức và khai phá dữ liệu” nhanh chóng được phát triển.Khai phá dữ liệu đã và đang được nghiên cứu, ứng dụng trong nhiều lĩnhvực khác nhau ở các nước trên thế giới Ở Việt Nam, kỹ thuật này đang được nghiên cứu và dần đưa vào ứng dụng Khai phá dữ liệu là một bước trong quy trình phát hiện tri thức Hiện nay, mọi người không ngừng tìm tòi các kỹ thuật để thực hiện khai phá dữ liệu một cách nhanh nhất và có được kết quả tốt nhất

Trong bài tập lớn này, chúng em tìm hiểu và trình bày về một kỹ thuật trong khai phá dữ liệu để phân lớp dữ liệu cũng như tổng quan về khai phá dữ liệu, với đề tài “Thuật toán hồi quy tuyến tính ứng dụng vào dự đoán bệnh nhân bị ung thư phổi” Trong quá trình làm bài tập lớn này, chúng em xin gửi lời cảm ơn đến thầy giáo Vũ Văn Định Thầy đã rất tận tình hướng dẫn cho chúng em, những kiến thức thầy cung cấp cũng là rất hữu ích Nếu còn gì sai sót chúng em rất mong nhận được những góp ý từ thầy Chúng em xin chân thành cảm ơn!

Trang 5

CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU

1.1 Khai phádữ liệu là gì?

Khai phá dữ liệu ( Data mining ) là một tập hợp các kỹ thuật được sử dụng

để tự động khai thác và tìm ra các mối quan hệ lẫn nhau của dữ liệu trong mộttập hợp dữ liệu khổng lồ và phức tạp, đồng thời cũng tìm ra các mẫu tiềm ẩn trong tập dữ liệu đó

1.2 Quá trình khám phá thức tri

Quá trình khám phá tri thức là một chuỗi lặp gồm các bước:

B1: Làm sạch dữ liệu (data cleaning): Loại bỏ nhiễu và các dữ liệu không cần thiết

B2: Tích hợp dữ liệu: (data integration): quá trình hợp nhất dữ liệu thành những kho dữ liệu sau khi đã làm sạch và tiền xử lý

B3: Chọn lựa dữ liệu (data selection): trích chọn dữ liệu từ những kho dữ liệu và sau đó chuyển đổi về dạng thích hợp cho quá trình khai thác tri thức Quá trình này bao gồm cả việc xử lý với dữ liệu nhiễu, dữ liệu không đầy đủ, v.v

B4: Chuyển đổi dữ liệu: Các dữ liệu được chuyển đổi sang các dạng phù hợp cho quá trình xử lý

B5: Khai phá dữ liệu (data mining): Là một trong các bước quan trọng nhất, trong đó sử d'ng những phương pháp thông minh để chắt lọc ra những mẫu dữ liệu

B6: Đánh giá mẫu (Pattern evaluation): Quá trình đánh giá các kết quả tìm được thông qua các độ đo nào đó

B7: Biểu diễn tri thức (knowledge presentation): Quá trình này sử dụng các kỹ thuật để biểu diễn và thể hiện trực quan cho người dùng

Trang 6

Hình 1: Quá trình khám phá tri thức

1.3 Ứng dụng của khai phá dữ liệu

Khai phá dữ liệu có nhiều ứng dụng trong thực tiễn, có thể liệt kê ra các ứng dụng như sau:

- Trong kinh doanh

- Trong tài chính và tiếp thị bán hàng

- Trong thương mại

- Trong bảo hiểm

- Trong khoa học và y sinh học

- Trong điều khiểnvà viễn thông

1.4 Tiền xử lý dữ liệu

Quá trình xử lý dữ liệu thô/gốc (raw/original data) nhằm cải thiện chấtlượngdữ liệu (quality of the data) và từ đó cải thiện chất lượng của kết quả khai phá Quá trình tiền xử lý dữ liệu, đầu tiên phải nắm được dạng dữ liệu,thuộc tính, mô tả của

Trang 7

dữ liệu khai thác Sau đó tiếp hành 4 giai đoạn chính: làm sạch, tích hợp,biến đổi,thu giảm dữ liệu

Đối với dữ liệu thu nhập được, cần xác định các vấn đề ảnh hưởng là cho

nó không sạch Bởi vậy, dữ liệu không sạch (có chứa lỗi, bị nhiễu, không đầy

đủ, những dữ liệu không nhất quán,…) thì các tri thức khám phá được sẽ bị ảnh hưởng và không đáng tin cậy,sẽ dẫn đến các quyết định không chính xác

Do đó, cần gán các giá trị thuộc tính còn thiếu, sửa chữa các dữ liệu nhiễu/lỗi, xác định hoặc loại bỏ các ngoại lai, giải quyết các mâu thuẫn dữ liệu

1.4.3 Tích hợp dữ liệu

Tích hợp dữ liệu là quá trình trộn dữ liệu từ các nguồn khác nhau vào một kho dữ liệu có sẵn cho quá trình khai phá dữ liệu

Trang 8

Yêu cầu chung đối với tích hợp là giảm thiếu (tránh được là tốt nhất) các

dư thừa và các mâu thuẫn Giúp cải thiện mâu thuẫn của quá trình khai phá dữ liệu và nâng cao chất lượng của các kết quả tri thức thu được

1.4.4 Biến đổi dữ liệu

Biến đổi dữ liệu là việc chuyển toàn bộ tập giá trị của một thuộc tính sang một tập các giá trị thay thế, sao cho mỗi giá trị cũ tương ứng với một trong các giá trị mới

1.4.5 Thu giảm dữ liệu (data reduction)

Một kho dữ liệu lớn có thể chứa lượng dữ liệu lên đến erabytes sẽ làm Tcho quá trình khai phá dữ liệu chạy rất mất thời gian, do đó nên thu giảm dữ liệu.Việc thu giảm dữ liệu sẽ thu được một biểu diễn thu gọn, mà nó vẫn sinh

ra cùng (hoặc xấp xỉ) các kết quả khai phá như tập dữ liệu ban đầu

1.5 Cáckỹ thuậtkhai phádữ liệu

1.5.1 Kỹ thuật khai phá luật kế hợp

Trong khai phá dữ liệu, mục đích của luật kết hợp là tìm ra các mối quan

hệ giữa các đối tượng trong khối lượng lớn dữ liệu Để khai phá luật kết hợp

có rất nhiều thuật toán, nhưng dùng phổ biến nhất là thuật toán Apriori Đây là thuật toán khai phá tập phổ biến trong dữ liệu giao dịch để phát hiện các luật kết hợp dạng khẳng định nhị phân và được sử dụng để xác định, tìm ra các luật kết hợp trong dữ liệu giao dịch Ngoài ra, còn có các thuật toán FP-growth, thuật toán Partition,…

1.5.2 Kỹ thuật phân lớp

Trong kỹ thuật phân lớp gồm có các thuật toán:

Trang 9

- Phân lớp bằng cây quyết định (giải thuật ID3, J48): phân lớp dữ liệu dựa trên việc lập nên cây quyết định, nhìn vào cây quyết định cĩ thể ra quyết định dữliệu thuộc phân lớp nào

- Phân lớp dựa trên xác suất (Nạve Bayesian): dựa trên việc giả định cácthuộc tính độc lập mạnh với nhau qua việc sử dụng định lý Bayes

- Phân lớp dựa trên khoảng cách (giải thuật K – láng giềng): làm như láng giềng làm, dữ liệu sẽ được phân vào lớp của k đối tượng gần với dữ liệu đĩ nhất

- Phân lớp bằng SVM: phân lớp dữ liệu dựa trên việc tìm ra một siêu phẳng“tốt nhất” để tách các lớp dữ liệu trên khơng gian nhiều chiều hơn

1.5.3 Kỹ thuật phân cụm

Phân cụm dữ liệu là cách phân bố các đối tượng dữ liệu vào các nhĩm/ cụm, sao cho các đối tượng trong một cụm thì giống nhau hơn các phần tử khác cụm,gồm cĩ một số phương pháp phân cụm cơ bản như:

+ Phân cụm bằng phương pháp K mean: tìm ra tâm của các cụm mà khoảng cách của tâm đĩ đến các đối tượng, dữ liệu khác là ngắn

-+ Phân cụm trên đồ thị Ngồi ra, khai phá dữ liệu cĩ rất nhiều kỹ thuật, nhưng đây là những kỹ thuật cơ bản và đơn giản trong khai phá dữ liệu mà chúng em được tìm hiểu

1.5.4 Hồi quy tuyến tính

Phương pháp hồi quy được sử dụng để đưa ra các dự báo dựa trên các dữ liệu đang tồn tại bằng các áp dụng các cơng thức Một hàm sẽ được học ra từ

bộ dữ liệu hiện cĩ bằng cách sử dụng các kỹ thuật hồi quy và tuyến tính từ việc thống kê Sau đĩ, dữ liệu mới sẽ căn cứ vào hàm này để đưa ra những dự đốn

Trang 10

CHƯƠNG 2: THUẬT TOÁN HỒI QUY TUYẾN TÍNH

2.1 Giới thiệu

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 "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

2.2 Phân tích toán học

2.2.1 Dạng củaLinear Regression

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

F(x) = w + w0 1 1x + w2 2x + … + wn nx (1) Trong đó, w1, w2, w wn, 0 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, w w w } 2, n, 0 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 = [w w0, 1, w w2, n]T là một vecter (cột) hệ số cần phải tối ưu và = [1, x , x , x1 2 n] (đọ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 ơn và thuận tiện cho việc tính toán Khi đó, phương trình (1) có hthể được viết lại dưới dạng:

Trang 11

y ( trong đó y là một vecto hàng) r 2.2.2 Hàmmấtmát

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, y ), i = 1, 2, 3, i

…, 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:

J(w) = (2) 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

Trước khi đi tìm lời giải, chúng ta đơn giản hóa phép toán trong phương trình hàm mất mát (2) Đặt là một vector cột chứa tất cả các output của training data; = là ma trận dữ liệu đầu vào (mở rộng) mà mỗi hàng của nó là một điểm dữ liệu

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

Để tìm nghiệm cho một bài toán tối ưu chúng ta thường giải phương trình đạo hàm

J(w) = bằng 0

Trang 12

Đạo hàm theo w của hàm mất mát là:

Phương trình đạo hàm bằng tương đương với: 0

Đặt A và b ( ) khi đó ta có :

A.W = b (với I là ma trận đơn vị)

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

Trên thực tế có thể A không khả nghịch nên ta sẽ dùng ma trận giả nghịch đảo

tính

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

Ta có công thức tính mức độ lỗi của mô hình như sau :

Với mứcđộ lỗicủa mô hình cho ta biếtmức độhọc của mô hình

Trang 13

CHƯƠNG 3: ÁP DỤNG THUẬT TOÁN

3.1 Giới thiệu Google colab

3.1.1 Google Colab là gì?

Google Colab là m t s n ph m t Google Research và nó cho phép ộ ả ẩ ừchạy các dòng code python thông qua các trình duyệt, đặc bi t phù hệ ợp với Data analysis, machine learning và giáo dục Colab không c n yêu ầcầu cài đặt hay cấu hình máy tính ph i cao, m i th u có thả ọ ứ đề ể chạy thông qua trình duy t, b n có th s d ng tài nguyên máy tính t CPU tệ ạ ể ử ụ ừ ốc độcao và c GPUs và cả ả TPUs đều được cung c p cho bấ ạn

Colab cung c p nhi u loấ ề ại GPU, thường là Nvidia K80s, T4s, P4s and P100s, tuy nhiên người dùng không thể chọn loại GPU trong Colab và các loại GPU trong Colab thay đổi theo thời gian Vì đây là dịch vụ miễn phí, nên Colab s có nh ng th tẽ ữ ứ ự ưu tiên trong việc s d ng tài nguyên ử ụ

hệ thống, cũng như giới hạn thời gian mỗi lần sử dụng, thời gian sử dụng tối đa lên tới 12 giờ

Intel Xeon Processor

with two cores @

2.30 GHz and 13 GB

RAM

Up to Tesla K80 with 12

GB of GDDR5 VRAM, Intel Xeon Processor with two cores @ 2.20 GHz and

13 GB RAM

Cloud TPU with 180 teraflops of computationIntel Xeon Processor with two cores @ 2.30 GHz and 13 GB RAM

Hình 3: Cấu hình phần cứng Google Colab cung cấp

3.1.2 Tại sao nên sử dụng Google Colab

Các thư viện được cài đặt sẵn: Phân phối Anaconda của Jupyter Notebook có một số dữ liệu đã được cài đặt sẵn như Numpy, Pandas, Matplotlib Ngoài ra phần mềm Google Colab cũng cung cấp nhiều thư viện machine learning được cài đặt sẵn như Keras, Pytorch, Tensorflow nên có thể được sử dụng thuận tiện hơn

Được lưu trên đám mây: Mọi thứ trên hệ thống sẽ được lưu trữ trong cục b máy khi b n l a chộ ạ ự ọn Jupyter Notebook làm môi trường làm vi c, ệ

Trang 14

do đó nếu bạn là người đề cao quyền riêng tư thì đây chắc chắn là một tính năng ưa thích của bạn

Nếu người dùng muốn máy tính của mình có thể truy cập được với tất

cả thiết bị đang đăng nhập Google, thì ph n m m Google Colab là lầ ề ựa chọn hàng đầu cho bạn Vì tất cả Google Colab Notebook đều được lưu trong tài kho n Google Drive nó giả ống như các tệp Google Docs và Google Sheets

Sử d ng GPU và TPU mi n phí: Chúng ta không c n phụ ễ ầ ải suy nghĩ nhi u, khi l a ch n Google Colab thay vì Jupyter Notebook Vì, Google ề ự ọResearch có th cho phép b n s d ng GPU và TPU chuyên d ng c a h ể ạ ử ụ ụ ủ ọcho các d án machine learning cá nhân c a bự ủ ạn Đố ới v i m t s d án, ộ ố ựgia t c GPU và TPU s t o ra s khác bi t r t l n ngay cố ẽ ạ ự ệ ấ ớ ả đố ới v i m t s ộ ố

dự án nhỏ

3.1.3 Các tính năng của Google colab

Google Colab cung c p m t s ấ ộ ố tính năng có thể ể đến như: k

- Người dùng có th t o m c l c d a trên các heading vi t bể ạ ụ ụ ự ế ằng ngôn ngữ markdown qua đó bạn s d dàng c u trúc Notebook và ẽ ễ ấlàm vi c c a mình Bệ ủ ạn cũng có thể thu g n các ph n n i dung khi ọ ầ ộsoạn th o m t cách thu n ti n nhả ộ ậ ệ ất

- Có th thêm hình nh, bi u m u d dàng v i markdown giúp bể ả ể ẫ ễ ớ ạn trình bày báo cáo ho c làm dashboard c c ti n l i Thặ ự ệ ợ ậm chí người dùng cũng có thể ẩn các dòng code để trông Notebook gọn gàng hơn với tính năng biểu mẫu

- Kết n i d dàng vố ễ ới Google Drive hay là Google Sheets để ắ b t tay vào phân tích d ữ liệu “trên mây” hoàn toàn

- Chạy Python trên Cloud hay Local Runtime cũng đều cho trải nghi m tệ ốt, người dùng v n t n dẫ ậ ụng được tính năng tuyệt v i cờ ủa

Ngày đăng: 22/01/2025, 15:13

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN