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

sử dụng thuật toán phân loại phân tích dữ liệu

37 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

Machine learning là gì?Học máy là một ứng dụng của trí tuệ nhân tạo AI cung cấp cho các hệ thốngkhả năng tự động học hỏi và cải thiện từ kinh nghiệm mà không cần lập trình rõ ràng.Học má

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC BÀ RỊA - VŨNG TÀUKHOA KỸ THUẬT - CÔNG NGHỆ

BÁO CÁO MÔN HỌC

HỆ THỐNG THÔNG TIN THÔNG MINH 1

Tên đề tài:

SỬ DỤNG THUẬT TOÁN

GVHD: TS Bùi Thị Thu Trang

Sinh viên: Trần Tuấn KiệtLớp: DH20LT

Vũng Tàu, ngày 16 tháng 8 năm 2023

Trang 2

1.3 Thuật tốn trong machine learning 5

1.3.1 Các thuật tốn học máy được giám sát 6

1.3.2 Các thuật tốn học máy khơng giám sát 6

1.3.3 Các thuật tốn Machine Learning bán giám sát 6

1.3.4 Thuật tốn học máy gia cố 6

1.4 Một số ứng dụng của Machine Learning hiện nay 7

1.4.1 Tự động phân loại 7

1.4.2 Ứng dụng trong các mạng xã hội 7

1.4.3 Nhận diện hình ảnh 8

PHẦN 2 THUẬT TỐN PHÂN LOẠI VÀ PHÂN TÍCH DỮ LIỆU 9

2.1 Thuật tốn phân loại (Classification) 9

2.1.1 Thuật tốn Regression logistic 9

2.1.2 Thuật tốn Bayes Nạve 9

2.1.3 Thuật tốn Decision Tree 10

2.1.4 Thuật tốn K-Nearest Neighbors 10

2.1.5 Support vector machine 10

2.1.6 Thuật tốn Random Forest 11

2.1.7 Thuật tốn Stochastic Gradient Descent 12

2.1.8 Thuật tốn Kernel Approximation 13

2.2 Ứng dụng phân loại 13

2.3.1 Phân loại thư rác (Email Spam Detection) 13

2.3.2 Phát hiện bệnh trong hình ảnh y tế 14

2.3.3 Phân loại văn bản 14

2.3.4 Phân loại sản phẩm trong thương mại điện tử 15

2.3.5 Phân loại ngơn ngữ tự nhiên 15

Trang 3

Hình 7 Stochastic Gradient Descent 13

Hình 8 Email Spam Detection 13

Hình 9 Phát hiện bệnh trong hình ảnh y tế 14

Hình 10 Phân loại văn bản 14

Hình 11 Phân loại sản phẩm trong thương mại điện tử 15

Hình 12 Phân loại ngôn ngữ tự nhiên 15

Trang 5

PHẦN I MÁY HỌC VÀ ỨNG DỤNG

Hình 1 Machine learning là gì?

1.1 Sự ra đời của machine learning

Một trong những khác biệt chính giữa con người và máy tính là con người họchỏi từ những kinh nghiệm trong quá khứ, nhưng với máy tính hoặc máy móc cần đượcphải được thực hiện theo một quy trình có sẵn Máy tính là những máy logic nghiêmngặt với ý nghĩa thông thường [1].

Điều đó có nghĩa là nếu chúng ta muốn máy làm điều gì đó, chúng ta phải cungcấp cho nó những quy trình và các hướng dẫn chi tiết, từng bước về chính xác nhữngviệc cần làm.

Vì vậy, con người đã viết nên các kịch bản và lập trình để máy tính làm theocác hướng dẫn và có khả năng tự học hỏi Đó là cái cách mà Machine Learning ra đời.Khái niệm máy học chính xác là việc máy tính học hỏi từ dữ liệu trong quá khứ và rútkinh nghiệm qua thời gian.

1.2 Machine learning là gì?

Học máy là một ứng dụng của trí tuệ nhân tạo (AI) cung cấp cho các hệ thốngkhả năng tự động học hỏi và cải thiện từ kinh nghiệm mà không cần lập trình rõ ràng.Học máy tập trung vào việc phát triển các chương trình máy tính có thể truy cập dữliệu và sử dụng nó để tự học [1].

Quá trình học bắt đầu bằng các quan sát hoặc dữ liệu Ví dụ, để tìm kiếm cácmẫu trong dữ liệu và đưa ra quyết định tốt hơn trong tương lai dựa trên các ví dụ màchúng tôi cung cấp Mục đích chính là cho phép các máy tính tự động học mà khôngcần sự can thiệp hay trợ giúp của con người và điều chỉnh các hành động tương ứng.

Trang 6

Các thuật toán học máy thường được phân loại là giám sát hoặc không giám sát.

1.3.1.Các thuật toán học máy được giám sát

Nó có thể áp dụng những gì đã được học trong quá khứ vào dữ liệu mới bằngcách sử dụng các ví dụ được gắn nhãn để dự đoán các sự kiện trong tương lai Bắt đầutừ việc phân tích một tập dữ liệu huấn luyện đã biết, thuật toán học tạo ra một hàmđược suy ra để đưa ra dự đoán về các giá trị đầu ra [1].

1.3.2.Các thuật toán học máy không giám sát

Ngược lại, thuật toán học máy không giám sát được sử dụng khi thông tin đượcsử dụng để đào tạo không được phân loại cũng không được dán nhãn Nghiên cứu họctập không giám sát làm thế nào các hệ thống có thể suy ra một chức năng để mô tả mộtcấu trúc ẩn từ dữ liệu không được gắn nhãn [1].

1.3.3.Các thuật toán Machine Learning bán giám sát

Các thuật toán học máy được giám sát bán nằm ở đâu đó giữa học tập có giámsát và không giám sát, vì chúng sử dụng cả dữ liệu được gắn nhãn và không nhãn chođào tạo - thường là một lượng nhỏ dữ liệu được gắn nhãn và một lượng lớn dữ liệukhông được gắn nhãn Các hệ thống sử dụng phương pháp này có thể cải thiện đáng kểđộ chính xác trong học tập [1].

1.3.4.Thuật toán học máy gia cố

Trang 7

1.4 Một số ứng dụng của Machine Learning hiện nay

1.4.1 Tự động phân loại

Phân loại tin tức là một ứng dụng điểm chuẩn khác của phương pháp họcmáy.Vận dụng như thế nào? Như một vấn đề thực tế là bây giờ khối lượng thông tin đãtăng lên rất nhiều trên web Tuy nhiên, mỗi người có sở thích hoặc lựa chọn cá nhâncủa mình Vì vậy, để chọn hoặc thu thập một phần thông tin phù hợp trở thành mộtthách thức đối với người dùng từ vô số nội dung trên trang web [1].

Hình 3 Tự động phân loại

Phân loại các danh mục một cách rõ ràng, dễ điều hướng giúp cho các kháchhàng mục tiêu chắc chắn sẽ tăng khả năng truy cập các trang tin tức Hơn nữa, độc giảhoặc người dùng có thể tìm kiếm tin tức cụ thể một cách hiệu quả và nhanh chóng.

Có một số phương pháp học máy trong mục đích này, tức là, máy vectơ hỗ trợ,naive Bayes, k-nearest neighbor, v.v.

1.4.2 Ứng dụng trong các mạng xã hội

Học máy đang được sử dụng trong một loạt các ứng dụng ngày nay Một trongnhững ví dụ nổi tiếng nhất là Facebook News Feed Nguồn cấp tin tức sử dụng họcmáy để cá nhân hóa từng nguồn cấp dữ liệu thành viên [1].

Nếu một thành viên thường xuyên dừng lại để đọc hoặc thích một bài đăng củamột người cụ thể, News Feed sẽ bắt đầu hiển thị nhiều hơn về hoạt động của người đótrước đó trong nguồn cấp dữ liệu.

Đằng sau hệ thống ấy, phần mềm sử dụng phân tích thống kê và phân tích dựđoán để xác định các mẫu trong dữ liệu người dùng và sử dụng các mẫu đó để điềnvào News Feed Nếu thành viên không còn dừng lại để đọc, thích hoặc bình luận trên

Trang 8

Không chỉ riêng facebook, ta có thể bắt gặp những tính năng tương tự đó quacác mạng xã hội khác như google, instagram,

1.4.3 Nhận diện hình ảnh

Nhận dạng hình ảnh là một trong những ví dụ về máy học và trí tuệ nhân tạophổ biến nhất Về cơ bản, nó là một cách tiếp cận để xác định và phát hiện các đặctrưng của một đối tượng trong hình ảnh kỹ thuật số Hơn nữa, kỹ thuật này có thể đượcsử dụng để phân tích sâu hơn, chẳng hạn như nhận dạng mẫu, nhận diện hình khuôn,nhận dạng khuôn mặt, nhận dạng ký tự quang học và nhiều hơn nữa, [1]

Trang 9

PHẦN 2 THUẬT TỐN PHÂN LOẠI VÀ PHÂN TÍCH DỮLIỆU

2.1 Thuật tốn phân loại (Classification)

Classification là một trong những khía cạnh quan trọng nhất của việc học cĩgiám sát [2]

2.1.1 Thuật tốn Regression logistic

Regression logistic cĩ thể là một thuật tốn Classification học cĩ giám sát sẽkhơng dự đốn xác suất của một biến mục tiêu Đây là một trong những thuật tốn MLduy nhất sẽ được sử dụng cho các vấn đề Classification khác nhau như phát hiện spam,dự đốn bệnh tiểu đường, phát hiện ung thư, v.v [2].

Regression logistic đơn giản hơn để triển khai, diễn giải và thực sự hiệu quả đểhuấn luyện

Nếu số lượng quan sát ít hơn số lượng tính năng, thì khơng nên sử dụngRegression logistic, nếu khơng, nĩ sẽ gây ra tình trạng trang bị quá mức.

2.1.2 Thuật tốn Bayes Nạve

Thuật tốn Nạve Bayes cĩ thể là một thuật tốn học cĩ giám sát, được dự đốntrên định lý Bayes và được sử dụng để giải các bài tốn Classification Đĩ khơng phảilà một thuật tốn mà là một nhĩm thuật tốn trong đĩ tất cả chúng đều cĩ chung mộtnguyên tắc tiêu chuẩn, tức là mọi cặp tính năng đang được Classification là độc lập vớimọi tính năng khác [2].

Nạve Bayes Classifier là một trong những thuật tốn Classification đơn giản vàtốt nhất giúp xây dựng các mơ hình học máy nhanh sẽ đưa ra các dự đốn nhanh chĩng.

Naive Bayes là một trong những thuật tốn học máy mạnh mẽ được sử dụng đểClassification Nĩ là một phần mở rộng của định lý Bayes, trong đĩ mỗi đặc điểm giảđịnh sự độc lập Nĩ được sử dụng cho nhiều nhiệm vụ khác nhau như lọc thư rác vàcác lĩnh vực Classification văn bản khác.

Trang 10

2.1.3 Thuật toán Decision Tree

2.1.4 Thuật toán K-Nearest Neighbors

K-Nearest Neighbors gần nhất là một trong những thuật toán Classification cơbản nhưng quan trọng nhất trong học máy [2].

KNN thuộc miền học được giám sát và có một số ứng dụng trong nhận dạngmẫu, khai thác dữ liệu và phát hiện xâm nhập Các KNN này được sử dụng trong cáctình huống thực tế yêu cầu các thuật toán phi tham số Các thuật toán này không đưa rabất kỳ giả định nào về cách dữ liệu được phân phối.

2.1.5 Support vector machine

Máy vectơ hỗ trợ là một loại thuật toán học máy được giám sát cung cấp phântích dữ liệu để Classification và phân tích Regression [2].

Trong khi chúng có thể được sử dụng để Regression, SVM chủ yếu được sửdụng để Classification Chúng tôi thực hiện vẽ đồ thị trong không gian n chiều Giá trịcủa mỗi đối tượng địa lý cũng là giá trị của tọa độ được chỉ định Sau đó, chúng ta tìmthấy siêu phẳng lý tưởng phân biệt giữa hai lớp.

Trang 11

Các vectơ hỗ trợ này là biểu diễn tọa độ của quan sát riêng lẻ Nó là mộtphương thức biên giới để tách biệt hai lớp.

2.1.6 Thuật toán Random Forest

Bộ Classification Random Forest là một loại phương pháp học tập hợp được sửdụng để Classification, Regression và các tác vụ khác có thể được thực hiện với sự trợgiúp của Decision Tree Các Decision Tree này có thể được xây dựng tại thời điểm đàotạo và đầu ra của lớp có thể là Classification hoặc Regression [2].

Trang 12

Với sự giúp đỡ của những khu Random Forest này, người ta có thể sửa thóiquen quá thích hợp với bộ huấn luyện.

2.1.7 Thuật toán Stochastic Gradient Descent

Stochastic Gradient Descent (SGD) là một lớp thuật toán học máy thích hợpcho việc học tập trên quy mô lớn Đó là một cách tiếp cận hiệu quả hướng tới việc họcphân biệt các bộ Classification tuyến tính theo hàm mất mát lồi tuyến tính (SVM) vàRegression logistic [2].

Trang 13

2.1.8 Thuật toán Kernel Approximation

Trong mô-đun con này, có nhiều chức năng khác nhau thực hiện tính gần đúngcủa các bản đồ đặc trưng tương ứng với một số hạt nhân nhất định được sử dụng làmví dụ trong máy vectơ hỗ trợ Các hàm đặc trưng này thực hiện một loạt các phép biếnđổi phi tuyến tính của đầu vào, đóng vai trò là cơ sở của Classification tuyến tính hoặccác thuật toán khác [2].

2.2 Ứng dụng phân loại

2.2.1 Phân loại thư rác (Email Spam Detection)

Hình 8 Email Spam Detection

Một ứng dụng phổ biến của machine learning là phân loại email thành hainhóm: thư rác và thư chính thống Các mô hình có thể học từ các đặc trưng như từkhóa, cú pháp, và các đặc điểm khác để xác định xem một email có phải là thư rác haykhông [3].

Trang 14

2.2.2 Phát hiện bệnh trong hình ảnh y tế

Hình 9 Phát hiện bệnh trong hình ảnh y tế

Các mô hình classification có thể được sử dụng để phân loại hình ảnh y tế,chẳng hạn như tia X, MRI, hoặc CT scans để xác định các bệnh như ung thư, bệnh timmạch, và nhiều loại bệnh khác [4].

2.2.3 Phân loại văn bản

Hình 10 Phân loại văn bản

Phân loại văn bản có thể được sử dụng để xác định cảm xúc trong các bài đăngtrên mạng xã hội, phân loại tin tức thành các danh mục khác nhau, hoặc xác định chủđề của các đoạn văn bản [5].

Trang 15

2.2.4 Phân loại sản phẩm trong thương mại điện tử

Hình 11 Phân loại sản phẩm trong thương mại điện tử

Các công ty thương mại điện tử sử dụng phân loại để xác định loại sản phẩm từcác hình ảnh hoặc mô tả, giúp khách hàng dễ dàng tìm kiếm và mua sắm trực tuyến[6].

2.2.5 Phân loại ngôn ngữ tự nhiên

Hình 12 Phân loại ngôn ngữ tự nhiên

Trang 16

2.3 Ứng dụng phân loại vào dữ liệu thực tế

2.3.1 Dữ liệu

Dữ liệu 3:

- Mô tả yêu cầu : Bộ dữ liệu SUV chứa thông tin về khách hàng và liệu họ

có mua SUV hay không.

Hình 13 Ảnh dữ liệu SUV

- Mô tả dữ liệu:

Trong dữ liệu này gồm 5 cột:

+ User ID: mã số ID của khách hàng+ Gender: giới tính

+ Age: độ tuổi

+ EstimaedSalary: mức lương ước tính của khách hàng+ Purchased: Cột này có 2 giá trị là 0 và 1:

o 0 là không mua xeo 1 là mua xe

 Tuy dữ liệu có 5 cột nhưng ta chỉ sẽ dùng 4 cột đặc trưng và loại bỏ cột

Trang 17

importseabornimportmatplotlib%matplotlib inline

fromsklearn linear_model.importLogisticRegressionfromsklearn metrics.importclassification_report

fromsklearn metrics.importaccuracy_score

fromsklearn metrics.importconfusion_matrix

fromsklearn preprocessing.importStandardScaler

- Tác dụng của các thư viện:

Scikit-learn (Sklearn): là thư viện mạnh mẽ nhất dành cho các thuật toán học

máy được viết trên ngôn ngữ Python Thư viện cung cấp một tập các công cụ xử lý cácbài toán machine learning và statistical modeling gồm: classification, regression,clustering, và dimensionality reduction [8].

Pandas: Thư viện này sử dụng một cấu trúc dữ liệu riêng là Dataframe

DataFrame đem lại sự linh hoạt và hiệu quả trong thao tác dữ liệu và lập chỉmục;

Là một công cụ cho phép đọc/ ghi dữ liệu giữa bộ nhớ và nhiều định dạng file:csv, text, excel, sql database, hdf5 [9];

Seaborn: Seaborn là một trong những thư viện Python được đánh giá cao nhất

thế giới được xây dựng nhằm mục đích tạo ra các hình ảnh trực quan đẹp mắt.Rất nhiều chủ đề hoạt động với đồ họa kiểu Matplotlib.

Khả năng trực quan hóa cả dữ liệu đơn biến và đa biến.Hỗ trợ trực quan hóa các loại dữ liệu mô hình hồi quy.

Dễ dàng vẽ biểu đồ dữ liệu thống kê cho phân tích chuỗi thời gian [10].

Matplotlib: là một thư viện vẽ đồ thị rất mạnh mẽ hữu ích cho những người

làm việc với Python và NumPy Module được sử dụng nhiều nhất của Matplotib làPyplot cung cấp giao diện như MATLAB nhưng thay vào đó, nó sử dụng Python và nólà nguồn mở [11].

model_selection: cung cấp các công cụ để thực hiện các tác vụ liên quan đến

việc chia tập dữ liệu thành các tập con khác nhau để huấn luyện và kiểm tra mô hìnhmáy học [8].

LogisticRegression trong sklearn thực hiện mô hình hồi quy logistic, một

phương pháp quan trọng trong học máy để xử lý các bài toán liên quan đến phân loạihai lớp (binary classification) [12].

classification_report: Tạo ra một báo cáo chi tiết về hiệu suất của mô hình

Trang 18

đoán của mô hình đối với mỗi lớp và tổng hợp kết quả này trong một báo cáo dễ đọc[13].

accuracy_score: Hàm này được sử dụng để tính toán độ chính xác của mô hình

phân loại.

Độ chính xác là một trong những metric cơ bản để đánh giá hiệu suất của môhình phân loại Nó chỉ ra tỉ lệ phần trăm các dự đoán đúng trong tổng số dự đoán Độchính xác không phản ánh được hiệu suất của mô hình trên mỗi lớp đối với các bàitoán phân loại có sự mất cân bằng giữa các lớp [14].

confusion_matrix: Hàm này được sử dụng để tính ma trận nhầm lẫn (confusion

matrix) trong bài toán phân loại.

Ma trận nhầm lẫn là một công cụ quan trọng để đánh giá hiệu suất của mô hìnhphân loại, đặc biệt là trong các tình huống có sự mất cân bằng giữa các lớp Nó chobiết số lượng dự đoán của mô hình rơi vào từng khả năng nhãn thực tế [15].

StandardScaler: được sử dụng để thực hiện chuẩn hóa dữ liệu bằng cách biến

đổi các đặc trưng sao cho chúng có giá trị trung bình bằng 0 và độ lệch chuẩn bằng 1.Chuẩn hóa dữ liệu là một bước quan trọng trong tiền xử lý dữ liệu khi làm việcvới các thuật toán dự đoán dựa trên khoảng giá trị của đặc trưng Chuẩn hóa giúp cânbằng đặc trưng và đảm bảo rằng các đặc trưng không có trọng số lớn hơn do độ lệchtrong dữ liệu [16].

- Đọc và tổng hợp bộ dữ liệu SUV:

Hình 14 Hình code 1

Trang 19

Hình 16 Hình code 3

Trang 20

Hình 18 Hình code 5

Hình 19 Hình code 6

Trang 21

- Trực quan hóa dữ liệu:

Hình 21 Hình code 8

Trang 22

Phân tích: Nữ mua xe SUV nhiều hơn nam

Trang 24

Giải thích: Phân nhóm độ tuổi theo chữ cái- Từ 20 trở xuống: nhóm A

- Từ 26 trở xuống và lớn hơn 20: nhóm B- Từ 30 trở xuống và lớn hơn 26: nhóm C- Từ 40 trở xuống và lớn hơn 30: nhóm D- Từ 50 trở xuống và lớn hơn 40: nhóm E- Lớn hơn 50: nhóm F

Hình 24 Hình code 11

Ngày đăng: 23/07/2024, 17:02

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN