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

Bài Tập Lớn Các Công Nghệ Hiện Đại Trong Công Nghệ Thông Tin.pdf

82 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

Nội dung

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI H C ỌKINH TẾ QUỐC DÂN

VIỆN CNTT & KTS

BÀI TẬP LỚN

Lớp học phần: Các ông nghcệ hiện đại trong CNTT (CNTT_1186)_02 Giảng Viên: TS Nguyễn Trung Tuấn

Chủ Đề 6: Phân Lớp Dữ LiệuCác thành viên:

1 11213929 – ùng Lê Minh (trưởng nhóm) Ph2 11213871 – Nguyễn Khánh Minh 3 11214014 – Phạm Vũ Ngọc Mùi 4 11218471 – Đặng Phương Nam 5 11214106 – Hoàng Khánh Nam

Trang 2

MỤC LỤC

DANH M C HÌNH ỤẢNH 5

LỜI MỞ ĐẦU 6

CHƯƠNG I: 7

TỔNG QUAN V KHÁM PHÁ TRI TH C VÀ KHAI PHÁ DỀ ỨỮ ỆU LI 7

1.Dữ liệu, thông tin, tri thức: 7

2.Khám phá tri thức: 8

3.Khai phá dữ liệu: 10

CHƯƠNG II: 12

GIỚI THIỆU VỀ PHÂN LỚP D LIỮ ỆU 12

1.Khái niệm phân lớp dữ liệu: 12

2.Vai trò phân lớp dữ liệu: 12

5.5.Hiểu được (Interpretability): 16

6.So sánh với phân cụm dữ liệu (Data Clustering): 17

7.Các công cụ phân l p dớữ liệu: 18

a.Python: 18

Trang 3

CÁC PHƯƠNG PHÁP PHÂN LỚP DỮ ỆU LI 21

1.Cây quyết định (Decision Tree): 21

1.1.Khái niệm: 21

1.2.Xây dựng cây quyết định: 22

1.2.1.Chọn thuộc tính gốc: 22

1.2.2.Phân tách dữ liệ 23u:1.2.3.Điều ki n dệừng: 23

1.3.Một số dạng sơ đ cây: 24ồ 1.4.Một số vấn đề liên quan: 25

1.4.1.Ma trận lỗi (Confusion Matrix): 25

1.4.2.Độ lợi thông tin (Information Gain): 26

1.4.3.Tình trạng quá kh p (Overfitting):ớ 27

1.5.Ưu điểm cây quyết định: 29

1.6.Hạn chế cây quyết định: 29

1.7.Ứng d ng cây quyụết định: 30

2.Mạng Nơ-ron (Neural Network): 31

2.1.Khái niệm mạng nơ-ron: 31

2.2.Một số thuật ngữ: 32

2.3.Một số kiến trúc m ng nơạ-ron: 33

2.4.Xây dựng m ng nơạ-ron: 34

Trang 4

3.1.Phân lớp với k phầ ử gần tn nhất (K-Nearest Neighbor): 38

3.2.Tiếp c n theo th ng kê (Naive Bayes):ậố 39

3.3.Hồi quy Logistic (Logistic Regression): 41

3.4.Máy vector hỗ ợ tr (Support Vector Machine - SVM): 43

CHƯƠNG IV: 45

PHÂN LỚP DỮ LIỆU VỚI PYTHON VÀ RAPIDMINER 45

1.Đặt vấn đề: 45

2.Giới thiệu bài toán: 46

3.Phân lớp dữ liệu với Python: 48

Trang 6

Hình 11: Trang download của Python 49

Hình 12: Cửa sổ Command Lin 49 e Hình 13: Trang download của Anaconda 50

Hình 14: Giao diện Anaconda Navigator 51

Hình 15: Giao diện trình duyệt Jupyter Notebook 52

Hình 16: Giao diện chính Jupyter Notebook 53

Hình 17: Bảng bi u để ồ các mối quan h 56 ệ Hình 18: Mô hình sơ đồ cây 60

Hình 19: Bảng ma tr n lậ ỗi (Confusion Matrix) 62

Hình 20: Trang đăng kí của RapidMiner 66

Hình 21: Giao diện chính của RapidMiner 68

Trang 7

LỜI MỞ ĐẦU

Với sự phát triển không ngừng của công nghệ và dữ liệu ngày càng tăng trưởng, khai phá thông tin từ dữ liệu là một nhiệm vụ vô cùng quan trọng và hấp dẫn Trong cuộc hành trình này, "Phân lớp dữ liệu" đóng một vai trò then chốt, cho phép chúng ta xác định và dự đoán xu hướng, nhận biết những mô hình ẩn sau dữ liệu, và đưa ra quyết định thông minh

Phân lớp dữ liệu không chỉ là một phần quan trọng của lĩnh vực khai phá dữ liệu mà còn có ứng dụng rộng rãi trong thực tế Từ việc phân loại email rác đến dự đoán xác suất mua hàng của khách hàng, từ phát hiện gian lận tín dụng đến dự báo thời tiết, "Phân lớp dữ liệu" chắc chắn đã và đang thay đổi cách chúng ta tương tác với dữ liệu và thế giới xung quanh

Trong tìm hiểu sâu hơn về "Phân lớp dữ liệu," chúng ta sẽ khám phá các phương pháp, công cụ, và ứng dụng cụ thể Chúng ta sẽ tìm hiểu cách xây dựng mô hình phân loại, đánh giá độ chính xác của chúng, và cách ứng dụng chúng trong các lĩnh vực khác nhau

Nội dung báo cáo sẽ tập trung vào những kiến thức tổng quan nhất về Phân lớp dữ liệu, giúp hiểu được khái niệm, quy trình thực hiện phân lớp và là tiền đề tốt cho những nghiên cứu chuyên sâu hơn sau này

Bố cục báo cáo gồm 4 phần:

Do thời gian và lượng kiến thức của chúng em có hạn, cùng với những hạn chế về tài liệu và báo cáo, chúng em hiểu rằng còn nhiều điểm cần hoàn thiện Chúng em trân trọng mọi ý kiến đóng góp từ phía thầy cô và các bạn để có thể nâng cao chất lượng của đề tài và tích lũy thêm kinh nghiệm cho các dự án sắp tới Chúng em xin bày tỏ lòng biết ơn sâu sắc đến thầy Nguyễn Trung Tuấn vì sự hướng dẫn và hỗ trợ quý báu trong suốt quá trình thực hiện đề tài này.

Trang 8

CHƯƠNG I:

TỔNG QUAN VỀ KHÁM PHÁ TRI THỨC VÀ KHAI PHÁ DỮ ỆU LI

khám phá trí thức và khai phá dữ liệu

1 Dữ liệu, thông tin, tri thức:

Hình 1: Mô hình DIK (Data Information Knowledge)- -

đến công nghệ thông tin đặc biệt là các lĩnh vực liên quan đến phân tích dữ liệu và phát hiện tri thức

• Dữ liệu (Data): là mức cơ bản nhất và đơn giản nhất của thông tin Data

Knowledge(Tri thức)Information(Thông tin)

Data(Dữ liệu)

Trang 9

• Thông tin (Information): thường đư c định nghĩa là dữ liệu đã được xử ợ

2 Khám phá tri thức:

Quá trình Khám phá tri thức, thường đư c gọợ i là Khám phá tri thức trong Cơ sở dữ liệu (Knowledge Discovery of Databases, viết t t là KDD)ắ , là quá trình

một lĩnh vực đa ngành kết hợp các kỹ thuật từ khai phá dữ liệu, học máy, thống kê

Hình 2: Quy trình khám phá tri thức

Trang 10

a Thu thập và Làm sạch Dữ ệu li(Data Acquiring & Cleaning): Quá

b Tích hợp Dữ ệu li(Data Intergration): Nếu cần thiết, d liữ ệu có thể

c Lựa chọn Dữ liệu (Data Selection): Chỉ các đ c điặ ểm d liệu c n thiữ ầ ết

thành viên trong nhóm để phân tích chúng

d Biến đổi Dữ liệu (Data Transformation): Dữ ệu sẽ li đuọc biến đổi để

e Khai phá Dữ liệu (Data Mining): Các thuật toán khai phá dữ liệu được

f Đánh giá Mẫu (Pattern Evaluation): Các mẫu dữ li u sau khi đư c ệ ợ

g Trình bày Tri thức (Knowledge Presentation): Những hi u biể ết, mẫu

Trang 11

Khám phá tri thức đóng một vai trò quan trọng trong nhi u lĩnh về ực, bao gồm

3 Khai phá dữ liệu:

Khai phá dữ liệu (Data Mining) là quá trình tính toán đ tìm ra các mể ẫu và

Trang 12

• Tổng kết (Summarization) bao gồm các phương pháp để tìm kiếm một

• Phát hiện thay đổi và chênh lệch (Change and Deviation Detection) tập

Trang 13

CHƯƠNG II:

GIỚI THIỆU VỀ PHÂN LỚP DỮ ỆU LI

1 Khái niệm phân lớp dữ ệu: li

Hình 3: Phân lớp dữ liệu

Phân lớp (Classification) là m t trong kộ ỹ thuật khai phá dữ liệu Nó là quá

2 Vai trò phân l p dớữ ệu: li

Trang 14

b Dự đoán: Phân lớp dữ liệu có thể được sử dụng để dự đoán các sự kiện

3 Ứng d ng phân l p dụớữ liệu:

bản, bao gồm việc phân loại tin tức, tự động gán thẻ cho email, phát hiện

tảng giải trí

Trang 15

e Phân loại Tài liệu và Văn b n Pháp lý: ả Trong lĩnh vực pháp lý và luật

đầu tư, và phân loại khách hàng dựa trên hành vi tài chính

4 Quy trình phân lớp dữ liệu:

4.1 Xây dựng mô hình:

Trang 16

Bước đầu tiên là xác định các l p hoớặc nhãn (Class Definition) mà cần phân

phân l p (Model Construction)ớ Mô hình có thể bao gồm các luật phân lớp, cây

4.2 Sử dụng mô hình:

5 Đánh giá phân lớp:

5.1 Độ chính xác d đoán (Prediction Accuracy): ự

Trang 17

Độ#chính#xác =Số#dự#đoán đúngTổ #số#dự#ng #đoán#(%)

5.2 Tốc độ tính toán (Computational Efficiency):

5.3 Độ mạnh (Robustness):

Độ mạnh của mô hình đo lường khả năng của nó để hoạt động tốt trên dữ liệu

5.4 Khả năng mở rộng (Scalability):

5.5 Hiểu được (Interpretability):

Trang 18

Khi đánh giá mô hình phân l p ớ có thể sử dụng nhi u phương pháp đánh giá, ề

lỗi (confusion matrix), tính toán độ chính xác, và theo dõi các tiêu chí khác nhau

6 So sánh với phân cụm dữ liệu (Data Clustering):

Phân cụm dữ liệu (Data Clustering) là m t kộ ỹ thuật trong lĩnh vực khai phá

Tiêu chí so sánh Phân lớp dữ ệu li

dựa trên các thông tin về

thông tin về lớp hoặc nhãn của các mẫu

Cách hoạt động Gán các mẫu dữ liệu vào các lớp hoặc nhãn đư c ợđịnh trước

Tìm những cụm hoặc

trước thông tin

Dữ liệu đ u vàoầ Mẫu dluyện đã đượữ liệu đưc biết trư c ợc huấn ớnhãn hoặc lớp

luyện không được biết

Trang 19

trước

7 Các công cụ phân l p dớữ liệu:

a Python:

thực hiện các tính toán số học nhanh chóng và hiệu quả

Trang 20

b R:

c MATLAB:

d SQL Server:

Trang 21

e PowerBI:

f RapidMiner:

Trang 22

CHƯƠNG III:

CÁC PHƯƠNG PHÁP PHÂN LỚP DỮ ỆU LI

1 Cây quyết định (Decision Tree):

Hình 4: Sơ đồ cây quyết định 1.1 Khái niệm:

Trang 23

• Nút Trong (Internal Node) là nút trong cây ngoại trừ nút lá Chúng đại

1.2. Xây dựng cây quyết định:

1.2.1 Chọn thuộc tính gốc:

Mặc dù có nhiều phương pháp tính toán độ tinh khiết khác nhau, nhưng chúng đều

Trang 24

phân tách tốt cũng cần t o ra các nút con có kích thưạ ớc tương tự nhau hoặc ít nhất

1.2.2 Phân tách dữ ệu: li

Đối v i biớến kiểu số, chúng ta có thể thực hiện phân tách nh phân dị ựa trên

Đối v i biớến đ nh tính,ị một phương pháp đơn giản là t o ra một nhánh cho ạ

1.2.3. Điều ki n dệừng:

Trang 25

• Tất cả các mẫu rơi vào cùng mộ ớp: Khi tất l t cả các m u trong một nút ẫthuộc về cùng một lớp, cây có thể dừng tại nút đó và không tiếp tục phân

• Không còn lại mẫu nào tại nút: Khi một nút không chứa bất kỳ mẫu nào

1.3 Một số dạng sơ đ cây:ồ

cho kết quả

Trang 26

• Cây quyết định C4.5: Là một phiên bản cả ếi ti n của ID3 Nó sử dụng độ

1.4 Một số vấn đề liên quan:

1.4.1 Ma trận lỗi (Confusion Matrix):

Ma trận lỗi (confusion matrix) là m t công cộ ụ quan tr ng đọ ể đánh giá hi u ệ

e) Số False Positive (FP): lượng m u thuẫ ộc lớp dự

Trang 27

Dựa vào các giá trị trong ma trận lỗi, chúng ta có thể tính toán các độ đo quan trọng như sau:

dương tính mà không gây ra sai lầm

1.4.2 Độ lợi thông tin (Information Gain):

Độ lợi thông tin (Information gain) là đ i lưạ ợng được sử dụng đề chọ ựa n l

P hay N hay không là:

Trang 28

Cho các tập {S1, S2 , , Sn} là một phân hoạch trên tập S, khi sử dụng thuộc

Tình trạng quá kh p (overfitting) ớ là m t hiộ ện tư ng trong hợ ọc máy và khai

Trang 29

đại diện tốt hơn cho dữ liệu đ u vào, ngưầ ời xây dựng có thể giúp mô

• Sử dụng kỹ thuật kiểm tra chéo (cross-validation): Kiểm tra chéo là một

Trang 30

1.5. Ưu ểm cây quyết địđinh:

dạng các loại biến

1.6. Hạn chế cây quyết định:

Trang 31

• Dễ bị quá kh p (Overfitting):ớ Cây quyết định có thể dễ dàng bị quá kh p ớ

1.7. Ứng d ng cây quyụết định:

• Phân loại sản phẩm trong thương mại điện tử: Cây quyết định có thể

• Xử lý ngôn ngữ tự nhiên: Trong lĩnh vực xử lý ngôn ngữ tự nhiên, cây

Trang 32

2 Mạng Nơ-ron (Neural Network):

Hình 6: Mô hình mạng nơ-ron 2.1 Khái niệm mạng nơ-ron:

Mạng nơ-ron (Neural Network) là một phương pháp học máy đư c lợ ấy c m ả

Trang 33

Trong quá trình huấn luy n, m ng nơệ ạ -ron dự đoán đ u ra dầ ựa trên các đ c ặ

mạng nơ-ron để giảm thiểu độ lỗi này Quá trình lan truyền ngược là quá trình tính

2.2 Một số thuật ngữ:

• Nơ-ron (Neuron):

• Hàm kích hoạt (Activation function):

bao gồm hàm sigmoid, hàm ReLU (Rectified Linear Unit) và hàm tanh

Trang 34

• Hàm mất mát (Loss function):

cross-entropy, hàm tổn thất bình phương (mean squared error), và hàm tổn thất đa lớp (multiclass loss)

2.3 Một số kiến trúc mạng nơ-ron:

Trang 35

• Mạng Nơ-ron Tạo Sinh (Generative Adversarial Network – GAN):

2.4 Xây dựng m ng nơạ-ron:

2.4.1. Thiết kế Kiến trúc Mạng:

2.4.2 Lựa ch n Hàm Kích Hoọạt:

Các hàm kích hoạt phổ biến bao gồm sigmoid, tanh, ReLU (Rectified Linear Unit), và softmax

2.4.3 Chọn hàm mất (loss function):

2.4.4. Huấn luy n Mệạng:

hóa như gradient descent

Trang 36

2.4.5 Đánh giá và Điều chỉnh:

2.5 Khắc phục tình trạng quá kh p (overfitting)ớ:

đổi mô hình đơn giản hơn như FNN, RNN,v.v

Trang 37

• Sử dụng kỹ thuật chính quy hóa (regulation): Regularization (Chính quy

2.6 Ưu điểm mạng nơ-ron:

hiệu suất

2.7 Hạn chế mạng nơ-ron:

hội tụ

Trang 38

• Dễ bị quá kh p (oớverfitting): Overfitting xảy ra khi mô hình học quá

2.8 Ứng d ng m ng nơụạ-ron:

trong ảnh

Trang 39

3 Một số phương pháp khác:

3.1 Phân lớp với k phầ ử gần tn nhất (K-Nearest Neighbor):

Hình 7: Ví dụ phân lớp k-NN

Phân lớp với k phần tử gần nhất (K-Nearest Neighbor) là m t thu t toán phân ộ ậ

tính là:

Công thức Euclidean: X∑ (𝑥"− 𝑦")

Trang 40

• Ưu điểm của k-NN:

nhãn

3.2 Tiếp c n theo th ng kê (Naive Bayes)ậố:

Hình 8: Phân loại Naive Bayes

Trang 41

Thuật toán Naive Bayes sử dụng đ nh lý Bayes đị ể tính toán xác su t cấ ủa một

Trong đó:

• Ưu điểm của Naive Bayes:

mô hình phân loại khác

• Nhược điểm của Naive Bayes:

luyện, mô hình sẽ gán xác suất 0 cho lớp đó và không thể thực hiện

Trang 42

o Naive Bayes có thể bị coi là một công cụ ước lượng kém, vì kết

3.3 Hồi quy Logistic (Logistic Regression):

Hình 9: Ví dụ hồi quy Logistic

Hồi quy Logistic là m t thu t toán hộ ậ ọc máy nhị phân (có th đượể c mở rộng

quy Logistic là sử dụng một hàm logistic (sigmoid) để ước lượng xác suất của một

Trang 43

Nếu v phương trình hẽ ồi quy logistic này thì sẽ có một đường cong hình chữ S như hình dưới đây:

Biểu đ hàm Logistic:ồ Hồi quy Logistic sử dụng một hàm số gọi là hàm

Huấn luy n mô hình: ệ Trong quá trình huấn luy n, mô hình Hồi quy Logistic ệ

gradient descent

Phân loại: Sau khi huấn luy n, mô hình có thệ ể sử dụng đ phân loể ại dữ li u ệ

o Mô hình Hồi quy Logistic cho phép hiểu rõ được đóng góp của

Trang 44

o Hồi quy Logistic có khả năng xử lý các đặc trưng phi tuyến, không

3.4 Máy vector hỗ ợ tr(Support Vector Machine - SVM):

Hình 10: Ví dụ mô hình SVM

Support Vector Machine là m t thu t toán hộ ậ ọc máy nhị phân (có thể được mở

phân loại chính xác

Trang 45

• Cách hoạt động c a SVM:ủ

Xác định biên phân chia: SVM cố gắng xác đ nh mị ột biên phân chia t i ưu ố

Chọn hàm t i ưu: SVM sử dụố ng một hàm t i ưu (objective function) đố ể tìm

Phân loại và h i quy:ồ Sau khi xác định biên phân chia tối ưu, SVM có thể

biên phân chia

liệu, cho phép phân loại chính xác SVMs cũng hiệu quả trong việc

tạp của mô hình

vào không gian đặc trưng cao hơn, giúp phân loại dữ liệu phi tuyến

• Nhược điểm của SVM:

Trang 46

CHƯƠNG IV:

PHÂN LỚP DỮ ỆU VỚLII PYTHON VÀ RAPIDMINER

phương pháp cây quyết định

1 Đặt vấn đề:

đại số hóa, việc dự đoán lòng trung thành của khách hàng (churn prediction) không

của nhiều công ty

khách hàng Trong bài báo cáo này, chúng ta sẽ sử dụng phương pháp cây quyết

thành của khách hàng

Trang 47

2 Giới thiệu bài toán:

bản ghi

nhân và phân loại khách hàng theo tên

hàng nam và nữ

Trang 48

• Age: Tuổi tác của khách hàng là một yếu t quan tr ng trong churn ố ọ

trung thành cao hơn

chuyển đổi

hàng theo mức thu nhập

(1) hay không (0)

nguy cơ churning

Trang 49

3 Phân lớp dữ liệu với Python:

Matplotlib, Seaborn và Graphviz là ba công cụ mạnh mẽ để trực quan hóa dữ

3.1 Hướng d n cài đẫặt:

a Jupyter Notebook:

Linux) hoặc qua phần mềm Anaconda

Trang 50

Cách 1: Dùng ứng d ng dòng l nh (Command line)ụệ

Hình 11: Trang download của Python

Hình 12: Cửa sổ Command Line Trái: Command Prompt Phải: Terminal) (

Trang 51

Để cài đặt Jupiter Notebook gõ câu lệnh:, pip install notebook

jupyter notebook

Cách 2: Dùng ph n mầềm Anaconda:

Anaconda là m t nộ ền t ng phát tri n và qu n lý môi trư ng làm viả ể ả ờ ệc trong

Hình 13: Trang download của Anaconda

Trang 52

Sau khi cài đặt Anaconda, mở cửa sổ ứng d ng ụ Anaconda Navigator, nhấn

cửa sổ Anaconda Navigator

Hình 14: Giao diện Anaconda Navigator

Python Package Index (PyPI) hoặc các nguồn khác

Ví dụ: trong bài toán này, để cài đặt scikit-learn (sklearn), gõ câu lệnh: pip install scikit-learn

Trang 53

Ngoài ra, có những thư vi n sệ ẽ cần phải có thư viện phụ thuộc (dependancy)

Ví dụ: Để cài đặt Graphviz cho môi trường conda hi n tệ ại, gõ câu lệnh:conda install python-graphviz

3.2 Lập trình Python trên Jupyter Notebook:

Hình 15: Giao diện trình duy Jupyter Notebookệt

à Python 3 (ipykernel)

Trang 54

Hình 16: Giao diện chính Jupyter Notebook

Trang 55

Bước thứ hai, chúng ta sẽ nhập b ng dả ữ ệu li thô mà đã được chuẩn bị sẵn vào trong chương trình của mình

Ngày đăng: 14/08/2024, 10:01

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

TÀI LIỆU LIÊN QUAN

w