1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đề tài khai phá dữ liệu sử dụng phân lớp trong đánh giá chất lượng rượu dựa trên thành phần hóa học

28 6 0

Đ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 đề Đề tài khai phá dữ liệu sử dụng phân lớp trong đánh giá chất lượng rượu dựa trên thành phần hóa học
Tác giả Trần Minh Đức, Nguyễn Quốc Hà, Nguyễn Tiến Dũng
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 Đề tài khai phá dữ liệu
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 28
Dung lượng 1,85 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

TỔNG QUAN KHAI PHÁ DỮ LIỆU1.1 Giới thiệu về 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ẫutrong các bộ dữ liệu lớn liên quan đến các phương pháp

Trang 1

TRƯỜNG ĐẠI HỌC ĐIỆN LỰCKHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN

Trang 3

MỤC LỤC

LỜI MỞ ĐẦU 1

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

1.1 Giới thiệu về khai phá dữ liệu 2

1.1.1 Diễn giải 2

1.1.2 Các phương pháp khai thác dữ liệu 3

1.1.3 Một số tính năng nổi bật của khai phá dữ liệu 3

1.1.4 Quy trình khai phá dữ liệu 3

1.1.5 Ứng dụng khai phá dữ liệu 5

1.1.6 Các công cụ khai phá dữ liệu 5

1.2 Tiền xử lý 6

1.2.1 Dữ liệu 6

1.2.2 Làm sạch dữ liệu (data cleaning) 8

1.2.2.1 Các vấn đề của dữ liệu 8

1.2.2.2 Nguồn gốc/lý do của dữ liệu không sạch 8

1.2.2.3 Giải pháp khi thiếu giá trị của thuộc tính 8

1.2.2.4 Giải pháp khi dữ liệu chứa nhiễu/lỗi 9

1.2.3 Tích hợp dữ liệu (data integration) 9

1.2.4 Biến đổi dữ liệu (data transformation) 9

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

CHƯƠNG 2 KỸ THUẬT PHÂN LỚP DỮ LIỆU TRONG KHAI PHÁ DỮ LIỆU 12

2.1 Giới thiệu về phân lớp 12

2.2 Phân lớp bằng phương pháp quy nạp cây quyết định 12

2.2.1 Khái niệm câu quyết định 12

2.2.2 Thuật toán quy nạp cây quyết định 13

Trang 4

2.2.3 Độ lơi thông tin (Information Gian) trong cây quyết định 13

2.2.4 Nội dung giải thuật học cây quyết định cơ bản ID3: 14

2.2.5 Những thiếu sót của giải thuật ID3 15

2.2.6 Giới thiệu 15

2.2.7 Giải thuật mở rộng C4.5 16

2.2.8 Thu giảm cây quyết định và những lập luận suy dẫn 16

2.2.9 Giải thuật mở rộng See5/C5.0 17

CHƯƠNG 3 ỨNG DỤNG PHÂN LỚP TRONG ĐÁNH GIÁ CHẤT LƯỢNG RƯỢU DỰA TRÊN THÀNH PHẦN HÓA HỌC 19

3.1 Đánh giá chất lượng rượu 19

3.1.1 Phát biểu bài toán 19

3.1.2 Bộ dữ liệu 19

3.1.3 Code và xử lý dữ liệu 21

3.1.4.1 Code 21

3.1.4.2 Chạy dữ liệu 23

3.1.4.3 Biểu đồ cây quyết định 23

KẾT LUẬN 24

Trang 5

LỜI MỞ ĐẦU

Trong lời đầu tiên của báo cáo “Khai phá dữ liệu sử dụng phân lớp trongđánh giá chất lượng rượu dựa trên thành phần hóa học ”, nhóm chúng emmuốn gửi những lời cảm ơn và biết ơn chân thành nhất của mình tới tất cả nhữngngười đã hỗ trợ, giúp đỡ chúng em về kiến thức và tinh thần trong quá trình thựchiện bài làm

Chúng em xin chân thành gửi lời cảm ơn tới các thầy, cô giáo trong TrườngĐại Học Điện Lực nói chung và các thầy cô giáo trong Khoa Công nghệ thông tinnói riêng đã tận tình giảng dạy, truyền đạt cho chúng em những kiến thức cũng nhưkinh nghiệm quý báu trong suốt quá trình học tập

Đặc biệt, chúng em xin gửi lời cảm ơn đến Giảng viên hướng dẫn Vũ VănĐịnh, giảng viên Khoa Công nghệ thông tin - Trường Đại Học Điện Lực Thầy đãtận tình theo sát giúp đỡ, trực tiếp chỉ bảo, hướng dẫn trong suốt quá trình nghiêncứu và học tập của chúng em Trong thời gian học tập với thầy, chúng em khôngnhững tiếp thu thêm nhiều kiến thức bổ ích mà còn học tập được tinh thần làmviệc, thái độ nghiên cứu khoa học nghiêm túc, hiệu quả Đây là những điều rất cầnthiết cho chúng em trong quá trình học tập và công tác sau này

Do thời gian thực hiện có hạn kiến thức còn nhiều hạn chế nên bài làm củanhóm chúng em chắc chắn không tránh khỏi những thiếu sót nhất định Chúng emrất mong nhận được ý kiến đóng góp của thầy, cô giáo và các bạn để nhóm em cóthêm kinh nghiệm và tiếp tục hoàn thiện báo cáo của mình

Chúng em xin chân thành cảm ơn!

Trang 6

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

1.1 Giới thiệu về 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ẫutrong các bộ dữ liệu lớn liên quan đến các phương pháp tại giao điểm của máy học,thống kê và các hệ thống cơ sở dữ liệu Đây là một lĩnh vực liên ngành của khoa họcmáy tính… Mục tiêu tổng thể của quá trình khai thác dữ liệu là trích xuất thôngtin từ một bộ dữ liệu và chuyển nó thành một cấu trúc dễ hiểu để sử dụng tiếp Ngoài bước phân tích thô, nó còn liên quan tới cơ sở dữ liệu và các khía cạnh quản lý dữliệu, xử lý dữ liệu trước, suy xét mô hình và suy luận thống kê, các thước đo thú vị,các cân nhắc phức tạp, xuất kết quả về các cấu trúc được phát hiện, hiện hình hóa

và cập nhật trực tuyến Khai thác dữ liệu là bước phân tích của quá trình "khám phá

-Khai thác dữ liệu ( Data mining ): xác định nhiệm vụ khai thác dữ liệu và lựachọn kỹ thuật khai thác dữ liệu Kết quả cho ta một nguồn tri thức thô

-Đánh giá ( Evaluation): dựa trên một số tiêu chí tiến hành kiểm tra

và lọc nguồn tri thức thu được

-Triển khai ( Deployment )

-Quá trình khai thác tri thức không chỉ là một quá trình tuần tự từ bước đầu tiênđến bước cuối cùng mà là một quá trình lặp và có quay trở lại các bước đã qua

Trang 7

1.1.2Các phương pháp khai thác dữ liệu

Phân loại (Classification): Là phương pháp dự báo, cho phép phân loại một đốitượng vào một hoặc một số lớp cho trước

Hồi qui (Regression): Khám phá chức năng học dự đoán, ánh xạ một mục dữliệu thành biến dự đoán giá trị thực

Phân nhóm (Clustering): Một nhiệm vụ mô tả phổ biến trong đó người ta tìmcách xác định một tập hợp hữu hạn các cụm để mô tả dữ liệu

Tổng hợp (Summarization): Một nhiệm vụ mô tả bổ sung liên quan đến phương pháp cho việc tìm kiếm một mô tả nhỏ gọn cho một bộ (hoặc tập hợp con) của

dữ liệu

Mô hình ràng buộc (Dependency modeling): Tìm mô hình cục bộ mô tả các phụ thuộc đáng kể giữa các biến hoặc giữa các giá trị của một tính năng trong tập dữliệu hoặc trong một phần của tập dữ liệu

Dò tìm biến đổi và độ lệch (Change and Deviation Dectection): Khám phánhững thay đổi quan trọng nhất trong bộ dữ liệu

1.1.3 Một số tính năng nổi bật của khai phá dữ liệu

1.1.4Quy trình khai phá dữ liệu

Các bước quan trọng khi khai phá dữ liệu bao gồm:

Bước 1: Tiền xử lý, làm sạch dữ liệu – Trong bước này, dữ liệu được làmsạch sao cho không có tạp âm hay bất thường trong dữ liệu

Bước 2: Tích hợp dữ liệu – Trong quá trình tích hợp dữ liệu, nhiều nguồn dữliệu sẽ kết hợp lại thành một

Trang 8

Bước 3: Lựa chọn dữ liệu – Trong bước này, dữ liệu được trích xuất từ cơ sở

dữ liệu

Bước 4: Chuyển đổi dữ liệu – Trong bước này, dữ liệu sẽ được chuyển đổi

để thực hiện phân tích tóm tắt cũng như các hoạt động tổng hợp

Bước 5: Khai phá dữ liệu – Trong bước này, chúng ta trích xuất dữ liệu hữu ích

từ nhóm dữ liệu hiện có

Bước 6: Đánh giá mẫu – Chúng ta phân tích một số mẫu có trong dữ liệu.Bước 7: Trình bày thông tin – Trong bước cuối cùng, thông tin sẽ được thểhiện dưới dạng cây, bảng, biểu đồ và ma trận Quá trình được thực hiện qua 9 bước:1- Tìm hiểu lĩnh vực của bài toán (ứng dụng): Các mục đích của bài toán,các tri thức cụ thể của lĩnh vực

2- Tạo nên (thu thập) một tập dữ liệu phù hợp Làm sạch và tiền xử lý dữ liệu

3-4- Giảm kích thức của dữ liệu, chuyển đổi dữ liệu: Xác định thuộc tính quantrọng, giảm số chiều (số thuộc tính), biểu diễn bất biến

5- Lựa chọn chức năng khai phá dữ liệu: Phân loại, gom cụm, dự báo, sinh racác luật kết hợp

6- Lựa chọn/ Phát triển (các) giải thuật khai phá dữ liệu phù hợp Tiến hành khai phá dữ liệu

7-8- Đánh giá mẫu thu được và biểu diễn tri thức: Hiển thị hóa, chuyển đổi, bỏ đicác mẫu dư thừa,…

9 - Sử dụng tri thức được khai phá

Trang 9

Hình 1.1 Quy trình khai phá dữ liệu

1.1.5Ứng dụng khai phá dữ liệu

Có nhiều ứng dụng của khai phá dữ liệu thường thấy như:

1.1.6Các công cụ khai phá dữ liệu

RapidMiner: Công cụ đầu tiên phải kể tới đó là RapidMiner Đây là công cụkhai phá dữ liệu khá phổ biến hiện nay Được viết trên nền tảng JAVA nhưng khôngyêu cầu mã hóa để vận hành Ngoài ra, nó còn cung cấp các chức năng khai thác dữliệu khác nhau như tiền xử lý dữ liệu, biểu diễn dữ liệu, lọc, phân cụm

Weka: Công cụ được cho ra đời tại Đại học Wichita là một phần mềm khaithác dữ liệu mã nguồn mở Tương tự như RapidMiner, công cụ này không yêu cầu

mã hóa và sử dụng GUI đơn giản

Sử dụng Weka, người dùng có thể gọi trực tiếp các thuật toán học máy hoặcnhập chúng bằng mã Java Weka được trang bị đa dạng chức năng như trực quanhóa, tiền xử lý, phân loại, phân cụm

Trang 10

Knime: Với khả năng hoạt động vô cùng mạnh mẽ tích hợp nhiều thành phầnkhác nhau của học máy và khai phá dữ liệu để cung cấp một nền tảng KNime hỗ trợngười dùng rất nhiều trong việc xử lý và phân tích dữ liệu, trích xuất, chuyển đổi vàtải dữ liệu.

Apache Mahout: Từ nền tảng Big Data Hadoop, người ta đã cho cho ra đờithêm Apache Mahout với mục đích giải quyết nhu cầu ngày càng tăng về khai phá dữliệu và hoạt động phân tích trong Hadoop Nó được trang bị nhiều chức năng họcmáy khác nhau như phân loại, hồi quy, phân cụm

Oracle Data Mining: Khi sử dụng Oracle Data Mining nó cho phép ngườidùng thực hiện khai phá dữ liệu trên cơ sở dữ liệu SQL để trích xuất các khung hình

và biểu đồ Các phân tích sẽ hiển thị một cách trực quan giúp người dùng dễ dàng đưa

ra dự đoán cho kế hoạch tương lai

TeraData: TeraData cung cấp dịch vụ kho chứa các công cụ khai phá dữ liệu. Nhờ khả năng thông minh được trang bị, công cụ có thể dựa trên tần suất sử dụng dữliệu của người dùng và thực hiện việc cho phép truy cập nhanh hay chậm

Với một dữ liệu bạn thường xuyên cần sử dụng, TeraData sẽ cho phép truy cậpnhanh hơn là một dữ liệu ít được sử dụng Đối với dữ liệu, nhập kho là một yêucầu cần thiết

Orange: Công cụ được lập trình bằng Python với giao diện trực quan và tươngtác dễ dàng Phần mềm Orange được biết đến bởi việc tích hợp các công cụ khai phá

dữ liệu và học máy thông minh, đơn giản

1.2 Tiền xử lý

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 dữ liệu thao tá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

Trang 11

Hình 1.2 Ví dụ datasetCác kiểu tập dữ liệu

- Bản ghi (record): Các bản ghi trong cở sở dữ liệu quan hệ Ma trận dữ liệu.Biểu diễn văn bản Hay dữ liệu giao dịch.„

- Đồ thị (graph): World wide web Mạng thông tin, hoặc mạng xã hội

- Dữ liệu có trật tự: Dữ liệu không gian (ví dụ: bản đồ) Dữ liệu thời gian (ví dụ:time-series data) Dữ liệu chuỗi (ví dụ: chuỗi giao dịch)

Các kiểu giá trị thuộc tính:

- Kiểu định danh/chuỗi (norminal): không có thứ tự Ví dụ: Các thuộc tính như : Name, Profession, …

- Kiểu nhị phân (binary): là một trường hợp đăc biệt của kiểu định danh Tậpcác giá trị chỉ gồm có 2 giá trị (Y/N, 0/1, T/F)

- Kiểu có thứ tự (ordinal): Integer, Real, …

- Lấy giá trị từ một tập có thứ tự giá trị Ví dụ: Các thuộc tính lấy giá trị sốnhư : Age, Height ,… Hay lấy một tập xác định, thuộc tính Income lấy giá trị từ tập{low, medium, high}

Kiểu thuộc tính rời rạc (discrete-valued attributes): có thể là tập các giá trị của mộttập hữu hạn Bao gồm thuộc tính có kiểu giá trị là các số nguyên, nhị phân

Kiểu thuộc tính liên tục (continuous-valued attributes):Các giá trị là số thực

Các đặc tính mô tả của dữ liệu:

- Giúp hiểu rõ về dữ liệu có được: chiều hướng chính/trung tâm, sự biến thiên, sự phân bố

- Sự phân bố của dữ liệu (data dispersion):

+ Giá trị cực tiểu/cực đại (min/max)

Trang 12

+ Giá trị xuất hiện nhiều nhất (mode).

+ Giá trị trung bình (mean)

+ Giá trị trung vị (median)

+ Sự biến thiên (variance) và độ lệch chuẩn (standard deviation) + Các ngoại lai (outliers)

1.2.2 Làm sạch dữ liệu (data cleaning)

Đối với dữ liệu thu thập được, cần xác định các vấn đề ảnh hưởng là cho nókhông sạch Bởi vì, dữ liệu không sạch (có chứa lỗi, nhiễu, không đầy đủ, có mâuthuẫ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 (outliers); giảiquyết các mâu thuẫn dữ liệu

1.2.2.1Các vấn đề của dữ liệu

Trên thực thế dữ liệu thu có thể chứa nhiễu, lỗi, không hoàn chỉnh, có mâuthuẫn

- Không hoàn chỉnh (incomplete): Thiếu các giá trị thuộc tính hoặc thiếu một

số thuộc tính Ví dụ: salary = <undefined>

- Nhiễu/lỗi (noise/error): Chứa đựng những lỗi hoặc các mang các giá trị bấtthường Ví dụ: salary = “-525” , giá trị của thuộc tính không thể là một số âm

- Mâu thuẫn (inconsistent): Chứa đựng các mâu thuẫn (không thống nhất)

Ví dụ: salary = “abc” , không phù hợp với kiểu dữ liệu số của thuộc tính salary

1.2.2.2Nguồn gốc/lý do của dữ liệu không sạch

- Không hoàn chỉnh (incomplete): Do giá trị thuộc tính không có (notavailable) tại thời điểm được thu thập Hoặc các vấn gây ra bởi phần cứng, phần mềm,hoặc người thu thập dữ liệu

- Nhiễu/lỗi (noise/error): Do việc thu thập dữ liệu, hoăc việc nhập dữ liệu, hoặcviệc truyền dữ liệu

- Mâu thuẫn (inconsistent): Do dữ liệu được thu thập có nguồn gốc khác nhau.Hoặc vi phạm các ràng buộc (điều kiện) đối với các thuộc tính

1.2.2.3 Giải pháp khi thiếu giá trị của thuộc tính

- Bỏ qua các bản ghi có các thuộc tính thiếu giá trị Thường áp dụng trong các bài toán phân lớp Hoặc khi tỷ lệ % các giá trị thiếu đối với các thuộc tính quá lớn

Trang 13

- Một số người sẽ đảm nhiệm việc kiểm tra và gán các giá trị thuộc tính cònthiếu, nhưng đòi hỏi chi phí cao và rất tẻ nhạt.

- Gán giá trị tự động bởi máy tính:

+ Gán giá trị mặc định+ Gán giá trị trung bình của thuộc tính đó

+ Gán giá trị có thể xảy ra nhất – dựa theo phương pháp xác suất

1.2.2.4Giải pháp khi dữ liệu chứa nhiễu/lỗi

- Phân khoảng (binning): Sắp xếp dữ liệu và phân chia thành các khoảng (bins) cótần số xuất hiện giá trị như nhau Sau đó, mỗi khoảng dữ liệu có thể được biểu diễn bằng trung bình, trung vị, hoặc các giới hạn … của các giá trị trong khoảng đó

- Hồi quy (regression): Gắn dữ liệu với một hàm hồi quy

- Phân cụm (clustering): Phát hiện và loại bỏ các ngoại lai (sau khi đã xác địnhcác cụm)

- Kết hợp giữa máy tính và kiểm tra của con người: Máy tính sẽ tự động pháthiện ra các giá trị nghi ngờ Các giá trị này sẽ được con người kiểm tra lại

1.2.3 Tích hợp dữ liệu (data integration)

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 Khi tích hợp cần xác định thực thể từnhiều nguồn dữ liệu để tránh dư thừa dữ liệu

Ví dụ: Bill Clinton ≡ B.Clinton Việc dư thừa dữ liệu là thường xuyên xảy ra, khitích hợp nhiều nguồn Bởi cùng một thuộc tính (hay cùng một đối tượng) có thểmang các tên khác nhau trong các nguồn (cơ sở dữ liệu) khác nhau Hay các dữ liệusuy ra được như một thuộc tính trong một bảng có thể được suy ra từ các thuộc tínhtrong bảng khác Hay sự trùng lắp các dữ liệu Các thuộc tính dư thừa có thể bị pháthiện bằng phân tích tương quan giữa chúng

Phát hiện và xử lý các mâu thuẫn đối với giá trị dữ liệu: Đối với cùng một thực thểtrên thực tế, nhưng các giá trị thuộc tính từ nhiều nguồn khác nhau lại khác nhau Cóthể cách biểu diễn khác nhau, hay mức đánh giá, độ do khác nhau Yêu cầu chung đốivới quá trình 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âuthuẫn Giúp cải thiện tốc độ của quá trình khai phá dữ liệu và nâng cao chất lượngcủa các kết quả tri thức thu được

1.2.4 Biến đổi dữ liệu (data transformation)

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

Trang 14

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.Các phương pháp biến đổi dữ liệu:

- Làm trơn (smoothing): Loại bỏ nhiễu/lỗi khỏi dữ liệu

- Kết hợp (aggregation): Sự tóm tắt dữ liệu, xây dựng các khối dữ liệu

- Khái quát hóa (generalization): Xây dựng các phân cấp khái niệm - Chuẩnhóa (normalization): Đưa các giá trị về một khoảng được chỉ định

+ Chuẩn hóa min-max, giá trị mới nằm khoảng [new_mini , new_maxi]

+ Chuẩn hóa z-score, với μi , σi : giá trị trung bình và độ lệch chuẩn của thuộc tínhi

+ Chuẩn hóa bởi thang chia 10, với j là giá trị số nguyên nhỏ nhất sao cho:max({vnew}) < 1

- Xây dựng các thuộc tính mới dựa trên các thuộc tính ban đầu

1.2.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 terabytes sẽ làm cho 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 thugiả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 Các chiến lược thu giảm:

- Giảm số chiều (dimensionality reduction), loại bỏ bớt các thuộc tính không (ít)quan trọng

- Giảm lượng dữ liệu (data/numberosity reduction)

Ngày đăng: 17/05/2023, 19:34

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w