Tôi đang cố gắng sử dụng thuật toán di truyền cho vấn đề phân loại. Tuy nhiên, tôi đã không thành công để có được một bản tóm tắt cho mô hình cũng như dự đoán cho một khung dữ liệu mới. Làm thế nào tôi có thể nhận được bản tóm tắt và dự đoán cho tập dữ liệu mới? Dưới đây là ví dụ đồ chơi của tôi:Cách sử dụng thuật toán di truyền để dự đoán chính xác
library(genalg)
dat <- read.table(text = " cats birds wolfs snakes
0 3 9 7
1 3 8 7
1 1 2 3
0 1 2 3
0 1 2 3
1 6 1 1
0 6 1 1
1 6 1 1 ", header = TRUE)
evalFunc <- function(x) {
if (dat$cats < 1)
return(0) else return(1)
}
iter = 100
GAmodel <- rbga.bin(size = 7, popSize = 200, iters = iter, mutationChance = 0.01,
elitism = T, evalFunc = evalFunc)
###########summary try#############
cat(summary.rbga(GAmodel))
# Error in cat(summary.rbga(GAmodel)) :
# could not find function "summary.rbga"
############# prediction try###########
dat$pred<-predict(GAmodel,newdata=dat)
# Error in UseMethod("predict") :
# no applicable method for 'predict' applied to an object of class "rbga"
Cập nhật: Sau khi đọc câu trả lời nhất định và đọc liên kết này: Pattern prediction using Genetic Algorithm Tôi tự hỏi làm thế nào tôi có thể lập trình sử dụng GA như một phần của một cơ chế dự đoán? Theo văn bản của liên kết, người ta có thể sử dụng GA để tối ưu hóa hồi quy hoặc NN và sau đó sử dụng chức năng dự đoán do họ cung cấp/
Đối với câu hỏi đầu tiên của bạn: 'cat (summary (GAmodel))' sẽ hoạt động. Nhưng những gì bạn đang cố gắng làm là không rõ ràng, bạn có thể cung cấp thêm ngữ cảnh không? – Scarabee
Và 'evalFunc' phải làm gì? Nó không sử dụng 'x' ... – Scarabee
Ý tưởng là sử dụng thuật toán cho vấn đề phân loại. Tôi không quen thuộc với loại thuật toán này vì vậy tôi đoán rằng evalFunc là để xác định vấn đề tối ưu hóa - phân biệt giữa" 0 " và 1". – mql4beginner