PHÂN TÍCH DỮ LIỆU
MỤC LỤC
Đại học Công nghệ thông tin TP. Hồ Chí Minh 1
PHÂN TÍCH DỮ LIỆU
LỜI CẢM ƠN
Trước tiên, em muốn gửi lời cảm ơn sâu sắc
nhất đến Thầy Đỗ Phúc là người đã tận tình giảng
dạy, chỉ bảo, định hướng cho em trong suốt môn
học và cả trong những môn học trước.
Em xin bày tỏ lời cảm ơn sâu sắc đến những
thầy cô giáo đã giảng dạy em trong thời gian qua,
những kiến thức mà em nhận được trên giảng
đường vẫn luôn luôn giúp đỡ em trong học tập và
cuộc sống dù ít hay nhiều.
Em cũng muốn gửi lời cảm ơn đến các bạn
nhóm phát triển phần mềm weka của đại học
Waikato vì đã giúp đỡ, hướng dẫn và cho phép tôi
sử dụng các tài liệu, thông tin, phần mềm của các
bạn vào bài thu hoạch.
Cuối cùng, em muốn gửi lời cảm ơn sâu sắc
đến tất cả bạn bè, và đặc biệt là các bạn trong lớp
Cao học Công nghệ thông tin K6 vì đã giúp đỡ, gợi
ý cho tôi trong suốt quá trình học tập và nghiên cứu
từ trước tới nay.
Chân thành cảm ơn.
Đại học Công nghệ thông tin TP. Hồ Chí Minh 2
PHÂN TÍCH DỮ LIỆU
PHẦN I - Tổng quan về môn Khai phá dữ liệu
1 Khai phá dữ liệu là gì
Khoảng hơn một thập kỷ trở lại đây, lượng thông tin được lưu trữ không
ngừng tăng lên. Để dễ hình dung, ta có thể nhìn lại khoảng 10 năm trước, dữ liệu
Datamining ám chỉ việc tìm kiếm một tập hợp nhỏ có giá trị từ một số lượng lớn
các dữ liệu thô. Có nhiều thuật ngữ hiện được dùng cũng có nghĩa tương tự với
từ Datamining như Knowledge Mining (khai phá tri thức), knowledge extraction
(chắt lọc tri thức), data/patern analysis(phân tích dữ liệu/mẫu), data
archaeoloogy (khảo cổ dữ liệu), datadredging(nạo vét dữ liệu)
Nói theo cách đơn giản, ta có thể hiểu khai phá dữ liệu là thao tác lấy ra
những dữ liệu cần thiết trong bộ dữ liệu thô ban đầu.
Đại học Công nghệ thông tin TP. Hồ Chí Minh 3
PHÂN TÍCH DỮ LIỆU
2 Các bước tiến hành khai phá dữ liệu
Khai phá dữ liệu thực chất là một bước của quá trình khai thác tri thức
(Knowledge Discovery Process), bao gồm:
- Xác định vấn đề và không gian dữ liệu để giải quyết vấn đề (Problem
understanding and data understanding).
- Chuẩn bị dữ liệu (Data preparation), bao gồm các quá trình làm sạch dữ
liệu (data cleaning), tích hợp dữ liệu (data integration), chọn dữ liệu (data
selection), biến đổi dữ liệu (data transformation).
- Khai thác dữ liệu (Data mining): xác định nhiệm vụ khai thác dữ liệu và
lựa chọn kỹ thuật khai thác dữ liệu. Kết quả cho ta một nguồn tri thức cần thiết.
- Đá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): sử dụng các tri thức, dữ liệu thu được vào các
mục đích riêng theo yêu cầu.
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.
3 Các phương pháp khai phá dữ liệu
Có nhiều phương pháp để tiến hành khai phá dữ liệu, mỗi phương pháp có
những ưu khuyết điểm và mục đích sử dụng khác nhau phục vụ cho những nhu
cầu khác nhau của con người. Có thể kể đến các phương pháp khai phá dữ liệu
thông tin chung về dữ liệu đầu vào, đây là một mảng riêng thường được dùng
trong lĩnh vực tóm tắt văn bản, thông tin trên web
Luật kết hợp (association rules): là phương pháp tìm ra những dữ liệu
thường xuyên xuất hiện cùng nhau nhằm tìm ra những mối liên kết của dữ liệu,
phục vụ cho nhu cầu hoạch định tương lai. Luật kết hợp được ứng dụng nhiều
trong lĩnh vực kinh doanh, y học, tin-sinh học, tài chính & thị trường chứng
khoán
Ngoài ra còn một vài phương pháp khai phá dữ liệu phát sinh thêm như
phương pháp khai phá chuỗi, phương pháp khai phá đồ thị nhưng đây là những
phương pháp khai phá dữ liệu có dạng đặc trưng nên sẽ không đề cập đến trong
bài thu hoạch này.
4 Thuật toán phân lớp dữ liệu
Trong mô hình phân lớp, thuật toán phân lớp giữ vai trò trung tâm, quyết
định tới sự thành công của mô hình phân lớp. Do vậy chìa khóa của vấn đề phân
lớp dữ liệu là tìm ra được một thuật toán phân lớp nhanh, hiệu quả, có độ chính
xác cao và có khả năng mở rộng được. Trong đó khả năng mở rộng được của
thuật toán được đặc biệt chú trọng và phát triển.
Có thể liệt kê một số kỹ thuật phân lớp tiêu biểu:
- Bộ phân lớp Bayesian (Bayesian classifier)
- Mô hình phân lớp K-hàng xóm gần nhất (K-nearest neighbor classifier)
- Mạng nơron
- Phân tích thống kê
- Các thuật toán di truyền
- Phương pháp tập thô (Rough set Approach)
5 Thuật toán phân lớp dựa trên cây quyết định
Trong những năm qua, nhiều mô hình phân lớp dữ liệu đã được các nhà
khoa học trong nhiều lĩnh vực khác nhau đề xuất như mạng nơron, mô hình
thông kê tuyến tính /bậc 2, cây quyết định, mô hình di truyền. Trong số những
Đại học Công nghệ thông tin TP. Hồ Chí Minh 5
PHÂN TÍCH DỮ LIỆU
đơn vị tạo lập dữ liệu có thể thu thập được của năm 2010 chứa thông tin về
nhiều mặt khác nhau của trường như thông tin tuyển sinh, cơ sở vật chất
Bộ dữ liệu gồm 172 cột và trên 7000 dòng, các trường thông tin có hơn
phân nửa là các mã tham chiếu do công tác điều tra thông qua các hỏi câu trắc
nghiệm rất phù hợp với công tác phân tích nhưng tính chính xác, linh động, đa
dạng không cao. Tuy nhiên cũng sẽ đáp ứng được phần nào yêu cầu của bài thu
hoạch.
2 Thuật toán phân lớp C4.5
Thuật toán sẽ được dùng để phân tích dữ liệu trong bài thu hoạch là thuật
toán C4.5. Đây là sự kế thừa của của thuật toán học máy bằng cây quyết định
dựa trên nền tảng là kết quả nghiên cứu của HUNT và các cộng sự của ông trong
nửa cuối thập kỷ 50 và nửa đầu những năm 60 (Hunt 1962). Phiên bản đầu tiên
ra đời là ID3 (Quinlan, 1979)- 1 hệ thống đơn giản ban đầu chứa khoảng 600
dòng lệnh Pascal, và tiếp theo là C4 (Quinlan 1987). Năm 1993, J. Ross Quinlan
đã kế thừa các kết quả đó phát triển thành C4.5 với 9000 dòng lệnh C chứa trong
một đĩa mềm. Mặc dù đã có phiên bản phát triển từ C4.5 là C5.0 - một hệ thống
tạo ra lợi nhuận từ Rule Quest Research, nhưng nhiều tranh luận, nghiên cứu
vẫn tập trung vào C4.5 vì mã nguồn của nó là sẵn dùng.
Với những đặc điểm C4.5 là thuật toán phân lớp dữ liệu dựa trên cây quyết
định hiệu quả và phổ biến trong những ứng dụng khai phá cơ sở dữ liệu có kích
thước nhỏ. C4.5 sử dụng cơ chế lưu trữ dữ liệu thường trú trong bộ nhớ, chính
đặc điểm này làm C4.5 chỉ thích hợp với những cơ sở dữ liệu nhỏ, và cơ chế sắp
xếp lại dữ liệu tại mỗi node trong quá trình phát triển cây quyết định. C4.5 còn
chứa một kỹ thuật cho phép biểu diễn lại cây quyết định dưới dạng một danh
sách sắp thứ tự các luật if-then (một dạng quy tắc phân lớp dễ hiểu). Kỹ thuật
này cho phép làm giảm bớt kích thước tập luật và đơn giản hóa các luật mà độ
chính xác so với nhánh tương ứng cây quyết định là tương đương.
3 Phần mềm weka
Weka là phần mềm được phát triển bởi đại học Waikato (New Zealand).
Phần mềm hỗ trợ cho thao tác máy học (machine learning) và khai phá dữ liệu.
1 Làm sạch dữ liệu
Dữ liệu đầu tiên khi nhận được là các trường thông tin bao gồm các mã
tham chiếu, dựa vào các bảng tham chiếu ta tiến hành điền thông tin vào để có
thể thực hiện phân tích (kết quả ta được file v3).
Dữ liệu thu được có quá nhiều trường thông tin bị thừa, do đó ta sẽ tiến
hành làm sạch dữ liệu để quá trình phân tích được tốt hơn, tránh bị loãng dữ
liệu. Dữ liệu được làm sạch thông qua 2 bước.
1.1 Làm sạch theo chiều dọc
Như đã trình bài ở mục II, dữ liệu bao gồm 172 cột chứa rất nhiều thông tin
của trường học. Trong số đó có nhiều thông tin dư thừa, không cần thiết cho
mục đích phân tích như ID, số lượng giáo viên nam, số giáo viên có tôn giáo
khác, các chính sách về tôn giáo, các đội nhóm thể thao trong trường Để tránh
bị loãng dữ liệu ta sẽ bỏ các trường thông tin trên ra khỏi bộ dữ liệu giảm lượng
dữ liệu từ 172 cột xuống còn 49 cột.
1.2 Làm sạch theo chiều ngang
Những trường dữ liệu có thông tin quan trọng nếu thiếu có thể được bỏ
qua, tuy nhiên những trường thông tin cần thiết để thực hiện phân tích như
trường số lượng tưởng sinh, số lượng đăng ký nhập học nếu bị thiếu thì không
thể sử dụng hàng thông tin đó được. Sau khi loại bỏ thì dữ liệu bị hao hụt rất
nhiều (từ 7367 dòng còn 2326 dòng) (kết quả ta được file v4).
2 Chuẩn bị dữ liệu
Dữ liệu đầu vào chỉ cung cấp các trường thông tin như số nam tuyển vào,
số nữ tuyến vào, số nam dự tuyển, số nữ dự tuyển để phù hợp hơn với quá
trình phân tích ta xây dựng thêm cột tỷ lệ nhận vào được tính từ các cột trên.
Đồng thời lấy cột kết quả là tốt hay kém dựa vào cột tỷ lệ nhận vào như đã đề
cập ở trên (kết quả được file v7).
3 Khai thác dữ liệu
Đưa dữ liệu vào phần mềm và tiến hành phân lớp theo thuật toán C4.5 (J48
trong weka) ta được kết quả cần phân tích:
Đại học Công nghệ thông tin TP. Hồ Chí Minh 10
nhiều mặt như công nghệ, hạ tầng , tri thức (tài liệu) thì bước đầu tiên để phát
triển là cố gắng sử dụng các công nghệ sẵn có của thế giới và cố gắng tìm hiểu
về các công nghệ có sẵn, biến công nghệ tiếp thu được thật sự trở thành công
nghệ của mình sau đó mới có thể tiếp tục phát triển kịp với trình độ phát triển
của thế giới.
Dữ liệu được dùng để phân tích là dữ liệu miễn phí, tính xác thực có thể
không cao lắm, còn nhiều dữ liệu lỗi. Tuy nhiên nó cũng phần nào thể hiện được
nhu cầu chung của các sinh viên các trường tại Mỹ nói riêng và của thế giới nói
chung. Hi vọng bài thu hoạch này có thể được làm tài liệu tham khảo áp dụng
cho các vấn đề trong tương lai của nước ta.
Các thông tin trong bài có nhiều thông tin lấy từ các diễn đàn, website
nghiên cứu, học tập trên mạng nên có nhiều thông tin không thể tìm ra được
nguồn gốc, nếu có sai sót về bản quyền mong tác giả, thầy cô và các bạn hỗ trợ,
nhắc nhở để kịp thời sửa chữa.
Đại học Công nghệ thông tin TP. Hồ Chí Minh 13
PHÂN TÍCH DỮ LIỆU
PHẦN V - TÀI LIỆU THAM KHẢO
[1] wikimedia.org
[2] www.answers.com
[3] explore.data.gov
[4] www.waikato.ac.nz
Đại học Công nghệ thông tin TP. Hồ Chí Minh 14