Skip to content

huuducsc/decision_tree_balance_scale

Repository files navigation

decision_tree_balance_scale

  1. Giới thiệu input/output
  • file "train.txt" (439 dòng) dùng để xây dựng decision tree
  • file "valid.txt" (93 dòng) dùng để đánh giá các cây train được
  • file "private_test.txt" (93 dòng) là bộ hidden test
  • file "tree.txt" là output biểu diễn cây tốt nhất xây dựng được
  • file "result_details.txt" là output về kết quả chi tiết của các cây, bao gồm train accuracy rate và valid accuracy rate
  • file test result
  1. Thuật toán xây dựng
  • Xây dựng cây đệ quy từ gốc, với mỗi node chọn cách chia tốt nhất tại node đó (theo tiêu chí gini hoặc entropy)
  • Sử dụng 2 tham số min size, max depth để làm trường hợp cơ sở (giới hạn) cho quá trình đệ quy
  • Sử dụng tập validation từ file "valid.txt" để đánh giá các cây xây được từ các min size, max depth khác nhau
  1. Giới thiệu cấu trúc
  • vector <vector > train,valid,test: bộ dữ liệu train, validation, hidden test
  • void get_train_data, get_valid_test, get_hidden_test: hàm get dữ liệu
  • void train_decision_tree_classcifier(): hàm chính, xây dựng cây theo dữ liệu đã có
  • double entropy(vector dataset): độ nhiễu tập dữ liệu dataset theo tiêu chí entropy
  • double gini(vector dataset): độ nhiễu tập dữ liệu dataset theo tiêu chí gini
  • string major_label(vector dataset): nhãn chính của tập dữ liệu
  • void split(node *T,vector dataset,int max_depth,int min_size,string criterion): chia tập dữ liệu theo tiêu chí criterion với min_size, max_depth là giới hạn về kích thước tối đa của node và độ sâu max của cây
  • string predict(vector datapoint): nhãn dự đoán của cây quyết định về dữ liệu datapoint
  • int get_train_corrects(), get_valid_corects(): hàm trả về số dữ liệu dự đoán chính xác của cây hiện tại
  • void export_tree() -> export_node(node *t): in cây vào "tree.txt"

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages