(Luận văn thạc sĩ) Điều khiển và giám sát mô hình nhà kính thông minh ứng dụng IoT (Internet of things) và thuật toán Support Vector Machines

149 5 0
(Luận văn thạc sĩ) Điều khiển và giám sát mô hình nhà kính thông minh ứng dụng IoT (Internet of things) và thuật toán Support Vector Machines

Đ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

(Luận văn thạc sĩ) Điều khiển và giám sát mô hình nhà kính thông minh ứng dụng IoT (Internet of things) và thuật toán Support Vector Machines(Luận văn thạc sĩ) Điều khiển và giám sát mô hình nhà kính thông minh ứng dụng IoT (Internet of things) và thuật toán Support Vector Machines(Luận văn thạc sĩ) Điều khiển và giám sát mô hình nhà kính thông minh ứng dụng IoT (Internet of things) và thuật toán Support Vector Machines(Luận văn thạc sĩ) Điều khiển và giám sát mô hình nhà kính thông minh ứng dụng IoT (Internet of things) và thuật toán Support Vector Machines(Luận văn thạc sĩ) Điều khiển và giám sát mô hình nhà kính thông minh ứng dụng IoT (Internet of things) và thuật toán Support Vector Machines(Luận văn thạc sĩ) Điều khiển và giám sát mô hình nhà kính thông minh ứng dụng IoT (Internet of things) và thuật toán Support Vector Machines(Luận văn thạc sĩ) Điều khiển và giám sát mô hình nhà kính thông minh ứng dụng IoT (Internet of things) và thuật toán Support Vector Machines(Luận văn thạc sĩ) Điều khiển và giám sát mô hình nhà kính thông minh ứng dụng IoT (Internet of things) và thuật toán Support Vector Machines(Luận văn thạc sĩ) Điều khiển và giám sát mô hình nhà kính thông minh ứng dụng IoT (Internet of things) và thuật toán Support Vector Machines(Luận văn thạc sĩ) Điều khiển và giám sát mô hình nhà kính thông minh ứng dụng IoT (Internet of things) và thuật toán Support Vector Machines(Luận văn thạc sĩ) Điều khiển và giám sát mô hình nhà kính thông minh ứng dụng IoT (Internet of things) và thuật toán Support Vector Machines(Luận văn thạc sĩ) Điều khiển và giám sát mô hình nhà kính thông minh ứng dụng IoT (Internet of things) và thuật toán Support Vector Machines(Luận văn thạc sĩ) Điều khiển và giám sát mô hình nhà kính thông minh ứng dụng IoT (Internet of things) và thuật toán Support Vector Machines(Luận văn thạc sĩ) Điều khiển và giám sát mô hình nhà kính thông minh ứng dụng IoT (Internet of things) và thuật toán Support Vector Machines(Luận văn thạc sĩ) Điều khiển và giám sát mô hình nhà kính thông minh ứng dụng IoT (Internet of things) và thuật toán Support Vector Machines(Luận văn thạc sĩ) Điều khiển và giám sát mô hình nhà kính thông minh ứng dụng IoT (Internet of things) và thuật toán Support Vector Machines(Luận văn thạc sĩ) Điều khiển và giám sát mô hình nhà kính thông minh ứng dụng IoT (Internet of things) và thuật toán Support Vector Machines(Luận văn thạc sĩ) Điều khiển và giám sát mô hình nhà kính thông minh ứng dụng IoT (Internet of things) và thuật toán Support Vector Machines(Luận văn thạc sĩ) Điều khiển và giám sát mô hình nhà kính thông minh ứng dụng IoT (Internet of things) và thuật toán Support Vector Machines(Luận văn thạc sĩ) Điều khiển và giám sát mô hình nhà kính thông minh ứng dụng IoT (Internet of things) và thuật toán Support Vector Machines(Luận văn thạc sĩ) Điều khiển và giám sát mô hình nhà kính thông minh ứng dụng IoT (Internet of things) và thuật toán Support Vector Machines(Luận văn thạc sĩ) Điều khiển và giám sát mô hình nhà kính thông minh ứng dụng IoT (Internet of things) và thuật toán Support Vector Machines(Luận văn thạc sĩ) Điều khiển và giám sát mô hình nhà kính thông minh ứng dụng IoT (Internet of things) và thuật toán Support Vector Machines(Luận văn thạc sĩ) Điều khiển và giám sát mô hình nhà kính thông minh ứng dụng IoT (Internet of things) và thuật toán Support Vector Machines(Luận văn thạc sĩ) Điều khiển và giám sát mô hình nhà kính thông minh ứng dụng IoT (Internet of things) và thuật toán Support Vector Machines

LỜI CAM ĐOAN Tơi cam đoan cơng trình nghiên cứu Các số liệu, kết nêu luận văn trung thực chưa cơng bố cơng trình khác Tp Hồ Chí Minh, ngày … tháng … năm 201… (Ký tên ghi rõ họ tên) iii CẢM TẠ Xin chân thành cảm ơn q thầy Trường Đại Học Sư Phạm Kỹ Thuật cung cấp cho tác giả kiến thức mơi trường để hồn thành luận văn tốt nghiệp, đặc biệt giúp đỡ thầy TS VŨ QUANG HUY không ngừng đôn đốc, giúp đỡ, hướng dẫn cho tác giả hoàn thành tốt luận văn Cảm ơn gia đình khơng ngừng âm thầm giúp đỡ, động viên, làm chỗ dựa vững cho em Cám ơn bạn bè, tập thể lớp CĐT-2016A Đại Học Sư Phạm Kỹ Thuật gắn bó suốt thời gian qua hỗ trợ suốt thời gian học làm luận văn Người thực đề tài iv TÓM TẮT Từ yêu cầu thực tế, đòi hỏi ngày cao sống đại, cộng với hợp tác, phát triển mạnh mẽ mạng di động cách mạng công nghiệp 4.0 nên tác giả chọn đề tài “Điều khiển giám sát mơ hình nhà kính thơng minh sử dụng IoT (Internet of things) thuật toán Support Vector Machines" để đáp ứng nhu cầu ngày cao người góp phần vào tiến bộ, văn minh, đại nước nhà Luận văn tạo nên xu việc nghiên cứu nhà kính thơng minh với kết hợp thuật tốn Support Vector Machines Đây tiền đề cho xu phát triển nông nghiệp công nghệ cao nước toàn giới Nội dung luận văn bao gồm chương:  Chương 1: Tổng quan: Giới thiệu đề tài, ý nghĩa khoa học, mục đích nghiên cứu giới hạn đề tài Tình hình nghiên cứu ngồi nước, ý tưởng thiết kế, đề cương nghiên cứu chi tiết, phương pháp nghiên cứu, phương tiện nghiên cứu  Chương 2: Cơ sở lý thuyết  Chương 3: Thiết kế hệ thống, ứng dụng cơng nghệ IoT thuật tốn Support Vector Machines vào nhà kính thơng minh  Chương 4: Q trình thực nghiệm  Chương 5: Kết luận hướng phát triển cho tương lai v ABSTRACT With the growing demand for mobile life and the industrial revolution of 4.0, I chose the subject "Control and supervise the smart greenhouse model use IoT (Internet of Things) and Support Vector Machines algorithm” to meet the increasing demand of people and contribute to the advancement, civilization and modernity of the country The thesis has created a new trend in smart glass research with the combination of Support Vector Machines algorithm This is also the premise for the development of high-tech agriculture in the country and around the world The content of the thesis consists of chapters: • Chapter 1: Overview: Introduct the subject, scientific significance, research purposes and limitations of the topic Research situation, design ideas, detailed research protocols, research methods, research tools • Chapter 2: Theory • Chapter 3: System design, application of IoT technology and Support Vector Machines in intelligent greenhouse • Chapter 4: Experimental process • Chapter 5: Conclusions and directions in the future vi MỤC LỤC LÝ LỊCH CÁ NHÂN i LỜI CAM ĐOAN iii CẢM TẠ iv TÓM TẮT v MỤC LỤC vii DANH SÁCH CHỮ VIẾT TẮT ix DANH SÁCH CÁC HÌNH .x DANH SÁCH CÁC BẢNG xiii CHƯƠNG TỔNG QUAN 1.1 Giới thiệu đề tài .1 1.2 Ý nghĩa khoa học đề tài 1.3 Mục đích nghiên cứu giới hạn đề tài 1.4 Tình hình nghiên cứu ngồi nước .3 1.5 Ý tưởng thiết kế 13 1.6 Đề cương nghiên cứu chi tiết 13 1.7 Đối tượng nghiên cứu 13 1.8 Phương pháp nghiên cứu .18 1.9 Phân tích nhiệm vụ đề tài 18 1.10 Phương tiện nghiên cứu 21 CHƯƠNG CƠ SỞ LÝ THUYẾT 22 2.1 Nhà kính thơng minh .22 2.2 Thuật toán máy học .23 2.3 Thuật toán Support Vector Machines 35 2.4 Công nghệ IoT .54 2.5 Mã nguồn Node.js 58 vii 2.6 Giao thức MQTT 67 2.7 Cơ sở liệu MongoDB .71 CHƯƠNG THIẾT KẾ HỆ THỐNG, ỨNG DỤNG CÔNG NGHỆ IOT VÀ THUẬT TỐN SUPPORT VECTOR MACHINES VÀO NHÀ KÍNH THƠNG MINH 74 3.1 Mơ hình nhà kính thơng minh .74 3.2 Xây dựng tập liệu cho nhà kính thơng minh 79 3.3 Áp dụng thuật tốn SVM khai phá liệu nhà kính thơng minh 80 CHƯƠNG Q TRÌNH THỰC NGHIỆM 86 4.1 Giới thiệu .86 4.2 Hoạt động .92 4.3 Kết đạt 92 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .93 5.1 Kết luận 93 5.2 Hướng phát triển cho tương lai 93 TÀI LIỆU THAM KHẢO .94 PHỤ LỤC 97 viii DANH SÁCH CÁC CHỮ VIẾT TẮT IoT Internet of Things SVM Support Vector Machines HTML Hypertext Markup Language XHTML Extensible HyperText Markup Language XML Extensible Markup Language PLC Programmable Logic Controller HMI Human Machine Interface SCADA Supervisory Control And Data Acquisition PDA Personal Digital Assistant IP Internet Protocol AVI Audio Video Interleave CSS Cascading Style Sheets TCP Transmission Control Protocol UDP User Datagram Protocol LCD Liquid Crystal Display MQTT Message Queue Telemetry Transport ix DANH SÁCH CÁC HÌNH HÌNH TRANG Hình 1.1: Các thành phần nhà kính thơng minh .2 Hình 1.2: Hệ thống cảm biến nhiệt độ ẩm độ cài đặt nhiều vị trí khác kết nối đến computer .5 Hình 1.3: Các kỹ sư nơng học kiểm tra dịch bệnh nhà kính, Kibbutz Masharap, Israel Hình 1.4: Hệ thống tự động hóa kiểm sốt mơi trường nhà kính trồng hoa lan Hình 1.5: Nhà kính hỗ trợ người trồng cơng tác chăm sóc, tránh côn trùng gây hại, tạo môi trường phù hợp trồng 11 Hình 1.6: Tự động giám sát điều khiển mơi trường nhà kính sử dụng lượng mặt trời điện thoại smartphone .12 Hình 1.7: Bo vi điều khiển Arduino Mega 14 Hình 1.8: Bo nhúng Raspberry Pi 14 Hình 1.9: Bo ESP8266 14 Hình 1.10: Cảm biến nhiệt độ, độ ẩm DHT11 15 Hình 1.11: Cảm biến quang trở CDS 15 Hình 1.12: Cảm biến độ ẩm đất 16 Hình 1.13: Cảm biến đo độ PH nước .16 Hình 1.14: Các cấu chấp hành sử dụng nhà kính .17 Hình 1.15:Bộ lọc nhiễu nguồn 17 Hình 1.16: Tổng quan thiết bị sử dụng luận văn .19 Hình 2.1: Mơ hình định [1] .26 Hình 2.2: Định lý Bayes 27 Hình 2.3: Đồ thi hồi quy tuyến tính [3] 27 x Hình 2.4: Đồ thị hồi quy logistic [4] .28 Hình 2.5: Phân lớp SVM [2] 29 Hình 2.6: Sơ đồ Ensemble Methods [9] 30 Hình 2.7: Thuật tốn gom cụm [11] 31 Hình 2.8: Phép biến đổi PCA [15] 32 Hình 2.9: Đại số tuyến tính SVD [16] 33 Hình 2.10: Kỹ thuật thống kê ICA [17] 34 Hình 2.11: SVM classification 36 Hình 2.12: Margin SVM 37 Hình 2.13: Giải thuật học SVM [24] .40 Hình 2.14: Chuyển khơng gian .42 Hình 2.15: Mơ hình nhiều lớp 43 Hình 2.16: Phân tách nhóm .44 Hình 2.17: Học tập liệu 45 Hình 2.18: Học song song SVM .45 Hình 2.19: Học liệu symbolic .46 Hình 2.20: Tìm siêu phẳng 47 Hình 2.21: Tìm siêu cầu 47 Hình 2.22: Siêu phẳng phân chia liệu học thành lớp + - với khoảng cách biên lớn hất Các điểm gần (điểm khoanh tròn) Support Vector .49 Hình 2.23: Minh họa tốn phân lớp thuật tốn SVM 51 Hình 2.24: Sơ đồ mạng lưới IoT .55 Hình 2.25: Sơ đồ tổng quát Node.js [19] 63 Hình 2.26: Sơ đồ hoạt động Node.js [20] .66 Hình 2.27: Ví dụ vê giao thức MQTT [21] .67 Hình 2.28: Sơ đồ MQTT [22] 69 Hình 2.29: Mơ hình hoạt động MongoDB [23] 72 Hình 3.1: Sơ đồ toàn hệ thống 74 xi Hình 3.2: Sơ đồ tổng quát hệ thống 75 Hình 3.3: Sơ đồ điều khiển Web 76 Hình 3.4: Lưu đồ tổng quát hệ thống 77 Hình 3.5: Giao diện Web 79 Hình 3.6: Các bước khai phá liệu 80 Hình 3.7: Quá trình phân lớp liệu nhà kính thơng minh 81 Hình 3.8: Kết phân lớp thuật tốn Support Vector Machines 83 Hình 3.9: Sai số phân lớp 85 Hình 4.1: Mơ hình ngơi nhà hồn chỉnh 86 Hình 4.2: Tủ điện điều khiển nhà kính thơng minh 87 Hình 4.3: Giao diện đăng nhập Web server 88 Hình 4.4: Giao diện Web Server .89 Hình 4.5: Giao diện điều khiển Web Server 89 Hình 4.6: Đồ thị trình thu thập liệu cảm biến .90 Hình 4.7: Giao diện xuất sở liệu 91 Hình 4.8: Giao diện xuất báo cáo chi tiết 91 xii uint32_t blk_number = 1; COM_StatusTypeDef result = COM_OK; PACKET_StatusTydeDef infPk = START_PACKET; uint32_t size_, packet_size; p_buf_int = psource; size = packet_length; String lenPacket = String(packet_length); /// add start send packet debug("address source: 0X%x length packet: %d\n", (uint32_t*)p_buf_int, size); uint16_t crc = esp_core.Cmd_response( CMD_FOTA_UPGRADE, esp_core.fota_Cb.fotaCb, 0, ); crc = esp_core.Cmd_response(crc, (uint8_t*)&packet_length , 4); crc = esp_core.Cmd_response(crc, (uint8_t*)&infPk, 1); esp_core.Cmd_response(crc); esp_core.fota_Cb.valueAck = ACK_NOT; while (!esp_core.fota_Cb.valueAck ) { esp_core.waitReturnAck(TIMEOUT_ACK); debug("value ack start packet cb: %d\n", esp_core.fota_Cb.valueAck); if (esp_core.fota_Cb.valueAck == ACK_NOT) { errors0++; if (errors0 >= MAX_ERRORS) { debug("error ack\n"); return false; } } } /*Here 256 byte used to send packet*/ while ( (size) && (result == COM_OK) ){ /* Make first three packet */ packet_size = size >= PACKET_256_SIZE ? PACKET_256_SIZE : PACKET_SIZE; size_ = size < packet_size ? size : packet_size; memset(PacketData, '\0', sizeof(PacketData)); debug("address p_buf_int 0X%x size packet %d\n",(uint32_t*)p_buf_int,size_); uint32_t pp_buf_int = (uint32_t)p_buf_int; if(!spiffs_hal_read(pp_buf_int,size_, PacketData)) { debug("string:: "); for (int i = 0; i < size_; i++) { debugx("%c",PacketData[i]); } esp_core.fota_Cb.valueAck = ACK_NOT; while ((!esp_core.fota_Cb.valueAck) && (result == COM_OK) ){ /* Send next packet */ uint16_t crc = esp_core.Cmd_response(CMD_FOTA_UPGRADE, esp_core.fota_Cb.fotaCb, 0, ); crc = esp_core.Cmd_response(crc, (uint8_t*)&blk_number, 4); crc = esp_core.Cmd_response(crc, (uint8_t*)&PacketData[0], size_); 124 esp_core.Cmd_response(crc); /*Wait for Ack*/ esp_core.waitReturnAck(TIMEOUT_ACK); if ((esp_core.fota_Cb.valueAck == ACK_OK) && ( esp_core.fota_Cb.numberPk == blk_number) ) { if (size > size_) { debug("size of p_buf_int befor: 0X%x : ",(uint32_t*)p_buf_int); p_buf_int += size_; debug("size of p_buf_int after: 0X%x\n",(uint32_t*)p_buf_int); size -= size_; if (blk_number == ((uint32_t)spiffsSize / PACKET_256_SIZE)) { result = COM_LIMIT; /* boundary error */ } else { blk_number++; } } else { p_buf_int += size_; size = 0; } } else { errors++; } if (errors >= MAX_ERRORS) { debug("error ack\n"); result = COM_ERROR; } } } } if (result == COM_ERROR) { return false; } // add stop send packet infPk = END_PACKET; esp_core.fota_Cb.valueAck = ACK_NOT; while (!esp_core.fota_Cb.valueAck ) { crc = esp_core.Cmd_response(CMD_FOTA_UPGRADE, esp_core.fota_Cb.fotaCb, 0, ); crc = esp_core.Cmd_response(crc, (uint8_t*)&blk_number, 4); crc = esp_core.Cmd_response(crc, (uint8_t*)&infPk, 1); esp_core.Cmd_response(crc); esp_core.waitReturnAck(TIMEOUT_ACK); debug("value ack end packet cb: %d\n", esp_core.fota_Cb.valueAck); if (esp_core.fota_Cb.valueAck == ACK_NOT) { errors0++; if (errors0 >= MAX_ERRORS) { debug("error ack\n"); return false; } } } return true; } static bool protocolSizeData(uint8_t *psource, uint8_t *dsource, uint32_t packet_length) { 125 uint32_t errors0 = 0,errors = 0, ack_recpt = 0, size = 0; uint8_t *p_buf_int, *p_buf_out; uint32_t size_, packet_size; p_buf_int = psource; p_buf_out = dsource; size = packet_length; while (size) { packet_size = size >= PACKET_256_SIZE ? PACKET_256_SIZE : PACKET_SIZE; size_ = size < packet_size ? size : packet_size; uint32_t pp_buf_int = (uint32_t)p_buf_int; uint32_t pp_buf_out = (uint32_t)p_buf_out; if(!spiffs_hal_read(pp_buf_int,size_, PacketData)) { debug("string:: "); for (int i = 0; i < size_; i++) { debugx("%c",PacketData[i]); } if(!spiffs_hal_write(pp_buf_out, size_, PacketData)) { if (size > size_){ debug("size of p_buf_int befor: 0X%x : ",(uint32_t*)p_buf_int); p_buf_int += size_; p_buf_out += size_; debug("size of p_buf_int after: 0X%x\n",(uint32_t*)p_buf_int); size -= size_; } else { p_buf_int += size_; p_buf_out += size_; size = 0; } } else { return false; } } } return true; } static bool protocolSizeData_(uint8_t *psource, const char *pdata, uint32_t packet_length){ uint32_t errors0 = 0,errors = 0, ack_recpt = 0, size = 0; uint8_t *p_buf_int; const char *p_buf_data; uint32_t size_, packet_size; p_buf_int = psource; p_buf_data = pdata; size = packet_length; File fwrite_ = SPIFFS.open(p_buf_data, "w"); while (size) { packet_size = size >= PACKET_256_SIZE ? PACKET_256_SIZE : PACKET_SIZE; size_ = size < packet_size ? size : packet_size; uint32_t pp_buf_int = (uint32_t)p_buf_int; if(!spiffs_hal_read(pp_buf_int,size_, PacketData)){ debug("string:: "); for (int i = 0; i < size_; i++) { debugx("%c",PacketData[i]); } debug("\n"); if (fwrite_.write(PacketData, size_)) { if (size > size_) { 126 debug("size of p_buf_int befor: 0X%x : ",(uint32_t*)p_buf_int); p_buf_int += size_; debug("size of p_buf_int after: 0X%x\n",(uint32_t*)p_buf_int); size -= size_; } else { p_buf_int += size_; size = 0; } } else { return false; } } } return true; } Code thuật toán Support Vector Machines 4.1 Code tập huấn #include #include #include #include #include #include "svm.h" #define Malloc(type,n) (type *)malloc((n)*sizeof(type)) void print_null(const char *s) {} void exit_with_help() { printf( "Usage: svm-train [options] training_set_file [model_file]\n" "options:\n" "-s svm_type : set type of SVM (default 0)\n" " C-SVC (multi-class classification)\n" " nu-SVC (multi-class classification)\n" " one-class SVM\n" " epsilon-SVR (regression)\n" " nu-SVR (regression)\n" "-t kernel_type : set type of kernel function (default 2)\n" " linear: u'*v\n" " polynomial: (gamma*u'*v + coef0)^degree\n" " radial basis function: exp(-gamma*|u-v|^2)\n" " sigmoid: tanh(gamma*u'*v + coef0)\n" " precomputed kernel (kernel values in training_set_file)\n" "-d degree : set degree in kernel function (default 3)\n" "-g gamma : set gamma in kernel function (default 1/num_features)\n" "-r coef0 : set coef0 in kernel function (default 0)\n" "-c cost : set the parameter C of C-SVC, epsilon-SVR, and nu-SVR (default 1)\n" "-n nu : set the parameter nu of nu-SVC, one-class SVM, and nu-SVR (default 0.5)\n" "-p epsilon : set the epsilon in loss function of epsilon-SVR (default 0.1)\n" "-m cachesize : set cache memory size in MB (default 100)\n" "-e epsilon : set tolerance of termination criterion (default 0.001)\n" "-h shrinking : whether to use the shrinking heuristics, or (default 1)\n" "-b probability_estimates : whether to train a SVC or SVR model for probability estimates, or (default 0)\n" "-wi weight : set the parameter C of class i to weight*C, for C-SVC (default 1)\n" "-v n: n-fold cross validation mode\n" "-q : quiet mode (no outputs)\n" 127 ); exit(1); } void exit_input_error(int line_num) { fprintf(stderr,"Wrong input format at line %d\n", line_num); exit(1); } void parse_command_line(int argc, char **argv, char *input_file_name, char *model_file_name); void read_problem(const char *filename); void do_cross_validation(); struct svm_parameter param; struct svm_problem prob; struct svm_model *model; struct svm_node *x_space; int cross_validation; int nr_fold; // set by parse_command_line // set by read_problem static char *line = NULL; static int max_line_len; static char* readline(FILE *input) { int len; if(fgets(line,max_line_len,input) == NULL) return NULL; while(strrchr(line,'\n') == NULL) { max_line_len *= 2; line = (char *) realloc(line,max_line_len); len = (int) strlen(line); if(fgets(line+len,max_line_len-len,input) == NULL) break; } return line; } int main(int argc, char **argv) { char input_file_name[1024]; char model_file_name[1024]; const char *error_msg; parse_command_line(argc, argv, input_file_name, model_file_name); read_problem(input_file_name); error_msg = svm_check_parameter(&prob,¶m); if(error_msg) { fprintf(stderr,"ERROR: %s\n",error_msg); exit(1); } if(cross_validation) { do_cross_validation(); } else 128 { model = svm_train(&prob,¶m); if(svm_save_model(model_file_name,model)) { fprintf(stderr, "can't save model to file %s\n", model_file_name); exit(1); } svm_free_and_destroy_model(&model); } svm_destroy_param(¶m); free(prob.y); free(prob.x); free(x_space); free(line); return 0; } void do_cross_validation() { int i; int total_correct = 0; double total_error = 0; double sumv = 0, sumy = 0, sumvv = 0, sumyy = 0, sumvy = 0; double *target = Malloc(double,prob.l); svm_cross_validation(&prob,¶m,nr_fold,target); if(param.svm_type == EPSILON_SVR || param.svm_type == NU_SVR) { for(i=0;i=argc) exit_with_help(); strcpy(input_file_name, argv[i]); if(i

Ngày đăng: 13/12/2022, 17:16

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

Tài liệu liên quan