Thuật toán phát hiện phần tử ngoại lai và ứng dụng

75 422 0
Thuật toán phát hiện phần tử ngoại lai và ứng dụng

Đ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

i LỜI CAM ĐOAN Tôi cam đoan kết luận văn việc tìm hiểu, có trích dẫn tham chiếu đến nguồn tư liệu tin cậy Nội dung luận văn không chép từ kết luận văn, luận án khác ii LỜI CẢM ƠN Lời đầu tiên, xin gửi lời cảm ơn sâu sắc tới thầy giáo TS Lê Văn Phùng, người thầy trực tiếp dành nhiều thời gian tận tình hướng dẫn, cung cấp thông tin, tài liệu quý báu giúp đỡ hoàn thành luận văn Tôi xin gửi lời cảm ơn đến giảng viên trường Đại học công nghệ thông tin truyền thông - Đại học Thái Nguyên, thầy Viện công nghệ thông tin - Viện hàn lâm khoa học công nghệ Việt Nam giảng dạy, truyền đạt kiến thức giúp đỡ suốt trình học tập Tôi xin gửi lời cảm ơn tới Phòng giáo dục đào tạo huyện Văn Yên, tỉnh Yên Bái, tạo điều kiện thuận lợi cho tham gia khóa học suốt trình hoàn thành luận văn Cuối cùng, xin cảm ơn người thân, bạn bè gia đình cổ vũ động viên hoàn thành luận văn tốt nghiệp Mặc dù cố gắng hoàn thành luận văn với tất nỗ lực thân, luận văn không tránh khỏi thiếu sót Kính mong nhận ý kiến đóng góp quý thầy cô bạn bè, đồng nghiệp Tôi xin chân thành cảm ơn! Thái Nguyên, ngày 05 tháng 05 năm 2016 Học viên Phạm Hồng Hải iii MỤC LỤC LỜI CAM ĐOAN I MỤC LỤC III DANH MỤC CÁC TỪ VIẾT TẮT VI DANH MỤC CÁC BẢNG, HÌNH VẼ VII MỞ ĐẦU CHƯƠNG PHẦN TỬ NGOẠI LAI VÀ ỨNG DỤNG TRONG KHAI PHÁ DỮ LIỆU 1.1 Khai phá liệu phát tri thức 1.1.1 Một số khái niệm 1.1.2 Khai phá liệu 1.1.3 Phát tri thức 1.2 MộT Số KHÁI NIệM LIÊN QUAN ĐếN PHầN Tử NGOạI LAI 1.2.1 Khái niệm ngoại lai 1.2.2 Khái niệm ngoại lai sở liệu 1.3 Phát phần tử ngoại lai liệu 12 1.4 Ứng dụng phát phần tử ngoại lai 16 1.4.1 Phát xâm nhập 16 1.4.2 Phát gian lận 17 1.4.3 Phát bảo hiểm yêu cầu bồi thường gian lận 18 1.4.4 Ứng dụng y tế công cộng 18 1.4.5 Phát thiệt hại công nghiệp 19 1.4.6 Xử lý hình ảnh 19 1.4.7 Mạng cảm biến 20 CHƯƠNG CÁC THUẬT TOÁN TÌM KIẾM PHẦN TỬ NGOẠI LAI THEO TỶ LỆ KHÁC BIỆT DB(PCT,DMIN) 21 2.1 Định nghĩa phần tử ngoại lai theo tỷ lệ khác biệt 21 iv 2.2 Thuật toán đánh giá theo ô 22 2.2.1 Các khái niệm tính chất liên quan 22 2.2.2 Thuật toán FindAllOutsM cho tập liệu nhớ 24 2.2.2.1 Tư tưởng thuật toán 24 2.2.2.2 Mô tả thuật toán FindAllOutsM (Find All Outliers in Memory) 26 2.2.2.3 Đánh giá độ phức tạp thuật toán không gian hai chiều 28 2.2.2.4 Tổng quát cho trường hợp nhiều chiều 30 2.2.2.5 Đánh giá độ phức tạp không gian nhiều chiều 31 2.3 Phát phần tử ngoại lai DB(pct,Dmin) tập liệu lớn, nhớ 32 2.3.1 Phân tích tổng quát 32 2.3.2 Thuật toán FindAllOutsD cho phần tử ngoại lai nằm nhớ 36 2.3.2.1 Tư tưởng thuật toán 36 2.4 Xử lý thực nghiệm 39 2.4.1 Thiết lập thực nghiệm 39 2.4.2 Thay đổi cỡ tập liệu 40 2.4.3 Thay đổi giá trị pct 42 2.4.4 Thay đổi chiều liệu số lượng ô 42 2.5 Kết luận chương 43 CHƯƠNG 44 CHƯƠNG TRÌNH THỰC NGHIỆM 44 3.1 Hiện trạng đặt toán 44 3.1.1 Chỉnh sửa liệu 44 3.1.2 Chỉnh lỗi cú pháp 45 3.1.3 Phát ngoại lai 46 3.2 Cài đặt thuật toán chạy chương trình 46 v 3.2.1 Sử dụng luật bảng điểm 46 3.2.1.1 Xử lí liệu thủ công 46 3.2.1.2 Cài đặt thuật toán 47 3.2.1.3 Một số qui luật xác định ngoại lai 48 3.2.1.4 Các xã thuộc huyện Văn Yên 49 3.2.1.5 Những xã đặc biệt khó khăn 50 3.2.1.6 Các dân tộc thiểu số huyện Văn Yên 51 3.2.2 Ứng dụng thuật toán FindAllOutsD tìm phần tử ngoại lai theo tỷ lệ khác biệt 51 3.3 Kết luận chương 54 KẾT LUẬN 55 TÀI LIỆU THAM KHẢO 56 PHỤ LỤC 57 vi DANH MỤC CÁC TỪ VIẾT TẮT CNTT Công nghệ thông tin KDD Khám phá tri thức SQL Ngôn ngữ hỏi SQL, Structured Query Language MySQL Hệ quản trị sở liệu MySQL ECG(Electrocardiograms) Điện tâm đồ Electroencephalograms Điện não đồ ID (Identification) Nhận biết FindAllOutsM Find All Outliers in memory FindAllOutsD Find All Outliers in Disk ADN – Aciddeoxyribonuclic Chuỗi phân tử Outlier Ngoại lai DB (Distance Based) Dựa theo khoảng cách ĐBKK Đặc biệt khó khăn THCS Trung học sở vii DANH MỤC CÁC BẢNG, HÌNH VẼ Hình 1.1 Vai trò tri thức Hình 1.2 Phát tri thức Hình 1.3 Phần tử ngoại lai tập điểm có tọa độ (x,y) mặt phẳng có giá trị tung độ y nhỏ hẳn phần tử khác tập hợp Hình 1.4 Thí dụ phân tích liệu ngoại lai 11 Hình1.5: Minh họa- giá trị ngoại lai Hình 1.6: Các thành phần liên quan đến kỹ thuật phát ngoại lai 14 Hình 1.7: Biểu đồ nhiệt độ tháng khác năm 16 Hình 2.2 a 29 Hình 2.2b 29 Hình 2.2c 30 Hình 2.2d 30 Hình 2.3 Thời gian chạy CPU+I/O với tập liệu ba chiều nằm nhớ Với pct=0.9999 40 Hình 2.4 42 Hình 3.1 Dữ liệu ban đầu, chưa điều chỉnh thủ công 45 Hình 3.2 Bảng điểm điều chỉnh, cho phù hợp với yêu cầu tin học hóa 47 Hình 3.3 Bản đồ Huyện Văn Yên – Tỉnh Yên Bái 49 Hình 3.4: Tệp Excel bảng điểm sở liệu đầu vào 52 Hình 3.5: Các danh mục 52 Hình 3.6: Ta thêm vào xóa tên dân tộc 53 Hình 3.7 Ta sửa thêm vào xóa tên trường THCS 53 Hình 3.8 Ta sửa, xóa thêm môn thi 54 Hình 3.9 Kết tìm phần tử ngoại lai 54 MỞ ĐẦU Trong vài thập niên gần đây, với thay đổi phát triển không ngừng ngành công nghệ thông tin dẫn đến bùng nổ thông tin liệu Luồng thông tin chuyển tải mau lẹ nhanh chóng.Công nghệ khai phá liệu phát tri thức chủ đề quan tâm công nghệ thông tin áp dụng rộng rãi nhiều lĩnh vực đem lại thành tựu to lớn Xác định phần tử ngoại lai(outlier) tập hợp liệu hướng quan tâm, nghiên cứu có nhiều ứng dụng thiết thực Tuy nhiên với số lượng liệu tập trung lưu trữ sở liệu ngày lớn việc tìm kiếm phần tử ngoại lệ phần tử ngoại lai trình sử dụng khai thác thông tin ngày trọng Do tính hấp dẫn khai phá liệu, đặc biệt thuật toán phát phần tử ngoại lai, chọn đề tài “Thuật toán phát phần tử ngoại lai ứng dụng” luận văn cao học Hiện lĩnh vực giáo dục phát triển mạnh mẽ, hệ thống trường lớp ngày mở rộng, việc áp dụng công nghệ thông tin quản lý giảng dạy, học tập ngày trọng, có quản lý điểm thi kỳ thi học sinh giỏi môn văn hóa phòng giáo dục đào tạo huyện Văn Yên, tỉnh Yên Bái tổ chức Với mong muốn phát tự động sai sót bảng liệu thi học sinh giỏi huyện Văn Yên, Yên Bái, từ sử dụng phần mềm phát tự động ngoại lai, điều chỉnh theo ý kiến chuyên gia giáo dục Xuất phát từ thực tế đó, luận văn trình bày nhằm mục đích: Tìm hiểu khái niệm khai phá liệu phát tri thức, số khái niệm liên quan đến phần tử ngoại lai, phát phần tử ngoại lai sở liệu ứng dụng… 2 Khảo cứu số thuật toán phát phần tử ngoại lai theo tỷ lệ khác biệt liệu lớn, nhiều chiều Kiểm tra thuật toán FindAllOutsD cho phần tử ngoại lai nằm nhớ liệu thực tế CHƯƠNG PHẦN TỬ NGOẠI LAI VÀ ỨNG DỤNG TRONG KHAI PHÁ DỮ LIỆU Nội dung chương giới thiệu trình phát tri thức, khai phá liệu, trình bày số khái niệm liên quan đến phần tử ngoại lai phát phần tử ngoại lai sở liệu Đồng thời, sâu tìm hiểu ứng dụng thực tế phần tử ngoại lai lĩnh vực sống 1.1 Khai phá liệu phát tri thức 1.1.1 Một số khái niệm Người ta xác định rõ liệu, thông tin, tri thức vai trò chúng xã hội tri thức Nói chung, liệu bao gồm mệnh đề phản ánh thực Một phân loại lớn mệnh đề quan trọng thực tiễn đo đạc hay quan sát đại lượng biến đổi Các mệnh đề bao gồm số, từ hình ảnh Tri thức hay kiến thức bao gồm kiện, thông tin, mô tả, hay kỹ có nhờ trải nghiệm hay thông qua giáo dục Trong tiếng Việt, "tri" lẫn "thức" có nghĩa biết Tri thức hiểu biết đối tượng, mặt lý thuyết hay thực hành Nó tiềm ẩn, chẳng hạn kỹ hay lực thực hành, hay tường minh, hiểu biết lý thuyết đối tượng, nhiều mang tính hình thức hay có tính hệ thống Mặc dù có nhiều lý thuyết tri thức, định nghĩa tri thức tất người chấp nhận Thành tựu tri thức liên quan đến trình nhận thức phức tạp: tri giác, truyền đạt, liên hệ, suy luận Trong triết học, ngành nghiên cứu tri thức gọi tri thức luận 1.1.2 Khai phá liệu Khai phá liệu khái niệm đời vào năm cuối thập 54 Hình 3.8 Ta sửa, xóa thêm môn thi Khi nạp tệp tin bảng điểm chương trình đưa kết phần tử ngoại lai việc đánh dấu đỏ phần mềm hình Hình 3.9 Kết tìm phần tử ngoại lai Trong phần mềm có chức lưu tệp Excel phần tử ngoại lai để giúp cho việc thống kê, chỉnh sửa liệu 3.3 Kết luận chương Chương luận văn ứng dụng khái niệm ngoại lai, để phát tự động sai sót bảng liệu thi học sinh giỏi huyện Văn Yên, Yên Bái Những công việc thử nghiệm (i) xử lí sơ liệu đầu vào; (ii) chỉnh lí lỗi cú pháp, điều chỉnh lỗi ngữ nghĩa, (iii) Nạp bảng điểm Excel vào chương trình để phần mềm phát tự động ngoại lai, điều chỉnh theo ý kiến chuyên gia giáo dục 55 KẾT LUẬN Những kết thực Sau thời gian thực luận văn sau đại học, học viên đạt số kết tìm hiểu, nghiên cứu thực hành sau :  Tìm hiểu liệu ngoại lai hệ thống sở liệu ứng dụng  Tìm hiểu thuật toán tìm phần tử ngoại lai theo tỷ lệ khác biệt như: Thuật toán FindAllOutsM, thuật toán FindAllOutsD  Đã sử dụng thuật toán FindAllOutsD để cài đặt viết chương trình demo tìm phần tử ngoại lai bảng điểm thi học sinh giỏi cấp huyện  Đã biết sử dụng ngôn ngữ lập trình C#, Visual Studio, winform để viết chương trình demo Phương hướng phát triển luận văn Trong tương lai, học viên hoàn thiện luận văn, với số thực nghiệm, ứng dụng đơn vị công tác Cụ thể :  Sử dụng kĩ thuật phân tích, xử lí liệu Phòng Giáo dục đào tạo, huyện Văn Yên, tỉnh Yên Bái  Xử lý liệu tổ chức cán phòng giáo dục đào tạo huyện Văn Yên  Áp dụng chương trình vào phát sai sót bảng tổng hợp kết thông tin cuối năm học học sinh lớp trường gửi phòng giáo dục đào tạo 56 TÀI LIỆU THAM KHẢO A Tiếng Việt [1] Hoàng Xuân Huấn, Phạm Hạ Thủy (2006), Phát phần tử ngoại lai sở liệu nhờ phân tích hồi quy Tạp chí tin học điều khiển T22(1) trang 45-52 [2] Phạm Hạ Thủy (2007), Nghiên cứu phần tử ngoại lai sở liệu ứng dụng Luận án tiến sỹ Viện Công nghệ thông tin Viện Hàn lâm khoa học công nghệ Việt Nam B Tiếng Anh [3] Dieter Adriaans, Dolf Zanting (1996), Data mining AddisionWesley [4] Barnett, V and Lewis T.(1994), Outliners in Statiscal Data, Jonh Wiley, 3rd edition [5] Edwin M Knorr (2002), Outliers And Datamining: Finding Exceptions In Data Ph:b Disertation, University of British Columbia,2002 [6] Edwin M.Knorr (1998), Algorithms for Mining Distance-Based Outliers in Large Datasets In Proc VLDB.Pages 211-222 [7] Hawkins “Indentification of Outliers” Chapman and Hall, London,1980 [8] JiaWei Han, Michiline Kember (2001), Datamining MorGan KauFmann Publishers Academic Press [9] Karanjit Singh and Dr Shuchita Upadhyaya (2012) Outlier Detection: Applications And Techniques 57 PHỤ LỤC Chương trình nguồn using OfficeOpenXml; using System; using System.Data; using System.Drawing; using System.IO; using System.Windows.Forms; using System.Linq; namespace BangDiemThi { public partial class ChuongTrinhChinh : Form { private DataTable _dt = null; private DataTable _xaThiTran = null; private DataTable _danToc = null; private DataTable _truongTHCS = null; private DataTable _monThi = null; public ChuongTrinhChinh() { InitializeComponent(); } private void LoadXaThiTran() { _xaThiTran = new DataTable(); DataSet ds = new DataSet(); ds.ReadXml(Application.StartupPath + "\\XaThiTran.xml"); 58 _xaThiTran = ds.Tables[0]; } private void LoadTenTruong() { _truongTHCS = new DataTable(); DataSet ds = new DataSet(); ds.ReadXml(Application.StartupPath + "\\TruongTHCS.xml"); _truongTHCS = ds.Tables[0]; } private void LoadDanToc() { _danToc = new DataTable(); DataSet ds = new DataSet(); ds.ReadXml(Application.StartupPath + "\\DanToc.xml"); _danToc = ds.Tables[0]; } private void LoadMonThi() { _monThi = new DataTable(); DataSet ds = new DataSet(); ds.ReadXml(Application.StartupPath + "\\MonThi.xml"); _monThi = ds.Tables[0]; } 59 private void xaThuocHuyenToolStripMenuItem_Click(object sender, EventArgs e) { XaThiTran frm = new XaThiTran(); if (frm.ShowDialog() == DialogResult.OK) LoadXaThiTran(); } private void danTocToolStripMenuItem_Click(object sender, EventArgs e) { DanToc frm = new DanToc(); if (frm.ShowDialog() == DialogResult.OK) LoadDanToc(); } private void truongThuocHuyenToolStripMenuItem_Click(object sender, EventArgs e) { TruongTHCS frm = new TruongTHCS(); if (frm.ShowDialog() == DialogResult.OK) LoadTenTruong(); } private void monThiToolStripMenuItem_Click(object sender, EventArgs e) { MonThi frm = new MonThi(); if (frm.ShowDialog() == DialogResult.OK) LoadMonThi(); 60 } private void gioiThieuToolStripMenuItem_Click(object sender, EventArgs e) { GioiThieu frm = new GioiThieu(); frm.ShowDialog(); } private void bangDiemThiToolStripMenuItem_Click(object sender, EventArgs e) { if (openExelFileDialog.ShowDialog() == DialogResult.OK) { string filePath = openExelFileDialog.FileName; dataGridView1.DataSource = ImportFromXlsx(filePath); } } protected DataTable ImportFromXlsx(string filePath, int startRow = 4, int startCol = 1, int columns = 11) { using (var xlPackage = new ExcelPackage()) { using (var stream = File.OpenRead(filePath)) { xlPackage.Load(stream); } // get the first worksheet in the workbook 61 var worksheet = xlPackage.Workbook.Worksheets.FirstOrDefault(); if (worksheet == null) throw new Exception("No worksheet found"); _dt = new DataTable(); foreach (var cell in worksheet.Cells[startRow, startCol, startRow, columns]) _dt.Columns.Add(cell.Text); _dt.Columns.Add("Ngoại lai"); for (int row = startRow + 1; row endDate) return true; return false; } 65 protected bool NgoaiLaiTenTruong(string tenTruong) { if (_truongTHCS == null) LoadTenTruong(); for (int i = 0; i < _truongTHCS.Rows.Count; i++) if (tenTruong == _truongTHCS.Rows[i][0].ToString()) return false; return true; } protected bool NgoaiLaiDanToc(string danToc) { if (_danToc == null) LoadDanToc(); for (int i = 0; i < _danToc.Rows.Count; i++) if (danToc == _danToc.Rows[i][0].ToString()) return false; return true; } protected bool NgoaiLaiMonThi(string monThi) { if (_monThi == null) LoadMonThi(); for (int i = 0; i < _monThi.Rows.Count; i++) if (monThi == _monThi.Rows[i][0].ToString()) 66 return false; return true; } private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { if (e.RowIndex > _dt.Rows.Count - 1) return; if (e.ColumnIndex == 3) { var value = _dt.Rows[e.RowIndex][11]; if (value != null && !string.IsNullOrEmpty(value.ToString()) && value.ToString().Contains("Ngoại lai ngày sinh")) e.CellStyle.BackColor = Color.OrangeRed; } else if (e.ColumnIndex == 4) { var value = _dt.Rows[e.RowIndex][11]; if (value != null && !string.IsNullOrEmpty(value.ToString()) && value.ToString().Contains("Ngoại lai tên xã")) e.CellStyle.BackColor = Color.OrangeRed; } else if (e.ColumnIndex == 5) { 67 var value = _dt.Rows[e.RowIndex][11]; if (value != null && !string.IsNullOrEmpty(value.ToString()) && value.ToString().Contains("Ngoại lai dân tộc")) e.CellStyle.BackColor = Color.OrangeRed; } else if (e.ColumnIndex == 7) { var value = _dt.Rows[e.RowIndex][11]; if (value != null && !string.IsNullOrEmpty(value.ToString()) && value.ToString().Contains("Ngoại lai tên trường")) e.CellStyle.BackColor = Color.OrangeRed; } else if (e.ColumnIndex == 9) { var value = _dt.Rows[e.RowIndex][11]; if (value != null && !string.IsNullOrEmpty(value.ToString()) && value.ToString().Contains("Ngoại lai môn thi")) e.CellStyle.BackColor = Color.OrangeRed; } else if (e.ColumnIndex == 10) { var value = _dt.Rows[e.RowIndex][11]; if (value != null && !string.IsNullOrEmpty(value.ToString()) && value.ToString().Contains("Ngoại lai điểm thi")) e.CellStyle.BackColor = Color.OrangeRed; } else if (e.ColumnIndex == 11) 68 { var value = _dt.Rows[e.RowIndex][e.ColumnIndex]; if (value != null !string.IsNullOrEmpty(value.ToString())) e.CellStyle.BackColor = Color.OrangeRed; } } } } && ... PHầN Tử NGOạI LAI 1.2.1 Khái niệm ngoại lai 1.2.2 Khái niệm ngoại lai sở liệu 1.3 Phát phần tử ngoại lai liệu 12 1.4 Ứng dụng phát phần tử ngoại lai 16 1.4.1 Phát. .. đến phần tử ngoại lai, phát phần tử ngoại lai sở liệu ứng dụng 2 Khảo cứu số thuật toán phát phần tử ngoại lai theo tỷ lệ khác biệt liệu lớn, nhiều chiều Kiểm tra thuật toán FindAllOutsD cho phần. .. thường ngoại lai  Mỗi lĩnh vực khái niệm phần tử ngoại lai khác Chính lĩnh vực ứng dụng để áp dụng kỹ thuật tìm kiếm phát phần tử ngoại lai khó khăn Do thách thức trên, vấn đề phát phần tử ngoại lai

Ngày đăng: 09/12/2016, 15:32

Tài liệu cùng người dùng

Tài liệu liên quan