5. Bố ục cc ủa luận ỏn
4.3.7 Xõy dựng mụ hỡnh
Sau khi hoàn tất cỏc bước: chuẩn bị dữ ệ li u, xõy d ng t p thu c tớnh, ự ậ ộ định nghĩa cỏc lớp lưu lượng cần phõn loại và xỏc định mụ hỡnh lựa chọn thu c tớnh phự ộ
hợp, bước tiếp theo là ỏp dụng cỏc thu t toỏn hậ ọc tựđộng trờn cỏc tập dữ liệu mẫu và dữ liệu kiểm tra nhằm tỡm kiếm mụ hỡnh cho phộp nhận dạng và phõn loại cỏc luồng lưu lượng IP mới. Toàn bộ quỏ trỡnh cú thểđược túm tắt (prototype) như sau:
Process Flow_classification
Input Pi; //tập dữ liệu gúi thứ i (i=1,2,3,4)
Flow_Creation(Pi, tuple, time-out); //định nghĩa cỏc luồng l u lư ượng IP Return Fi;
Flow_analysis(Fi);
Flow_Stats_Cal(Fi); // tớnh toỏn cỏc thuộc tớnh luồng
Return Flow_Records_Data; //trả ạ l i cỏc bản ghi thuộc tớnh luồng
Init V; // tạo tập dữ liệu mẫu và kiểm tra từ ậ t p thuộc tớnh luồng
//Java import weka.classifiers.Classifier; import weka.classifiers.Evaluation; TrainData.setClassIndex(cIdx); Classifier.buildClassifier(V); //xõy dựng mụ hỡnh phõn loại //trờn dữ liệu mẫu
Return Model_file D; // trả lại file mụ hỡnh phõn loại testData.setClassIndex(cIdx); // kiểm tra mụ hỡnh trờn dữ
classifier = Classifier.forName(classifierName, argv); //kiểm tra EvalMatrix =Classifier.Evaluation.EvaluationUtils();
Classify new_measurements; Return data file with class label;
End Flow_classification;
Luận ỏn chỉ thực hiện b n thu t toỏn h c tố ậ ọ ự động là C4.5, kNN, NBD và Adaboost. Qỳa trỡnh học của cỏc thuật toỏn được thực hiện trờn hai tập thu c tớnh ộ
- Tập tất cả 42 thuộc tớnh trong bảng 4-2, nghĩa là thuật toỏn họ ực t động được thực hiện mà khụng ỏp dụng bất cứ biện phỏp tiền xử lý nào (khụng ỏp dụng mụ hỡnh lựa chọn thuộc tớnh).
- Chỉ với 15 thu c tớnh quan tr ng nh t trong bộ ọ ấ ảng 4-7, hay núi cỏch khỏc thuật toỏn học tự động được th c hi n sau bự ệ ước ti n x lý ề ử để ch n ra cỏc thu c tớnh ọ ộ
quan trọng nhất và loạ ỏi b cỏc thu c tớnh dộ ư thừa, khụng cần thiết.
Qui trỡnh hai bước này là một trong những cải tiến của tỏc giả nhằm ỏnh giỏ đ
mức độ quan trọng của b c lướ ựa chọn thuộc tớnh, nh hả ưởng c a chỳng ủ đến độ
chớnh xỏc phõn loại và khả ă n ng cải thiện thời gian học của thuật toỏn.
Nguyờn tắc học của cỏc thuật toỏn trong luận ỏn này là: từng thuật toỏn lần lượt
được ỏp dụng trờn cỏc t p d li u mậ ữ ệ ẫu để tỡm ra mụ hỡnh ho c qui lu t phõn loặ ậ ại, sau đú cỏc mụ hỡnh kết quả sẽđược ki m tra trờn tể ập dữ liệu kiểm tra. Việc kiểm tra
đúng vai trũ quan tr ng vỡ nú cho th y thu t toỏn nào ho t ọ ấ ậ ạ động chớnh xỏc nh t, ấ
thuật toỏn nào nhanh nhất, vv... Phần tiếp theo sẽ trỡnh bày chi tiế đt ỏnh giỏ về độ
chớnh xỏc và hiệu suất của từng thuật toỏn.
4.3.8 Mụ phỏng và đỏnh giỏ mụ hỡnh 4.3.8.1 Tỉ ệ l phõn loạ đi ỳng và sai