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

Data mining study the matlab tutorial, khai phá dữ liệu số

24 1,1K 12

Đ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

Định dạng
Số trang 24
Dung lượng 1,15 MB

Nội dung

Data mining study the matlab tutorial, khai phá dữ liệu số

Trang 1

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA ĐIỆN TỬ VIỄN THÔNG

Báo cáo:

Data mining: Study the Matlab tutorial

and statistics toolbox in Matlab

Giáo viên hướng dẫn: Dr Đỗ Văn Tuấn

Thành viên nhóm:

2. Nguyễn Kim Đính 6.Nguyễn Duy Trình

3. Nguyễn Thanh Hải 7.Nguyễn Thị Yến B

Hà Nội, 5/2014

Trang 2

LỜI MỞ ĐẦU

Khoảng hơn một thập kỷ trở lại đây, lượng thông tin được lưu trữ trên các thiết bị điện

tử (đĩa cứng, CD-ROM, băng từ, v.v.) không ngừng tăng lên Sự tích lũy dữ liệu này xảy ra với một tốc độ bùng nổ Người ta ước đoán rằng lượng thông tin trên toàn cầu tăng gấp đôi sau khoảng hai năm và theo đó số lượng cũng như kích cỡ của các cơ sở dữ liệu (CSDL) cũng tăng lên một cách nhanh chóng Nói một cách hình ảnh là chúng ta đang “ngập” trong

dữ liệu nhưng lại “đói” tri thức Câu hỏi đặt ra là liệu chúng ta có thể khai thác được gì từ những “núi” dữ liệu tưởng chừng như “bỏ đi” ấy không ?

“Necessity is the mother of invention” - Data Mining ra đời như một hướng giải quyết hữu hiệu cho câu hỏi vừa đặt ra ở trên Khá nhiều định nghĩa về Data Mining và sẽ được đề cập ở phần sau, tuy nhiên có thể tạm hiểu rằng Data Mining như là một công nghệ tri thức giúp khai thác những thông tin hữu ích từ những kho dữ liệu được tích trữ trong suốt quá trình hoạt động của một công ty, tổ chức nào đó

Có rất nhiều công cụ để khai thác dữ liệu hiệu quả, trong khuôn khổ hạn hẹp của bài báo cáo này, chúng tôi xin giới thiệu chương trình MATLAB, một phần mềm hữu ích trong khai thác dữ liệu nói riêng và trong tính toán nói chung, có ứng dụng rất phổ biến trong nhiềulĩnh vực đời sống

Trang 3

Mục lục:

Hình 1 MATLAB Desktop……….………6

Hình 2: Dữ liệu từ internet……… ……….8

Hình 3: Quá trình KDD (Knowleadge Discovery in Database)… ………9

Hình 4: Mô phỏng trên Matlab……….………

……….12

Hình 5: Nhiệt độ của 3 thành phố trong 1 tháng………… ……… 12

Hình 6: Đồ thị đường……… ……… 13

Hình 7: Biểu đồ chấm điểm dữ liệu x, y ban đầu và đường hồi quy tìm được………17

Hình 8: đồ thị bậc nhất hồi quy mức xăng tiêu thụ so với vận tốc và biểu đồ điểm dữ liệu ban đầu……… 18

Hình 9: Kiến trúc tổng quát của mạng noron……… ……….19

Hình 10: Quá trình xử lý thông tin của một ANN……… …… 19

Hình 11:Kết quả của ví dụ……… ……… 22

Một số từ viết tắt:

MATLAB :Matrix Laboratory

KDD :Knowleadge Discovery in Database

ANN: Artificial Neural Network

Trang 4

I.CƠ BẢN VỀ MATLAB

1.GIỚI THIỆU CHUNG VỀ MALAB:

MATLAB (Matrix Laboratory) là một môi trường tính toán số và lập trình, chưa kể đến các module tính toán có sẵn được đưa vào như Simulink,thuật toán logic, PDE tool được thiết kế bởi công ty MathWorks MATLAB cho phép tính toán số với ma trận, vẽ đồ thị hàm số hay biểu đồ thông tin, thực hiện thuật toán, tạo các giao diện người dùng và liênkết với những chương trình máy tính viết trên nhiều ngôn ngữ lập trình khác Các công cụ lập trình MATLAB với thư viện các chương trình con giúp thực hiện được các lệnh, các bài toán một cách nhanh chóng Đó như là một cơ sở để giải quyết gần như chính xác các bài toán dùng phương pháp số để giải MATLAB như một người trợ lý đắc lực cho các công trình sư, như một người phụ việc giúp giải tay những bước tính mà phải thực hiện đi thực hiện lại hàng nghìn hàng vạn lần với hàng nghìn hàng vạn sự thay đổi biến số, với hàng nghìn hàng vạn yêu cầu của khách hàng MATLAB giúp đơn giản hóa việc giải quyết

Trang 5

các bài toán tính toán kĩ thuật so với các ngôn ngữ lập trình truyền thống như C, C++, và Fortran.

MATLAB được sử dụng trong nhiều lĩnh vực, bao gồm xử lý tín hiệu và ảnh, truyền thông, thiết kế điều khiển tự động, đo lường kiểm tra, phân tích mô hình tài chính, hay tínhtoán sinh học Với hàng triệu kĩ sư và nhà khoa học làm việc trong môi trường công nghiệp cũng như ở môi trường hàn lâm, MATLAB là ngôn ngữ của tính toán khoa học

2 MÔI TRƯỜNG LÀM VIỆC CỦA MATLAB

2.1 MATLAB gồm 5 phần chính:

• Development Environment: là một bộ các công cụ giúp ta sử dụng các hàm và tập tin của MATLAB Nó bao gồm: MATLAB desktop, Command Window, a command history, an editor, debugger, browsers for viewing help, the workspace, files, the search path

• MATLAB Mathematical Function Library: tập hợp các hàm tóan học như sum, sine,

số học, v.v

• MATLAB Language (scritp): ngôn ngữ lập trình bậc cao

• Graphics: các công cụ giúp hiễn thị dữ liệu dưới dạng đồ thị Ngòai ra nó còn cho phép xây dựng giao diện đồ họa

• MATLAB Application Program Interface (API): bộ thư viện cho phép ta sử dụng các hức năng tính tóan của MATLAB trong chương trình C hay FORTRAN

2.2 Giao diện

• Command Window: Đây là cửa sổ làm việc chính của MATLAB Tại đây ta thực hiệntòan bộ việc nhập dữ liệu và xuất kết quả tính tóan Dấu nháy >> báo hiệu chương trình sẵn sàng cho việc nhập dữ liệu Ta kết thúc việc nhập dữ liệu bằng cách nhấn phím Enter MATLAB sẽ thực thi dòng lệnh mà ta nhập vào Command Window và trả kết quả trong Command Window

• Command History: Lưu lại tất cả các lệnh mà ta đã nhập vào trong Command

Window Ta có thể xem lại tất cả các lậnh bằng cách dùng scroll bar, hay thực hiện lạilệnh đó bằng cách nhấp kép lên dòng lệnh Ngòai ra ta còn có thể cut, paste, delete các lệnh

• Workspace browser: trong MATLAB các dữ liệu được lưu trong biến Workspace browser liệt kê tất cả các biến mà ta đang sử dụng trong MATLAB Nó cung cấp thông tin về kích thước, loại dữ liệu Ta có thể truy cập trực tiếp vào dữ liệu bằng cách nhấn kép vào biến để hiễn thị Array editor

• Launch pad: cho phép người dùng truy cập nhanh vào các bộ Toolbox, phần Help

Trang 6

Editor: dùng để sọan thảo và debug các M-file của MATLAB.

• Current Directory Browser: xem các file trong thư mục hiện hành

Hình 1 MATLAB Desktop

2.3 Một số thao tác cơ bản trong MATLAB

Trong MATLAB, thanh trình đơn thay đổi tùy theo cửa sổ mà ta lựa chọn Tuy vậy cáctrình đơn File, Desktop, Window, Help có mặt hầu hết trong các thanh trình đơn

Trình đơn File:

• New: tạo một đối tượng mới (biến, m-file, figure, model, GUI)

• Open: mở một file theo định dạng của MATLAB (*.m, *.mat, *.mdl)

• Import data…: nhập dữ liệu từ các file khác vào MATLAB

• Save workspace…: lưu các biến trong MATLAB vào file *.mat

• Set path: khai báo các đường dẫn của các thư mục chứa các m-file

• Preferences: thay đổi các định dạng về font, font size, color cũng như các tùy chọncho Editor, Command Window v.v

• Page Setup: định dạng trang in

• Print: in

Trình đơn Desktop:

• Desktop layout: sắp xếp các cửa sổ trong giao diện

• Save layout: lưu cách sắp xếp cửa sổ

Trang 7

Trình đơn Window dùng để kích họat (activate) cửa sổ.

Nút Start cung cấp shortcut tới các công cụ trong MATLAB

II TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU - DATA MINING

Hình 2: Dữ liệu từ internet

Trang 8

Khai phá dữ liệu là một bước trong bảy bước của quá trình KDD (Knowleadge Discovery

in Database) và KDD được xem như 7 quá trình khác nhau theo thứ tự sau:

• Làm sạch dữ liệu (data cleaning & preprocessing): Loại bỏ nhiễu và các dữ liệu khôngcần thiết

• Tích hợp dữ liệu: (data integration): quá trình hợp nhất dữ liệu thành những kho dữ liệu (data warehouses & data marts) sau khi đã làm sạch và tiền xử lý (data cleaning

Hình 3: Tiến trình KDD (Knowleadge Discovery in Database)

2.Ứng dụng của Data mining

Ứng dụng của nó rất đa dạng và rộng tới, từ marketing, chống gian lận, giảm giá thành sản xuất, tăng doanh thu, phân tích hành vi sử dung người dùng internet để target đúng nhu cầu, đúng đối tượng hay ứng dụng hỗ trợ ra quyết định, nghiên cứu khoa học đến việc chống khủng bố v.v…

Trang 9

Như đã trình bày ở trên, pham vi ứng dụng của data mining rất rộng, bao phủ hầu hết các lĩnh vực Tuy vậy có thể tóm lược lại phạm vi ứng dụng của data ming trong các bài toán yêu cầu có cần có các chức năng/nghiệp vụ sau:

Tự động hóa việc dự doán các xu thế và hành vi sẽ diễn ra trong tương lai: Data mining

tự động hóa quá trình tìm kiếm và trích xuất các tập thông tin có mối quan hệ hoặc tương quan trong một tập dữ liệu cực lớn Những vấn đề/câu hỏi đặt ra với các cách truyền thống đòi hỏi một quá trình rất phức tạp và tốn kém cả về tài chính và thời gian để giải đáp thì giờ có thể trả lời một cách nhanh chóng trong khi giá thành là thấp nhất Một ví dụđơn giản trong quảng cáo online là quá trình targeting, khi một người dùng click vào một banner quảng cáo bán giầy dành cho nữ giới, thì khả năng người đó là nữ và họ đang quan tâm đến đôi giầy đó, khi hệ thống nhận diện được điều này thì có thể target thêm cáckiểu dáng giầy khác nhau, kích cỡ khác nhau, giá thành khác nhau với mục tiêu là người dùng sẽ kết thúc quá trình là mua một đôi giày, ngoài ra bởi vì hệ thống nhận diện người dùng là phụ nữ nên nó có thể quảng cáo thêm các sản phẩm khác như mỹ phẩm, quần áo v.v

Tự động hóa việc khám phá/nhận diện ra những tập thông tin quá khứ mà hệ thống không/chưa biết: Công cụ data mining trong quá trình phân tích dữ liệu sẽ nhận diện ra

nhưng tập thông tin/dữ liệu không có hoặc bị ẩn bởi những mối liên hệ mà được xác định trước Ví dụ như trong việc bán hàng, có những sản phẩm không có mối liên hệ gì với nhau, nhưng lại hay bán được cùng nhau, từ đó đưa ra cơ chế recommendation Hay cơ chế nhận diện giao dịch gian lận trong thanh toán điện tử dựa vào việc phân tích các giao dịch bất thường…

• Ngày nay, các công nghệ data mining được ứng dụng rộng rãi trong các công ty lấy kháchhàng làm trung tâm như truyền thông, tài chính, marketing, bán hàng, các nghành công nghiệp sản xuất v.v… Nó cho phép các công ty xác định được các mối quan hệ giữa các yếu tố nội tại như giá thành, mẫu mã, cách thức quảng cáo, thậm chí là kỹ năng của nhân viên công ty… các yếu tố bên ngoài như đối thủ cạnh tranh, chính sách kinh tế hay nhu cầu thị trường v.v Và nó còn hỗ trợ việc xác định được sự tác động của các chính sách khuyến mại, giảm giá, độ hài lòng của khách hàng và lợi nhuận của doanh nghiệp…

• Vài công nghệ và kỹ thuật data mining thường áp dụng như: thống kê (statistical), phân loại (classering), máy học (machine learning), mạng nơ ron (neural network) sẽ được trình bày chi tiết ở phần nội dung phía sau về cơ bản:

Mạng trí tuệ nhân tạo-mạng nơ ron (Artificial neural networks): Đây là mô hình mà hệ

thống có thể tự học thông qua đào tạo với tập dữ liệu ban đầu, từ đó suy đoán ra các tập kết quả từ tập dữ liệu mà nó khai thác

Trang 10

Decisions Trees: Một tập các decisions biểu diễn dưới dạng cây, các decisions này tạo ra

các luật cho việc phân loại tập dữ liệu được hiểu là, nếu tập thông tin A thõa mãn các luật

B thì quyết định C

Giải thuật di truyền (Generic Algorithms): Kỹ thuật này sử dụng trong các quá trình phối

hợp, biến đổi, chọn lọc tự nhiên kế thừa từ khái niệm tiến hóa

Nearest neighbor method: Đây là kỹ thuật phân loại từng bản ghi/thông tin trong tập dữ

liệu dựa trên sự kết hợp của k records có độ giống nhau nhất trong tập dữ liệu quá khứ

Rule induction: Kỹ thuật bóc tác dữ liệu dựa trên nguyên tắc Nếu-Thì từ các tập dữ liệu

thống kê

Thuật Toán K-Means: K-Means là thuật toán rất quan trọng và được sử dụng phổ biến

trong kỹ thuật phân cụm Tư tưởng chính của thuật toán K-Means là tìm cách phân nhóm các đối tượng (objects) đã cho vào K cụm (K là số các cụm được xác đinh trước, K nguyên dương) sao cho tổng bình phương khoảng cách giữa các đối tượng đến tâm nhóm (centroid ) là nhỏ nhất

III CÁC HÀM THỐNG KÊ CƠ BẢN

1 Độ lệch chuẩn: Std(x)

1.1 Khái niệm độ lệch chuẩn:

Độ lệch chuẩn, hay độ lệch tiêu chuẩn (Standard Deviation) là một đại lượng thống kê

mô tả dùng để đo mức độ phân tán của một tập dữ liệu đã được lập thành bảng tần số Có thể tính ra độ lệch chuẩn bằng cách lấy căn bậc hai của phương sai Khi hai tập dữ liệu có cùng giá trị trung bình cộng, tập nào có độ lệch chuẩn lớn hơn là tập có dữ liệu biến thiên nhiều hơn

1.2 Ý nghĩa của độ lệch chuẩn:

Độ lệch chuẩn đo tính biến động của giá mang tính thống kê Nó cho thấy sự chênh lệch về giá trị của từng thời điểm so với giá trung bình

2 Phương sai: var(x)

Trang 11

2.3 Ứng dụng thực tế:

-Đặc trưng cho sai số của thiết bị,chi tiết gia công so với kích thước tiêu chuẩn

-Phương đặc trưng cho mức độ rủi do của các quyết định

3 Các hàm khác

-Normplot(X): vẽ đồ thị phân bố Normal cho mỗi cột dữ liệu trong X.

-Diff(x): tính độ chênh lệch giữa các phần tử.

-Mean(x) : tính giá trị trung bình.

-Plot(x,y): vẽ biểu đồ đường.

-Bar(x,y) : vẽ biểu đồ cột.

Hình 4: Mô phỏng trên Matlab

4 Ví Dụ Về Phân Tích Dữ Liệu

Bài toán: Phân tích dữ liệu của 3 thành phố trong 1 tháng(31 ngày).

Nhiệt độ ban ngày của 3 thành phố (tính theo độ C) tính trong 1 tháng (31 ngày) được ghi lại và gán cho 1 biến temps

Trang 12

Hình 5: Nhiệt độ của 3 thành phố trong 1 tháng

Mỗi hàng chứa nhiệt độ của 1 ngày và 1 cột chứa nhiệt độ của 1 thành phố trong tháng.-Vẽ đồ thị đường:

D =1:31; số ngày của tháng

plot(d,temps); vẽ đồ thị đường

xlabel('Day of month'); gán nhãn cho trục x

ylabel('Celsius'); gán nhãn cho trục y

title('Daily High Tempratures in three Cities'); đặt tên cho biểu đồ

legrend(‘city1’,’city2’,’city3’); đặt tên cho các đường trong biểu đồ

Hình 6 : Đồ thị đường

Trang 13

-Tính nhiệt độ trung bình của từng thành phố:

-Tìm sự chênh lệch nhiệt độ của mỗi thành phố so với giá trị trung bình:

tdev = temps - avg_temp(ones(31,1),:)

tdev =[0.0323 -0.2258 -1.8710;3.0323 0.7742 2.1290;0.0323 -3.2258 -0.8710; 2.0323 -0.2258 3.1290;0.0323 -2.2258 2.1290;-0.9677 0.7742 -0.8710;3.0323 0.7742 -4.8710; -3.9677 1.7742 0.1290;7.0323 -1.2258 -1.871; 0.0323 -1.2258

-1.8710; 2.0323 1.7742 -0.8710;-0.9677 -0.2258 -2.8710; -2.9677 -1.2258 3.1290; -3.9677 -0.2258 -0.8710, 3.0323 -0.2258 -1.8710; -3.9677 0.7742 0.1290; -1.9677 -1.2258 -2.8710; 0.0323 -1.2258 2.1290; -2.9677 -0.2258 -0.8710; 0.0323 -0.2258 1.1290; 0.0323 -0.2258 0.1290;-1.9677 0.7742 -2.8710;1.0323 3.7742 -1.8710; -2.9677 1.7742 0.1290; -1.9677 -2.2258 2.1290; 2.0323 -1.2258 1.1290; 0.0323 -3.2258

2.1290; 1.0323 -1.225 -1.8710; 3.0323 1.7742 3.1290;1.0323 2.7742 4.1290;0.0323 3.7742 2.1290]

-Tìm ra nhiệt độ lớn nhất của mỗi thành phố trong tháng đó:

Trang 14

Phân tích hồi qui không chỉ là trùng khớp đường cong (lựa chọn một đường cong mà vừa khớp nhất với một tập điểm dữ liệu); nó còn phải trùng khớp với một mô hình với các thành phần ngẫu nhiên và xác định (deterministic and stochastic components) Thành phần xác định được gọi là bộ dự đoán (predictor) và thành phần ngẫu nhiên được gọi là phần sai

số (error term)

Dạng đơn giản nhất của một mô hình hồi qui chứa một biến phụ thuộc (còn gọi là "biến đầu ra," "biến nội sinh," "biến được thuyết minh", hay "biến-Y") và một biến độc lập đơn (còn gọi là "hệ số," "biến ngoại sinh", "biến thuyết minh", hay "biến-X")

Hồi qui thường được xếp vào loại bài toán tối ưu vì chúng ta nỗ lực để tìm kiếm một giải pháp để cho sai số và phần dư là tốt nhất

2.Tính hồi quy trong Matlab

Trong Matlab ta sử dụng hàm Polyfit để tính hồi quy Cú pháp: Polyfit(x,y,n)

Trong đó: x và y là giá trị của đại lượng cần xây dựng hàm hồi quy và n là bậc của đa thức hồi quy

Kết quả là ta nhận được một đa thức bậc n thể hiện mối quan hệ giữa 2 biến x và y cho trước

Ngày đăng: 21/05/2014, 06:17

HÌNH ẢNH LIÊN QUAN

Hình 1.  MATLAB Desktop - Data mining study the matlab tutorial, khai phá dữ liệu số
Hình 1. MATLAB Desktop (Trang 6)
Hình 3: Tiến trình KDD (Knowleadge Discovery in Database) - Data mining study the matlab tutorial, khai phá dữ liệu số
Hình 3 Tiến trình KDD (Knowleadge Discovery in Database) (Trang 8)
Hình 6 : code tính đa thức hồi quy của độ sạch oxy với nồng độ hydrocarbon và vẽ đồ thị  minh họa. - Data mining study the matlab tutorial, khai phá dữ liệu số
Hình 6 code tính đa thức hồi quy của độ sạch oxy với nồng độ hydrocarbon và vẽ đồ thị minh họa (Trang 16)
Hình 8: đồ thị bậc nhất hồi quy mức xăng tiêu thụ so với vận tốc và biểu đồ điểm dữ liệu - Data mining study the matlab tutorial, khai phá dữ liệu số
Hình 8 đồ thị bậc nhất hồi quy mức xăng tiêu thụ so với vận tốc và biểu đồ điểm dữ liệu (Trang 17)
Hình 9: Kiến trúc tổng quát của mạng noron - Data mining study the matlab tutorial, khai phá dữ liệu số
Hình 9 Kiến trúc tổng quát của mạng noron (Trang 18)
Hình 10: Quá trình xử lý thông tin của một ANN - Data mining study the matlab tutorial, khai phá dữ liệu số
Hình 10 Quá trình xử lý thông tin của một ANN (Trang 19)
Hình 11: kết quả mô phỏng của mạng Nơ-ron Chú thích:Đường màu đỏ là đồ thị của hàm y, đường màu xanh là kết quả sau khi mô phỏng - Data mining study the matlab tutorial, khai phá dữ liệu số
Hình 11 kết quả mô phỏng của mạng Nơ-ron Chú thích:Đường màu đỏ là đồ thị của hàm y, đường màu xanh là kết quả sau khi mô phỏng (Trang 22)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w