| 261 | } |
| 262 | |
| 263 | void get_sv(int* row, int* col, float* data, int* data_size, int* sv_indices, SvmModel* model){ |
| 264 | DataSet::node2d svs = model->svs(); |
| 265 | row[0] = 0; |
| 266 | int data_ind = 0; |
| 267 | int col_ind = 0; |
| 268 | int row_ind = 1; |
| 269 | for(int i = 0; i < svs.size(); i++){ |
| 270 | row[row_ind] = row[row_ind - 1] + svs[i].size(); |
| 271 | row_ind++; |
| 272 | for(int j = 0; j < svs[i].size(); j++){ |
| 273 | data[data_ind] = svs[i][j].value; |
| 274 | data_ind++; |
| 275 | col[col_ind] = svs[i][j].index; |
| 276 | col_ind++; |
| 277 | } |
| 278 | } |
| 279 | data_size[0] = data_ind; |
| 280 | |
| 281 | vector<int> sv_index = model->get_sv_ind(); |
| 282 | for(int i = 0; i < sv_index.size(); i++){ |
| 283 | sv_indices[i] = sv_index[i]; |
| 284 | } |
| 285 | return ; |
| 286 | } |
| 287 | |
| 288 | void get_support_classes(int* n_support, int n_class, SvmModel* model){ |
| 289 | SyncArray<int> n_sv(n_class); |