lightgbm_R.h 16.3 KB
Newer Older
1
2
3
4
/*!
 * Copyright (c) 2017 Microsoft Corporation. All rights reserved.
 * Licensed under the MIT License. See LICENSE file in the project root for license information.
 */
Guolin Ke's avatar
Guolin Ke committed
5
6
7
8
#ifndef LIGHTGBM_R_H_
#define LIGHTGBM_R_H_

#include <LightGBM/c_api.h>
9
10
11
12
13

#define R_NO_REMAP
#define R_USE_C99_IN_CXX
#include <Rinternals.h>

14
15
16
17
18
19
20
21
22
/*!
* \brief check if an R external pointer (like a Booster or Dataset handle) is a null pointer
* \param handle handle for a Booster, Dataset, or Predictor
* \return R logical, TRUE if the handle is a null pointer
*/
LIGHTGBM_C_EXPORT SEXP LGBM_HandleIsNull_R(
  SEXP handle
);

23
24
25
26
27
28
/*!
* \brief Throw a standardized error message when encountering a null Booster handle
* \return No return, will throw an error
*/
LIGHTGBM_C_EXPORT SEXP LGBM_NullBoosterHandleError_R();

Guolin Ke's avatar
Guolin Ke committed
29
30
31
// --- start Dataset interface

/*!
32
* \brief load Dataset from file like the command_line LightGBM does
Guolin Ke's avatar
Guolin Ke committed
33
34
* \param filename the name of the file
* \param parameters additional parameters
35
* \param reference used to align bin mapper with other Dataset, nullptr means not used
36
* \return Dataset handle
Guolin Ke's avatar
Guolin Ke committed
37
*/
38
LIGHTGBM_C_EXPORT SEXP LGBM_DatasetCreateFromFile_R(
39
40
  SEXP filename,
  SEXP parameters,
41
  SEXP reference
42
);
Guolin Ke's avatar
Guolin Ke committed
43
44

/*!
45
* \brief create a Dataset from Compressed Sparse Column (CSC) format
Guolin Ke's avatar
Guolin Ke committed
46
47
48
* \param indptr pointer to row headers
* \param indices findex
* \param data fvalue
49
* \param num_indptr number of cols in the matrix + 1
Guolin Ke's avatar
Guolin Ke committed
50
51
52
* \param nelem number of nonzero elements in the matrix
* \param num_row number of rows
* \param parameters additional parameters
53
* \param reference used to align bin mapper with other Dataset, nullptr means not used
54
* \return Dataset handle
Guolin Ke's avatar
Guolin Ke committed
55
*/
56
LIGHTGBM_C_EXPORT SEXP LGBM_DatasetCreateFromCSC_R(
57
58
59
  SEXP indptr,
  SEXP indices,
  SEXP data,
60
61
62
  SEXP num_indptr,
  SEXP nelem,
  SEXP num_row,
63
  SEXP parameters,
64
  SEXP reference
65
);
Guolin Ke's avatar
Guolin Ke committed
66
67

/*!
68
69
* \brief create Dataset from dense matrix
* \param data matrix data
70
71
* \param num_row number of rows
* \param num_col number columns
Guolin Ke's avatar
Guolin Ke committed
72
* \param parameters additional parameters
73
* \param reference used to align bin mapper with other Dataset, nullptr means not used
74
* \return Dataset handle
Guolin Ke's avatar
Guolin Ke committed
75
*/
76
LIGHTGBM_C_EXPORT SEXP LGBM_DatasetCreateFromMat_R(
77
  SEXP data,
78
79
  SEXP num_row,
  SEXP num_col,
80
  SEXP parameters,
81
  SEXP reference
82
);
Guolin Ke's avatar
Guolin Ke committed
83
84

/*!
85
86
* \brief Create subset of a Dataset
* \param handle handle of full Dataset
Guolin Ke's avatar
Guolin Ke committed
87
88
89
* \param used_row_indices Indices used in subset
* \param len_used_row_indices length of Indices used in subset
* \param parameters additional parameters
90
* \return Dataset handle
Guolin Ke's avatar
Guolin Ke committed
91
*/
92
LIGHTGBM_C_EXPORT SEXP LGBM_DatasetGetSubset_R(
93
  SEXP handle,
94
  SEXP used_row_indices,
95
  SEXP len_used_row_indices,
96
  SEXP parameters
97
);
Guolin Ke's avatar
Guolin Ke committed
98
99
100
101
102

/*!
* \brief save feature names to Dataset
* \param handle handle
* \param feature_names feature names
103
* \return R character vector of feature names
Guolin Ke's avatar
Guolin Ke committed
104
*/
105
LIGHTGBM_C_EXPORT SEXP LGBM_DatasetSetFeatureNames_R(
106
  SEXP handle,
107
  SEXP feature_names
108
);
Guolin Ke's avatar
Guolin Ke committed
109
110

/*!
111
112
113
* \brief get feature names from Dataset
* \param handle Dataset handle
* \return an R character vector with feature names from the Dataset or NULL if no feature names
Guolin Ke's avatar
Guolin Ke committed
114
*/
115
LIGHTGBM_C_EXPORT SEXP LGBM_DatasetGetFeatureNames_R(
116
  SEXP handle
117
);
Guolin Ke's avatar
Guolin Ke committed
118
119

/*!
120
121
* \brief save Dataset to binary file
* \param handle an instance of Dataset
Guolin Ke's avatar
Guolin Ke committed
122
* \param filename file name
123
* \return R NULL value
Guolin Ke's avatar
Guolin Ke committed
124
*/
125
LIGHTGBM_C_EXPORT SEXP LGBM_DatasetSaveBinary_R(
126
  SEXP handle,
127
  SEXP filename
128
);
Guolin Ke's avatar
Guolin Ke committed
129
130

/*!
131
132
133
* \brief free Dataset
* \param handle an instance of Dataset
* \return R NULL value
Guolin Ke's avatar
Guolin Ke committed
134
*/
135
LIGHTGBM_C_EXPORT SEXP LGBM_DatasetFree_R(
136
  SEXP handle
137
);
Guolin Ke's avatar
Guolin Ke committed
138
139
140

/*!
* \brief set vector to a content in info
141
*        Note: group and group_id only work for C_API_DTYPE_INT32
Guolin Ke's avatar
Guolin Ke committed
142
*              label and weight only work for C_API_DTYPE_FLOAT32
143
* \param handle an instance of Dataset
Guolin Ke's avatar
Guolin Ke committed
144
145
146
* \param field_name field name, can be label, weight, group, group_id
* \param field_data pointer to vector
* \param num_element number of element in field_data
147
* \return R NULL value
Guolin Ke's avatar
Guolin Ke committed
148
*/
149
LIGHTGBM_C_EXPORT SEXP LGBM_DatasetSetField_R(
150
  SEXP handle,
151
  SEXP field_name,
152
  SEXP field_data,
153
  SEXP num_element
154
);
Guolin Ke's avatar
Guolin Ke committed
155
156

/*!
157
158
* \brief get size of info vector from Dataset
* \param handle an instance of Dataset
Guolin Ke's avatar
Guolin Ke committed
159
* \param field_name field name
160
161
* \param out size of info vector from Dataset
* \return R NULL value
Guolin Ke's avatar
Guolin Ke committed
162
*/
163
LIGHTGBM_C_EXPORT SEXP LGBM_DatasetGetFieldSize_R(
164
  SEXP handle,
165
  SEXP field_name,
166
  SEXP out
167
);
Guolin Ke's avatar
Guolin Ke committed
168
169

/*!
170
171
* \brief get info vector from Dataset
* \param handle an instance of Dataset
Guolin Ke's avatar
Guolin Ke committed
172
173
* \param field_name field name
* \param field_data pointer to vector
174
* \return R NULL value
Guolin Ke's avatar
Guolin Ke committed
175
*/
176
LIGHTGBM_C_EXPORT SEXP LGBM_DatasetGetField_R(
177
  SEXP handle,
178
  SEXP field_name,
179
  SEXP field_data
180
);
Guolin Ke's avatar
Guolin Ke committed
181

182
/*!
183
184
185
186
187
 * \brief Raise errors for attempts to update Dataset parameters.
 *        Some parameters cannot be updated after construction.
 * \param old_params Current Dataset parameters
 * \param new_params New Dataset parameters
 * \return R NULL value
188
 */
189
LIGHTGBM_C_EXPORT SEXP LGBM_DatasetUpdateParamChecking_R(
190
191
  SEXP old_params,
  SEXP new_params
192
);
193

Guolin Ke's avatar
Guolin Ke committed
194
195
/*!
* \brief get number of data.
196
* \param handle the handle to the Dataset
Guolin Ke's avatar
Guolin Ke committed
197
* \param out The address to hold number of data
198
* \return R NULL value
Guolin Ke's avatar
Guolin Ke committed
199
*/
200
LIGHTGBM_C_EXPORT SEXP LGBM_DatasetGetNumData_R(
201
  SEXP handle,
202
  SEXP out
203
);
Guolin Ke's avatar
Guolin Ke committed
204
205
206

/*!
* \brief get number of features
207
* \param handle the handle to the Dataset
Guolin Ke's avatar
Guolin Ke committed
208
* \param out The output of number of features
209
* \return R NULL value
Guolin Ke's avatar
Guolin Ke committed
210
*/
211
LIGHTGBM_C_EXPORT SEXP LGBM_DatasetGetNumFeature_R(
212
  SEXP handle,
213
  SEXP out
214
);
Guolin Ke's avatar
Guolin Ke committed
215

216
217
218
219
220
221
222
223
224
225
226
227
228
/*!
* \brief get number of bins for feature
* \param handle the handle to the Dataset
* \param feature the index of the feature
* \param out The output of number of bins
* \return R NULL value
*/
LIGHTGBM_C_EXPORT SEXP LGBM_DatasetGetFeatureNumBin_R(
  SEXP handle,
  SEXP feature,
  SEXP out
);

Guolin Ke's avatar
Guolin Ke committed
229
230
231
// --- start Booster interfaces

/*!
232
* \brief create a new boosting learner
233
* \param train_data training Dataset
Guolin Ke's avatar
Guolin Ke committed
234
* \param parameters format: 'key1=value1 key2=value2'
235
* \return Booster handle
Guolin Ke's avatar
Guolin Ke committed
236
*/
237
LIGHTGBM_C_EXPORT SEXP LGBM_BoosterCreate_R(
238
239
  SEXP train_data,
  SEXP parameters
240
);
Guolin Ke's avatar
Guolin Ke committed
241
242

/*!
243
* \brief free Booster
Guolin Ke's avatar
Guolin Ke committed
244
* \param handle handle to be freed
245
* \return R NULL value
Guolin Ke's avatar
Guolin Ke committed
246
*/
247
LIGHTGBM_C_EXPORT SEXP LGBM_BoosterFree_R(
248
  SEXP handle
249
);
Guolin Ke's avatar
Guolin Ke committed
250
251

/*!
252
* \brief load an existing Booster from model file
Guolin Ke's avatar
Guolin Ke committed
253
* \param filename filename of model
254
* \return Booster handle
Guolin Ke's avatar
Guolin Ke committed
255
*/
256
LIGHTGBM_C_EXPORT SEXP LGBM_BoosterCreateFromModelfile_R(
257
  SEXP filename
258
);
Guolin Ke's avatar
Guolin Ke committed
259

260
/*!
261
* \brief load an existing Booster from a string
262
* \param model_str string containing the model
263
* \return Booster handle
264
*/
265
LIGHTGBM_C_EXPORT SEXP LGBM_BoosterLoadModelFromString_R(
266
  SEXP model_str
267
);
268

Guolin Ke's avatar
Guolin Ke committed
269
/*!
270
271
272
273
* \brief Merge model in two Boosters to first handle
* \param handle handle primary Booster handle, will merge other handle to this
* \param other_handle secondary Booster handle
* \return R NULL value
Guolin Ke's avatar
Guolin Ke committed
274
*/
275
LIGHTGBM_C_EXPORT SEXP LGBM_BoosterMerge_R(
276
277
  SEXP handle,
  SEXP other_handle
278
);
Guolin Ke's avatar
Guolin Ke committed
279
280

/*!
281
282
283
284
* \brief Add new validation to Booster
* \param handle Booster handle
* \param valid_data validation Dataset
* \return R NULL value
Guolin Ke's avatar
Guolin Ke committed
285
*/
286
LIGHTGBM_C_EXPORT SEXP LGBM_BoosterAddValidData_R(
287
288
  SEXP handle,
  SEXP valid_data
289
);
Guolin Ke's avatar
Guolin Ke committed
290
291

/*!
292
293
294
295
* \brief Reset training data for Booster
* \param handle Booster handle
* \param train_data training Dataset
* \return R NULL value
Guolin Ke's avatar
Guolin Ke committed
296
*/
297
LIGHTGBM_C_EXPORT SEXP LGBM_BoosterResetTrainingData_R(
298
299
  SEXP handle,
  SEXP train_data
300
);
Guolin Ke's avatar
Guolin Ke committed
301
302

/*!
303
304
* \brief Reset config for current Booster
* \param handle Booster handle
Guolin Ke's avatar
Guolin Ke committed
305
* \param parameters format: 'key1=value1 key2=value2'
306
* \return R NULL value
Guolin Ke's avatar
Guolin Ke committed
307
*/
308
LIGHTGBM_C_EXPORT SEXP LGBM_BoosterResetParameter_R(
309
  SEXP handle,
310
  SEXP parameters
311
);
Guolin Ke's avatar
Guolin Ke committed
312
313

/*!
314
* \brief Get number of classes
315
* \param handle Booster handle
Guolin Ke's avatar
Guolin Ke committed
316
* \param out number of classes
317
* \return R NULL value
Guolin Ke's avatar
Guolin Ke committed
318
*/
319
LIGHTGBM_C_EXPORT SEXP LGBM_BoosterGetNumClasses_R(
320
  SEXP handle,
321
  SEXP out
322
);
Guolin Ke's avatar
Guolin Ke committed
323

324
325
326
327
328
329
330
331
332
/*!
* \brief Get number of features.
* \param handle Booster handle
* \return Total number of features, as R integer
*/
LIGHTGBM_C_EXPORT SEXP LGBM_BoosterGetNumFeature_R(
  SEXP handle
);

Guolin Ke's avatar
Guolin Ke committed
333
334
/*!
* \brief update the model in one round
335
336
* \param handle Booster handle
* \return R NULL value
Guolin Ke's avatar
Guolin Ke committed
337
*/
338
LIGHTGBM_C_EXPORT SEXP LGBM_BoosterUpdateOneIter_R(
339
  SEXP handle
340
);
Guolin Ke's avatar
Guolin Ke committed
341
342

/*!
343
* \brief update the model, by directly specifying gradient and second order gradient,
Guolin Ke's avatar
Guolin Ke committed
344
*       this can be used to support customized loss function
345
* \param handle Booster handle
Guolin Ke's avatar
Guolin Ke committed
346
347
348
* \param grad gradient statistics
* \param hess second order gradient statistics
* \param len length of grad/hess
349
* \return R NULL value
Guolin Ke's avatar
Guolin Ke committed
350
*/
351
LIGHTGBM_C_EXPORT SEXP LGBM_BoosterUpdateOneIterCustom_R(
352
  SEXP handle,
353
354
  SEXP grad,
  SEXP hess,
355
  SEXP len
356
);
Guolin Ke's avatar
Guolin Ke committed
357
358
359

/*!
* \brief Rollback one iteration
360
361
* \param handle Booster handle
* \return R NULL value
Guolin Ke's avatar
Guolin Ke committed
362
*/
363
LIGHTGBM_C_EXPORT SEXP LGBM_BoosterRollbackOneIter_R(
364
  SEXP handle
365
);
Guolin Ke's avatar
Guolin Ke committed
366
367
368

/*!
* \brief Get iteration of current boosting rounds
369
* \param handle Booster handle
Guolin Ke's avatar
Guolin Ke committed
370
* \param out iteration of boosting rounds
371
* \return R NULL value
Guolin Ke's avatar
Guolin Ke committed
372
*/
373
LIGHTGBM_C_EXPORT SEXP LGBM_BoosterGetCurrentIteration_R(
374
  SEXP handle,
375
  SEXP out
376
);
Guolin Ke's avatar
Guolin Ke committed
377

378
379
/*!
* \brief Get model upper bound value.
380
* \param handle Handle of Booster
381
* \param[out] out_results Result pointing to max value
382
* \return R NULL value
383
*/
384
LIGHTGBM_C_EXPORT SEXP LGBM_BoosterGetUpperBoundValue_R(
385
    SEXP handle,
386
    SEXP out_result
387
388
389
390
);

/*!
* \brief Get model lower bound value.
391
* \param handle Handle of Booster
392
* \param[out] out_results Result pointing to min value
393
* \return R NULL value
394
*/
395
LIGHTGBM_C_EXPORT SEXP LGBM_BoosterGetLowerBoundValue_R(
396
    SEXP handle,
397
    SEXP out_result
398
399
);

Guolin Ke's avatar
Guolin Ke committed
400
/*!
401
402
403
* \brief Get names of eval metrics
* \param handle Handle of booster
* \return R character vector with names of eval metrics
Guolin Ke's avatar
Guolin Ke committed
404
*/
405
LIGHTGBM_C_EXPORT SEXP LGBM_BoosterGetEvalNames_R(
406
  SEXP handle
407
);
Guolin Ke's avatar
Guolin Ke committed
408
409
410

/*!
* \brief get evaluation for training data and validation data
411
* \param handle Booster handle
Guolin Ke's avatar
Guolin Ke committed
412
* \param data_idx 0:training data, 1: 1st valid data, 2:2nd valid data ...
413
414
* \param out_result float array containing result
* \return R NULL value
Guolin Ke's avatar
Guolin Ke committed
415
*/
416
LIGHTGBM_C_EXPORT SEXP LGBM_BoosterGetEval_R(
417
  SEXP handle,
418
  SEXP data_idx,
419
  SEXP out_result
420
);
Guolin Ke's avatar
Guolin Ke committed
421
422
423

/*!
* \brief Get number of prediction for training data and validation data
424
* \param handle Booster handle
Guolin Ke's avatar
Guolin Ke committed
425
426
* \param data_idx 0:training data, 1: 1st valid data, 2:2nd valid data ...
* \param out size of predict
427
* \return R NULL value
Guolin Ke's avatar
Guolin Ke committed
428
*/
429
LIGHTGBM_C_EXPORT SEXP LGBM_BoosterGetNumPredict_R(
430
  SEXP handle,
431
  SEXP data_idx,
432
  SEXP out
433
);
Guolin Ke's avatar
Guolin Ke committed
434
435

/*!
436
437
* \brief Get prediction for training data and validation data.
*        This can be used to support customized eval function
438
* \param handle Booster handle
Guolin Ke's avatar
Guolin Ke committed
439
440
* \param data_idx 0:training data, 1: 1st valid data, 2:2nd valid data ...
* \param out_result, used to store predict result, should pre-allocate memory
441
* \return R NULL value
Guolin Ke's avatar
Guolin Ke committed
442
*/
443
LIGHTGBM_C_EXPORT SEXP LGBM_BoosterGetPredict_R(
444
  SEXP handle,
445
  SEXP data_idx,
446
  SEXP out_result
447
);
Guolin Ke's avatar
Guolin Ke committed
448
449
450

/*!
* \brief make prediction for file
451
* \param handle Booster handle
Guolin Ke's avatar
Guolin Ke committed
452
453
* \param data_filename filename of data file
* \param data_has_header data file has header or not
454
455
456
457
458
459
* \param is_rawscore 1 to get raw predictions, before transformations like
*                    converting to probabilities, 0 otherwise
* \param is_leafidx 1 to get record of which leaf in each tree
*                   observations fell into, 0 otherwise
* \param is_predcontrib 1 to get feature contributions, 0 otherwise
* \param start_iteration Start index of the iteration to predict
Guolin Ke's avatar
Guolin Ke committed
460
* \param num_iteration number of iteration for prediction, <= 0 means no limit
461
462
463
* \param parameter additional parameters
* \param result_filename filename of file to write predictions to
* \return R NULL value
Guolin Ke's avatar
Guolin Ke committed
464
*/
465
LIGHTGBM_C_EXPORT SEXP LGBM_BoosterPredictForFile_R(
466
  SEXP handle,
467
  SEXP data_filename,
468
469
470
471
472
473
  SEXP data_has_header,
  SEXP is_rawscore,
  SEXP is_leafidx,
  SEXP is_predcontrib,
  SEXP start_iteration,
  SEXP num_iteration,
474
475
  SEXP parameter,
  SEXP result_filename
476
);
Guolin Ke's avatar
Guolin Ke committed
477
478
479

/*!
* \brief Get number of prediction
480
481
482
483
484
485
486
487
* \param handle Booster handle
* \param num_row number of rows in input
* \param is_rawscore 1 to get raw predictions, before transformations like
*                    converting to probabilities, 0 otherwise
* \param is_leafidx 1 to get record of which leaf in each tree
*                   observations fell into, 0 otherwise
* \param is_predcontrib 1 to get feature contributions, 0 otherwise
* \param start_iteration Start index of the iteration to predict
Guolin Ke's avatar
Guolin Ke committed
488
* \param num_iteration number of iteration for prediction, <= 0 means no limit
489
* \param out_len length of prediction
490
* \return R NULL value
Guolin Ke's avatar
Guolin Ke committed
491
*/
492
LIGHTGBM_C_EXPORT SEXP LGBM_BoosterCalcNumPredict_R(
493
  SEXP handle,
494
495
496
497
498
499
  SEXP num_row,
  SEXP is_rawscore,
  SEXP is_leafidx,
  SEXP is_predcontrib,
  SEXP start_iteration,
  SEXP num_iteration,
500
  SEXP out_len
501
);
Guolin Ke's avatar
Guolin Ke committed
502
503

/*!
504
* \brief make prediction for a new Dataset
Guolin Ke's avatar
Guolin Ke committed
505
*        Note:  should pre-allocate memory for out_result,
506
*               for normal and raw score: its length is equal to num_class * num_data
Guolin Ke's avatar
Guolin Ke committed
507
*               for leaf index, its length is equal to num_class * num_data * num_iteration
508
* \param handle Booster handle
Guolin Ke's avatar
Guolin Ke committed
509
510
511
* \param indptr pointer to row headers
* \param indices findex
* \param data fvalue
512
* \param num_indptr number of cols in the matrix + 1
513
* \param nelem number of non-zero elements in the matrix
Guolin Ke's avatar
Guolin Ke committed
514
* \param num_row number of rows
515
516
517
518
519
520
* \param is_rawscore 1 to get raw predictions, before transformations like
*                    converting to probabilities, 0 otherwise
* \param is_leafidx 1 to get record of which leaf in each tree
*                   observations fell into, 0 otherwise
* \param is_predcontrib 1 to get feature contributions, 0 otherwise
* \param start_iteration Start index of the iteration to predict
Guolin Ke's avatar
Guolin Ke committed
521
* \param num_iteration number of iteration for prediction, <= 0 means no limit
522
523
524
* \param parameter additional parameters
* \param out_result prediction result
* \return R NULL value
Guolin Ke's avatar
Guolin Ke committed
525
*/
526
LIGHTGBM_C_EXPORT SEXP LGBM_BoosterPredictForCSC_R(
527
  SEXP handle,
528
529
530
  SEXP indptr,
  SEXP indices,
  SEXP data,
531
532
533
534
535
536
537
538
  SEXP num_indptr,
  SEXP nelem,
  SEXP num_row,
  SEXP is_rawscore,
  SEXP is_leafidx,
  SEXP is_predcontrib,
  SEXP start_iteration,
  SEXP num_iteration,
539
  SEXP parameter,
540
  SEXP out_result
541
);
Guolin Ke's avatar
Guolin Ke committed
542
543

/*!
544
* \brief make prediction for a new Dataset
Guolin Ke's avatar
Guolin Ke committed
545
*        Note:  should pre-allocate memory for out_result,
546
*               for normal and raw score: its length is equal to num_class * num_data
Guolin Ke's avatar
Guolin Ke committed
547
*               for leaf index, its length is equal to num_class * num_data * num_iteration
548
* \param handle Booster handle
Guolin Ke's avatar
Guolin Ke committed
549
* \param data pointer to the data space
550
551
* \param num_row number of rows
* \param num_col number columns
552
553
554
555
556
557
* \param is_rawscore 1 to get raw predictions, before transformations like
*                    converting to probabilities, 0 otherwise
* \param is_leafidx 1 to get record of which leaf in each tree
*                   observations fell into, 0 otherwise
* \param is_predcontrib 1 to get feature contributions, 0 otherwise
* \param start_iteration Start index of the iteration to predict
Guolin Ke's avatar
Guolin Ke committed
558
* \param num_iteration number of iteration for prediction, <= 0 means no limit
559
560
561
* \param parameter additional parameters
* \param out_result prediction result
* \return R NULL value
Guolin Ke's avatar
Guolin Ke committed
562
*/
563
LIGHTGBM_C_EXPORT SEXP LGBM_BoosterPredictForMat_R(
564
  SEXP handle,
565
  SEXP data,
566
567
568
569
570
571
572
  SEXP num_row,
  SEXP num_col,
  SEXP is_rawscore,
  SEXP is_leafidx,
  SEXP is_predcontrib,
  SEXP start_iteration,
  SEXP num_iteration,
573
  SEXP parameter,
574
  SEXP out_result
575
);
Guolin Ke's avatar
Guolin Ke committed
576
577
578

/*!
* \brief save model into file
579
* \param handle Booster handle
Guolin Ke's avatar
Guolin Ke committed
580
* \param num_iteration, <= 0 means save all
581
* \param feature_importance_type type of feature importance, 0: split, 1: gain
Guolin Ke's avatar
Guolin Ke committed
582
* \param filename file name
583
* \return R NULL value
Guolin Ke's avatar
Guolin Ke committed
584
*/
585
LIGHTGBM_C_EXPORT SEXP LGBM_BoosterSaveModel_R(
586
  SEXP handle,
587
588
  SEXP num_iteration,
  SEXP feature_importance_type,
589
  SEXP filename
590
);
Guolin Ke's avatar
Guolin Ke committed
591

592
593
/*!
* \brief create string containing model
594
* \param handle Booster handle
595
* \param num_iteration, <= 0 means save all
596
597
* \param feature_importance_type type of feature importance, 0: split, 1: gain
* \return R character vector (length=1) with model string
598
*/
599
LIGHTGBM_C_EXPORT SEXP LGBM_BoosterSaveModelToString_R(
600
  SEXP handle,
601
  SEXP num_iteration,
602
  SEXP feature_importance_type
603
);
604

Guolin Ke's avatar
Guolin Ke committed
605
/*!
606
607
* \brief dump model to JSON
* \param handle Booster handle
Guolin Ke's avatar
Guolin Ke committed
608
* \param num_iteration, <= 0 means save all
609
610
* \param feature_importance_type type of feature importance, 0: split, 1: gain
* \return R character vector (length=1) with model JSON
Guolin Ke's avatar
Guolin Ke committed
611
*/
612
LIGHTGBM_C_EXPORT SEXP LGBM_BoosterDumpModel_R(
613
  SEXP handle,
614
  SEXP num_iteration,
615
  SEXP feature_importance_type
616
);
Guolin Ke's avatar
Guolin Ke committed
617

618
619
620
621
622
623
/*!
* \brief Dump parameter aliases to JSON
* \return R character vector (length=1) with aliases JSON
*/
LIGHTGBM_C_EXPORT SEXP LGBM_DumpParamAliases_R();

624
#endif  // LIGHTGBM_R_H_