You are on page 1of 27

BỘ TÀI CHÍNH

TRƯỜNG ĐẠI HỌC TÀI CHÍNH – MARKETING


KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO GIỮA KỲ


KHAI PHÁ DỮ LIỆU

Tên đề tài:

ỨNG DỤNG PHẦM MỀM DATA MELT


TRONG KHAI PHÁ DỮ LIỆU

Giảng viên hướng dẫn: ThS. Nguyễn Thị Trần Lộc

Danh sách nhóm sinh viên thực hiện: Nhóm 1

1. Nguyễn Thị Minh – 2121013171: - Mã lớp HP: 2411112005901


2. Lê Thị Mỹ Hậu – 2121001000: - Mã lớp HP: 2411112005901
3. Đỗ Phương Anh – 2121005070: - Mã lớp HP: 2411112005901
4. Võ Thị Minh Anh – 2121001061: - Mã lớp HP: 2411112005901

TP. HCM, THÁNG 1 NĂM 2024


Nhóm 1

TRÍCH YẾU
(Viết thành đoạn văn, chữ in nghiêng)

Nêu lên sự cần thiết của đề tài,... dẫn đến sự cần thiết phải thực hiện đồ án này

i
Nhóm 1

MỤC LỤC
TRÍCH YẾU...................................................................................................................i

MỤC LỤC......................................................................................................................ii

LỜI CẢM ƠN...............................................................................................................iv

NHẬN XÉT VÀ ĐÁNH GIÁ CỦA GIẢNG VIÊN 1..................................................v

NHẬN XÉT VÀ ĐÁNH GIÁ CỦA GIẢNG VIÊN 2................................................vi

DANH MỤC TỪ VIẾT TẮT.....................................................................................vii

DANH MỤC THUẬT NGỮ ANH – VIỆT..............................................................viii

DANH MỤC CÁC HÌNH ẢNH..................................................................................ix

DANH MỤC CÁC BẢNG BIỂU..................................................................................x

DẪN NHẬP....................................................................................................................1

 Mục tiêu của đồ án.............................................................................................1

 Phân công công việc..........................................................................................1

 Kế hoạch thực hiện đồ án..................................................................................1

CHƯƠNG 1: TỔNG QUAN.....................................................................................2

1.1. Lý do hình thành đồ án......................................................................................2

1.2. Mục tiêu đồ án...................................................................................................2

1.3. Dự kiến kết quả đạt được...................................................................................2

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT.........................................................................3

2.4. Giới thiệu về phần mềm sử dụng (nêu tên phần mềm nhóm sử dụng tại đây). .3

2.4.1 Tổng quan về phần mềm….............................................................................3

2.4.1.1. Ưu điểm.......................................................................................................3

2.4.1.2. Hạn chế.......................................................................................................3

2.4.2 Cách sử dụng phần mềm................................................................................3

2.4.2.1. Giới thiệu giao diện (bao gồm cách cài đặt phần mềm).............................3
ii
Nhóm 1

2.4.2.2. Cách thức tiến hành các thuật toán............................................................3

CHƯƠNG 4: KẾT LUẬN.........................................................................................5

TÀI LIỆU THAM KHẢO............................................................................................6

PHỤ LỤC.......................................................................................................................7

iii
Nhóm 1

LỜI CẢM ƠN

Đầu tiên, chúng em xin gửi lời cảm ơn chân thành đến Trường Đại học Tài
chính - Marketing đã đưa môn học “Khai phá dữ liệu” vào chương trình giảng dạy.
Đặc biệt, chúng em xin gửi lời cảm ơn sâu sắc đến giảng viên bộ môn – cô Nguyễn Thị
Trần Lộc đã dạy dỗ, truyền đạt những kiến thức quý báu cho chúng em trong suốt thời
gian học tập vừa qua. Trong thời gian tham gia lớp học của cô, chúng em đã có thêm
cho mình nhiều kiến thức bổ ích, tinh thần học tập hiệu quả, nghiêm túc. Đây chắc
chắn sẽ là những kiến thức quý báu, là hành trang để chúng em có thể vững bước sau
này trong các môn chuyên ngành khác cũng như phục vụ cho thực hành nghề nghiệp
trong tương lai.

Bộ môn Khai phá dữ liệu là môn học thú vị, vô cùng bổ ích và có tính thực tế
cao. Đảm bảo cung cấp đủ kiến thức, gắn liền với nhu cầu thực tiễn của sinh viên khoa
Công nghệ thông tin. Tuy nhiên, do vốn kiến thức còn nhiều hạn chế và khả năng tiếp
thu thực tế còn nhiều bỡ ngỡ. Mặc dù chúng em đã cố gắng hết sức nhưng chắc chắn
đồ án môn học khó có thể tránh khỏi những thiếu sót và nhiều chỗ còn chưa chính xác,
kính mong cô xem xét và góp ý để đồ án môn học của chúng em được hoàn thiện hơn.

Kính chúc cô cùng tất cả giảng viên luôn mạnh khỏe và thành công.

Xin chân thành cảm ơn!

iv
Nhóm 1

NHẬN XÉT VÀ ĐÁNH GIÁ CỦA GIẢNG VIÊN 1

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

Điểm số:........................................................................................................................

Điểm chữ:......................................................................................................................

Tp.Hồ Chí Minh, ngày.…. tháng…. năm 202…

Giảng viên

v
Nhóm 1

DANH MỤC TỪ VIẾT TẮT

vi
Nhóm 1

DANH MỤC THUẬT NGỮ ANH – VIỆT

vii
Nhóm 1

DANH MỤC CÁC HÌNH ẢNH

viii
Nhóm 1

DANH MỤC CÁC BẢNG BIỂU

Bảng 1. Phân công công việc..........................................................................................1


Bảng 2. Kế hoạch thực hiện đồ án...................................................................................1

ix
Nhóm 1

DẪN NHẬP

Nêu rõ lý do tại sao chọn đề tại (Sự cần thiết dẫn đến việc chọn đề tài)

 Mục tiêu của báo cáo

 Tìm hiểu về phần mềm Data Melt.


 Ứng dụng phần mềm Data Melt vào việc chạy các thuật toán phân lớp, gom
cụm, luật kết hợp.
 Biết cách làm việc nhóm

 Phân công công việc

Bảng 1. Phân công công việc

STT Họ tên SV Công việc thực hiện


1 Phân công nhiệm vụ thành viên, phân tích
Nguyễn Thị Minh
thuật toán phân cụm

2 Cài đặt phần mềm, phân tích thuật toán


Lê Thị Mỹ Hậu
phân loại

3 Đỗ Phương Anh Phân tích thuật toán kết hợp

4 Võ Thị Minh Anh Giới thiệu phần mềm DataMelt

 Kế hoạch thực hiện đồ án

Bảng 2. Kế hoạch thực hiện đồ án

STT Tên công việc thực hiện SV thực hiện Ghi chú

1 Chia nhóm, chọn đề tài Cả nhóm Tuần 1

2 Tìm hiểu về phần mềm Data Melt: Cả nhóm Tuần 2


Giới thiệu, Lịch sử hình thành.

3 Cài đặt phần mềm Data Melt. Cả nhóm Tuần 3

4 Tìm hiểu về 3 thuật toán Kết hợp, Cả nhóm Tuần 4

1
Nhóm 1

Phân loại, Phân cụm trong phần


mền Data Melt.

5 Trình bày chỉnh sửa trong word. Cả nhóm Tuần 5

2
Nhóm 1

CHƯƠNG 1: TỔNG QUAN


1.1. Lý do hình thành đồ án

<< phần này nhóm trình bày dùng khai phá dữ liệu trong kinh doanh
tại….._nhóm tự xây dựng ngữ cảnh cho bộ dữ liệu của mình>>

1.2. Mục tiêu báo cáo

- Hiểu rõ về phần mềm Data Melt

- Ứng dụng được việc sử dụng phần mềm trong thực hiện khai phá dữ liệu.
- Sử dụng phần mềm Data Melt để chạy các thuật toán: phân lớp, gom cụm và
luật kết hợp.
- Biết phân chia thời gian, công việc cho nhau.

1.3. Dự kiến kết quả đạt được

- Tìm hiểu về phần mềm Data Melt.


- Tìm hiểu các thuật toán như phân lớp, gom cụm, luật kết hợp.
- Xây dựng được các thuật toán trên phần mềm Data Melt.

3
Nhóm 1

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1. Giới thiệu về phần mềm Data Melt

DataMelt (DMelt) là một chương trình phần mềm dùng để tính toán khoa học,
phân tích dữ liệu và trực quan hóa dữ liệu. Chương trình này được sử dụng để phân
tích dữ liệu thống kê, khớp đường cong, khai thác dữ liệu, học máy, tính toán số và vẽ
đồ thị khoa học tương tác ở dạng 2D và 3D. DataMelt được thiết kế dành cho các nhà
khoa học, kỹ sư và sinh viên.
DataMelt là đa nền tảng vì nó được viết bằng Java, do đó nó chạy trên mọi hệ
điều hành có thể cài đặt máy ảo Java. DataMelt cũng sử dụng các ngôn ngữ lập trình
cấp cao, chẳng hạn như Jython, Apache Groovy, JRuby, nhưng mã hóa Java cũng có
thể được sử dụng để gọi các thư viện đồ họa và số liệu của DataMelt.
DataMelt được xếp vào danh mục phần mềm nguồn mở, nhưng nó không hoàn
toàn miễn phí cho mục đích sử dụng thương mại. Tổng quan DataMelt có một số tính
năng để phân tích dữ liệu:
- sử dụng Jython, BeanShell, Groovy, JRuby kịch bản, hoặc tiêu chuẩn Java. Các
Phần mềm: GNU Octave chế độ cũng có sẵn để tính toán tượng trưng;
- có thể được tích hợp với Web dưới dạng applet hoặc các ứng dụng khởi động Web
Java, do đó nó phù hợp với môi trường phân tích phân tán qua Internet;
- có IDE đầy đủ tính năng với tô sáng cú pháp, kiểm tra cú pháp, hoàn thành mã và
máy phân tích. Nó bao gồm một phiên bản IDE cho các thiết bị màn hình nhỏ;
- bao gồm một hệ thống trợ giúp với việc hoàn thành mã dựa trên Java phản ánh
công nghệ;
- sử dụng I / O trung lập nền tảng dựa trên Google Bộ đệm giao thức. Dữ liệu có thể
được viết bằng C + + và được phân tích bằng Java / Jython. Nó có một trình duyệt
cho các đối tượng và đối tượng được tuần tự hóa được tạo bằng Bộ đệm giao thức
Google;
- bao gồm SQLdựa trên và NoQuery cơ sở dữ liệu
- bao gồm các gói để tính toán thống kê, lan truyền lỗi (không chắc chắn) bằng cách
sử dụng mở rộng tuyến tính hoặc phương pháp Monte Carlo cho chức năng tùy ý,

4
Nhóm 1

các tính toán tượng trưng tương tự như các tính toán được tìm thấy trong GNU
Octave dự án hoặc MATLAB, nhưng viết lại bằng Java;
- bao gồm một số mạng thần kinh, chẳng hạn như Phần mềm: JOONE và Encog, có
thể truy cập thông qua GUI hoặc sử dụng tập lệnh Java
- Lịch sử
DataMelt có nguồn gốc từ vật lý hạt trong đó việc khai thác dữ liệu là nhiệm vụ
chính. Nó được tạo ra dưới dạng dự án Software:jHepWork vào năm 2005 và ban đầu
nó được viết để phân tích dữ liệu cho vật lý hạt bằng cách sử dụng khái niệm phần
mềm Java cho dự án Máy va chạm tuyến tính quốc tế được phát triển tại SLAC . Các
phiên bản sau này của jHepWork đã được sửa đổi để sử dụng rộng rãi cho công chúng
(dành cho các nhà khoa học, kỹ sư, sinh viên vì mục đích giáo dục) do dự án Máy va
chạm tuyến tính quốc tế đã bị đình trệ. Năm 2013, jHepWork được đổi tên thành
DataMelt và trở thành một dự án có mục đích chung được cộng đồng hỗ trợ.

Nền tảng DataMelt chạy trên Windows, Phần mềm: macOS, Phần mềm: Linux và
Android nền tảng. Gói dành cho Android được gọi là AWork.

2.1.1. Tổng quan về phần mềm Data Melt

2.1.1.1. Ưu điểm

2.1.1.2. Hạn chế

2.1.2 Cách sử dụng phần mềm

2.1.2.1. Giới thiệu giao diện (bao gồm cách cài đặt phần mềm)

 Hướng dẫn cài đặt phần mềm:


 Bước 1: Tải và cài đặt JDK 19:

https://www.oracle.com/java/technologies/javase/jdk19-archive-downloads.html

 Bước 2: Cấu hình biến môi trường trên Windows:


+ Mở Environment Variables

5
Nhóm 1

+ Nhấn chọn Environment Variables

6
Nhóm 1

+ Tạo biến JAVA_HOME: Nhấn chọn New và điền tên và giá trị của biến
JAVA_HOME, nhấn OK.

+ Sửa biến Path


 Click chọn biến Path và nhấn Edit

7
Nhóm 1

 Nhấn chọn New và nhập %JAVA_HOME%\bin, nhấn OK

8
Nhóm 1

 Bước 3: Tải Datamelt và giải nén.

https://datamelt.org/download/

 Bước 4: Chạy Datamelt


+ Vào thư mục vừa giải nén -> chạy file dmelt.bat

+ Chạy dữ liệu mẫu trên DataMelt

9
Nhóm 1

2.1.2.2. Cách thức tiến hành các thuật toán

2.1.2.2.1. Thuật toán phân loại


Phân loại thống kê là một kỹ thuật học máy được sử dụng để phân loại các đối
tượng thành các lớp hoặc danh mục khác nhau. Nó dựa trên phân tích phân phối xác
suất của các tính năng của các đối tượng trong mỗi lớp.

Kỹ thuật này đề cập đến quy trình gán một đối tượng đầu vào nhất định vào một trong
số các danh mục nhất định.

Nó hỗ trợ K-Nearest Neighbor, Phân tích phân biệt tuyến tính (LDA), Phân biệt tuyến
tính của Fisher (FLD), Phân tích phân biệt bậc hai (QDA), Phân tích phân biệt đối xử
chính quy (RDA), Hồi quy logistic (LR), Phân loại Entropy tối đa, Mạng lưới thần
kinh Perceptron đa lớp, Mạng chức năng cơ sở xuyên tâm và nhiều thư viện khác.

K-Nearest Neighbor là một thuật toán phân loại đơn giản nhưng hiệu quả. Nó hoạt
động bằng cách gán một đối tượng mới vào lớp của đối tượng gần nhất trong tập dữ
liệu đào tạo.

Để sử dụng K-Nearest Neighbor trong Data Melt, chúng ta có thể sử dụng thư viện
dmelt.classification.knn

10
Nhóm 1

Ví dụ: Phân loại K-Nearest Neighbor

import dmelt

# Tải tập dữ liệu đào tạo

data = dmelt.io.load_csv("data/iris.csv")

# Tạo đối tượng phân loại K-Nearest Neighbor

knn = dmelt.classification.knn.KNN(k=3)

# Huấn luyện mô hình

knn.fit(data)

# Tạo một đối tượng dữ liệu mới để phân loại

new_data = [5.1, 3.5, 1.4, 0.2]

# Phân loại đối tượng mới

prediction = knn.predict(new_data)

# In kết quả phân loại

print(prediction)

2.1.2.2.2. Thuật toán phân cụm


a) Giới thiệu phân cụm

Phân cụm (Clustering) là xác định mối quan hệ hợp lý trong các sản phẩm và nhóm
chúng lại với nhau.

DataMelt chứa một khung để phân tích phân cụm. Nó bao gồm các thuật toán sau:

 Phân tích phân cụm K-Means.


 Thuật toán C-Means.
 Phân cụm phân cấp kết tụ.
Tất cả các thuật toán có thể được chạy trong chế độ cụm cố định và để ước tính tốt
nhất. Các điểm dữ liệu có thể được xác định trong không gian đa chiều.

b) Sử dụng phần mềm Data Melt


 Sử dụng GUI
11
Nhóm 1

Cách tiếp cận dễ nhất là chạy trình soạn thảo GUI để thực hiện phân cụm. Trong ví dụ
dưới đây, chúng tôi tạo một số cụm ở chế độ 3D và sau đó truyền dữ liệu giữ GUI để
phân tích phân cụm:

 Phân cụm dữ liệu trong JSAT

Gói jsat.clustering/ jsat.clustering/cung cấp các lớp Java khác để phân cụm dữ liệu.
Dưới đây là một ví dụ sử dụng dữ liệu đầu vào IRIS, chạy nhiều thuật toán có nghĩa là
k, in điểm số. Sau đó, nó hiển thị các cụm trên một khung vẽ:

 Sử dụng tập lệnh Jython


12
Nhóm 1

Có thể sử dụng tập lệnh Jython để phân cụm dữ liệu trong JSAT. Tập lệnh Jython là
một tập lệnh Python có thể được sử dụng để tương tác với JSAT.

Để thực hiện phân cụm dữ liệu bằng tập lệnh Jython, bạn cần tạo một đối tượng JSAT
và sau đó gọi phương thức cluster() của đối tượng đó. Phương thức cluster() sẽ nhận
dữ liệu cần phân cụm làm đầu vào và trả về một đối tượng cụm.

Ví dụ: Để thực hiện phân cụm K-means với 10 cụm, bạn có thể sử dụng mã sau

# Dữ liệu cần phân cụm

import jsat

data = ...

# Tạo đối tượng JSAT

jsat = jsat.JSAT()

# Thực hiện phân cụm K-means

clusters = jsat.cluster(data, jsat.KMeans(n_clusters=10))

13
Nhóm 1

2.1.2.2.3. Thuật toán luật kết hợp

1. Giới thiệu về thuật toán luật kết hợp trong Data Melt:

Thuật toán luật kết hợp là một kỹ thuật khai phá dữ liệu được sử dụng để tìm
các mối quan hệ giữa các biến trong một tập dữ liệu. Thuật toán này được sử dụng
trong nhiều lĩnh vực khác nhau, bao gồm bán lẻ, tiếp thị, và phát triển sản phẩm.

Trong Data Melt, thuật toán luật kết hợp được sử dụng để tìm các luật kết hợp
nhị phân. Một luật kết hợp nhị phân là một tuyên bố về hai biến, trong đó một biến
được gọi là “yếu tố đầu tiên” và biến còn lại được gọi là “yếu tố thứ hai”. Luật kết hợp
xác định rằng nếu yếu tố đầu tiên xảy ra, thì yếu tố thứ hai có khả năng xảy ra.

Ví dụ, giả sử chúng ta có hai mô hình học máy, mô hình A và mô hình B. Mô


hình A có độ chính xác là 80%, và mô hình B có độ chính xác là 70%. Trong trường
hợp này, thuật toán kết hợp sẽ gán trọng số là 0,6 cho mô hình A và trọng số là 0,4 cho
mô hình B. Nếu kết quả từ mô hình A là 1 và kết quả từ mô hình B là 0, thì kết quả sau
khi kết hợp sẽ là 0,8. Điều này có nghĩa là kết hợp kết quả từ hai mô hình sẽ dẫn đến
kết quả là 0,8, tức là có xác suất 80% là kết quả chính xác.

Thuật toán luật kết hợp trong Data Melt hoạt động theo các bước sau:

- Tính toán hỗ trợ cho tất cả các tập kết hợp: Hỗ trợ là số lần một tập kết hợp
xuất hiện trong tập dữ liệu.
- Tính toán độ tin cậy cho tất cả các luật kết hợp: Độ tin cậy là xác suất rằng
yếu tố thứ hai xảy ra nếu yếu tố đầu tiên xảy ra.
- Lọc các luật kết hợp dựa trên các ngưỡng hỗ trợ và độ tin cậy: Chỉ các luật
kết hợp có hỗ trợ và độ tin cậy lớn hơn hoặc bằng các ngưỡng đã đặt sẽ
được giữ lại.
2. Tiến hành chạy thuật toán luật kết hợp trong Data Melt

14
Nhóm 1

CHƯƠNG 3: KẾT LUẬN


<<Nêu lên những gì mình đã đạt được và chưa đạt được khi làm đồ án này>>

15
Nhóm 1

TÀI LIỆU THAM KHẢO

16
Nhóm 1

PHỤ LỤC

17

You might also like