b. Các thao tác KPDL chủ yếu đƣợc sử dụng trong Yale
Experiment: Experiment chứa các tham số để liên kết các Modul khi khai
phá dữ liệu.
o logfile: Dùng để ghi ra các thông tin (filename)
o resultfile: Dùng để ghi kết quả sau khi thực hiện khai phá dữ liệu
CSVExampleSource: Dùng để khai phá dữ liệu kiểu csv (các dữ liệu cách
nhau bởi dấu “,” trong bảng dữ liệu). Các tham số:
o label_attribute: Tên nhãn của thuộc tính
o weight attribute: trọng số các thuộc tính
o data_file: tên file dữ liệu cần khai phá.
o id_attribute: id của thuộc tính
DataBaseExampleSource: Dùng để khai phá dữ liệu từ file SQL. Các
thuộc tính:
o label_attribute: Tên nhãn của thuộc tính
o weight attribute: trọng số các thuộc tính
o id_attribute: id của thuộc tính
o databasename: tên database cần khai phá
o example_set_file: tên file để ghi lại dữ liệu đã khai phá
o attribute_description_file: ghi lại miêu tả của các thuộc tính của dữ
liệu và file này thường có đuôi là .xml
o special_format: định dạng lại đầu ra.
ExampleSource: ExampleSource dùng để đưa dữ liệu vào chương trình để
khai phá. Với Operator này ta có thể đưa được nhiều kiểu dữ liệu vào nhưng mặc định là các đặc tả về dữ liệu ở dạng .xml. Các tham số:
o filename: tên file dữ liệu để khai phá.
o attribute_value_type: kiểu thuộc tính của dữ liệu
o Sample_ratio: bạn có thể đọc một phần của dữ liệu ( giá trị là1= all,
giá trị này được áp dụng nếu giá trị Sample_size = -1)
o Sample_size: dùng để đưa ra chính xác số mẫu cần đọc (giá trị -1 =
all. Nếu nó có giá trị khác -1 thì giá trị Sample_ratio sẽ bị bỏ qua)
ModelWriter: Dùng để ghi lại mô hình đã dùng để khai phá. Tham số:
o Model_file: File dùng để lưu lại mô hình đã khai phá dữ liệu. Nếu
muốn ghi lại mô hình vào một file nào đó ta chỉnh thông số này và chuỗi string ở thông số này chính là đường dẫn đến file đó.
ModelLoader: Dùng để Load mô hình khai phá dữ liệu. Tham số:
o Model_file: tên file chứa mô hình cần Load để khai phá. Chuỗi string trên thông số này chính là đường dẫn đến file cần mở.
ResultWriter: Dùng để ghi lại các kết quả đã thực hiện. Khi người sử dụng muốn lưu lại các kết quả đã khai phá được thì dùng modul này ghi lại kết quả.
ParameterSetter: Áp dụng một tập các tham số đã được lưu lại cho các mô
hình nào đó
o Name_map: một danh sách ánh xạ từ tập hợp đã lưu vào các thao
tác trong Experiment.
ExperimentLog: Lưu tất cả các giá trị vào một file log và tạo thống kê phục vụ cho việc tạo biểu đồ tương quan giá trị/tham số.
o Filename: tên file
o Log: danh sách các key cần ghi log.
XValidation: thao tác thực hiện phương pháp đánh giá chéo. Tập dữ liệu S
sẽ được chia thành n tập con Si. Các thao tác bên trong sẽ được thực hiện
n lần sử dụng Si làm tập kiểm tra và S|Silàm tập huấn luyện. Tham số:
o Number_of_validations: số lượng tập con của đánh giá chéo
OperatorChain: gộp các thao tác thành một khối, tất cả các thao tác ở bên trong được coi như một thao tác.
PerformanceEvaluator: thao tác này cho đầu ra là một danh sách các giá
trị đánh giá theo các tiêu chí đã chọn. Các loại tiêu chí đánh giá được hỗ trợ gồm: sai số tuyệt đối, sai số tương đối, sai số tuyệt đối chuẩn hóa, sai số trung bình bình phương, sai số tương đối bình phương, sai số bình phương, AUC, độ chính xác, sai số phân lớp, kappa, recall, fallout, lift…
ClassificationByregression: Đây là cách phân lớp dữ liệu bằng phương pháp hồi quy. Đầu vào của nó là ExampleSet và đầu ra là một Model. Với phương pháp này dữ liệu đầu vào có thể là bảng số, bảng đa thức. Phương pháp thường dùng cho kiểu dữ liệu là liên tục (ví dụ dự báo dân số thế giới…). Tham số:
o keep_example_set: miêu tả rõ dữ liệu đầu vào khi thành đầu ra (mặc định là false)
Id3: Dùng để phân lớp dữ liệu bằng cây quyết định. Đầu vào là
ExampleSet và đầu ra là Model. Thuật toán để đưa ra cây quyết định đã được trình bày ở phần lý thuyết. Sau khi đưa dữ liệu vào thì đầu ra là một cây quyết định và thuật toán này dùng khá nhiều cho dữ liệu kiểu Nominal. Tham số:
o keep_example_set: miêu tả rõ dữ liệu đầu vào khi thành đầu ra (mặc định là false)
J48: Dùng để phân lớp dữ liệu bằng cây quyết định. Nó sẽ tạo ra một cây
đã được tỉa hoặc chưa được tỉa. Cũng như thuật toán Id3 thuật toán này được áp dụng với các kiểu dữ liệu Nominal cũng như kiểu thuộc tính số…Các tham số:
o keep_example_set: miêu tả rõ dữ liệu đầu vào khi thành đầu ra (mặc định là false)
o U: thông số này để điều chỉnh có tỉa cây hay không (mặc định là False)
o C: Đặt lại ngưỡng để tỉa cây.
o M: Đặt lại số trường hợp bé nhất trên lá (mặc định là 2)
o R: Dùng để làm giảm lỗi khi tỉa cây (mặc định là False)
LeastMedSq: Đây là phương pháp bình phương tối thiểu, thực chất là phương pháp hồi quy đường thẳng tuyến tính. Như phần lý thuyết ta đã biết để tìm các giá trị hồi quy trong đa thức Y = aX1 + bX2 + c thì ta dùng phương pháp bình phương tối thiểu và các hồi quy không tuyến tính sẽ
liệu kiểu số, đa thức… Đầu ra là một đa thức bậc nhất với các biến đầu vào. Các thuộc tính:
o keep_example_set: miêu tả rõ dữ liệu đầu vào khi thành đầu ra (mặc định là false)
o S: Đặt lại chiều dài mẫu
o D: tạo gỡ lỗi đầu ra (mặc định là false)
LinearRegression: Phương thức phân lớp dữ liệu bằng hồi quy đường
thẳng. Với phương thức này đầu ra cũng là một đa thức bậc nhất tuyến tính với các đầu vào. Các dữ liệu đầu vào thường là dạng đa thức, số … Các thuộc tính:
o keep_example_set: miêu tả rõ dữ liệu đầu vào khi thành đầu ra (mặc định là false)
o D: tạo gỡ lỗi ở đầu ra (mặc định là false)
o S: chọn phương thức sử dụng
MultilayerPerceptron: Phương thức dùng mạng Nơron đa lớp để phân lớp
dữ liệu. Phương pháp sử dụng thuật toán truyền ngược mà ta đã nêu ở phần lý thuyết. Với phương pháp này ta có thể tạo ra mạng Nơron bằng tay hay bằng thuật toán. Mạng Nơron được tạo ra có thể được giám sát và biến đổi trong quá trình chạy. Các thông số:
o keep_example_set: miêu tả rõ dữ liệu đầu vào khi thành đầu ra (mặc định là false)
o L: đây chính là tham số học . Việc chọn tham số học ban đầu sẽ
quyết định đến sự hội tụ của thuật toán. Mỗi bài toán khác nhau lại cần có một tham số học khác nhau và việc chọn tham số học ban đầu dựa vào kinh nghiệm. Việc lựa chọn L ảnh hưởng đến các trọng số ở đầu vào sau khi đã điều chỉnh.
o M: Đây chính là hằng số xung lượng. Việc lựa chọn hằng số xung
lượng ban đầu sẽ ảnh hưởng đến mạng cũng như giúp mạng Nơron tránh được cục bộ địa phương và có thể đạt được cực tiểu toàn cục.
o N: Số lượng các bước huấn luyện (số các vòng lặp huấn luyện), mặc định là 500.
o V: phần trăm kích thước tập đánh giá dùng để kết thúc huấn luyện,
nếu giá trị khác không, điều kiện này sẽ được ưu tiên hơn số lượng bước huấn luyện N (giá trị nằm trong khoảng 0 – 100, mặc định là 0).
o S: giá trị được dùng để đưa vào bộ sinh số ngẫu nhiên (giá trị nên là
o E: tỉ lệ lỗi cho phép ở bước đánh giá mô hình trước khi dừng huấn luyện mạng nơron.
o A: đặt tham số này là True thì mạng nơron sẽ không tự tạo kết nối
(tham số này sẽ bị bỏ qua nếu tham số G được thiết đặt) (mặc định là False)
o B: đặt tham số này là True sẽ không sử dụng bộ lọc
NominalToBinary (mặc định là False).
o C: đặt tham số này là True sẽ không chuẩn hóa đối với nhãn lớp kiểu số (mặc định là false).
o D: Theo dõi lỗi của tham số học. Khi tham số này là True thì lỗi
của tham số học sẽ được hiện lên. Mặc định của tham số này là False.
o I: đặt tham số này là True sẽ Không chuẩn hóa các thuộc tính kiểu
số (mặc định là false).
o G: GUI được sử dụng nếu thông số này là True. Khi thông số này là
True thì ta có thể quan sát được mạng Nơron ở dạng biểu đồ trực quan.
o H: số nơron cho lớp ẩn tạo ra cho mạng. Thông thường số nơron lớp ẩn bằng tổng số nơron của lớp vào và số nơron lớp ra chia 2. Tuy nhiên sự lựa chọn bao nhiêu nơron còn phụ thuộc vào mạng. Nếu mạng học vẹt thì ta bớt số nơron ở lớp ẩn đi và nếu mạng không học được thì ta phải thêm số lớp ẩn hoặc tăng thêm số nơron cho lớp ẩn. Để đặt lại số nơron này ta đặt lại giá trị tham số H bằng số nơron cần thiết.
o R: không cho phép reset mạng, đặt giá trị này sẽ khiến tốc độ học giảm sút (mặc định là false).