Turi Create  4.0
turi::supervised::supervised_learning_model_base Class Referenceabstract

#include <toolkits/supervised_learning/supervised_learning.hpp>

Public Member Functions

virtual void train ()=0
 
std::vector< std::vector< flexible_type > > get_metadata_mapping ()
 
virtual flexible_type predict_single_example (const ml_data_iterator &it, const prediction_type_enum &output_type=prediction_type_enum::NA)
 
virtual flexible_type predict_single_example (const DenseVector &x, const prediction_type_enum &output_type=prediction_type_enum::NA)
 
virtual flexible_type predict_single_example (const SparseVector &x, const prediction_type_enum &output_type=prediction_type_enum::NA)
 
virtual std::map< std::string, variant_typeevaluate (const ml_data &test_data, const std::string &evaluation_type="", bool with_prediction=false)
 
virtual std::map< std::string, variant_typeevaluate (const sframe &X, const sframe &y, const std::string &evaluation_type="", bool with_prediction=false)
 
virtual std::shared_ptr< sarray< flexible_type > > predict (const ml_data &test_data, const std::string &output_type="")
 
virtual std::shared_ptr< sarray< flexible_type > > predict (const sframe &X, const std::string &output_type="")
 
virtual std::shared_ptr< sarray< flexible_type > > extract_features (const sframe &X, ml_missing_value_action missing_value_action)
 
virtual sframe predict_topk (const sframe &test_data, const std::string &output_type="", size_t topk=5)
 
virtual sframe predict_topk (const ml_data &test_data, const std::string &output_type="", size_t topk=5)
 
virtual sframe classify (const ml_data &test_data, const std::string &output_type="")
 
virtual sframe classify (const sframe &X, const std::string &output_type="")
 
virtual gl_sarray fast_predict (const std::vector< flexible_type > &rows, const std::string &missing_value_action="error", const std::string &output_type="")
 
virtual gl_sframe fast_predict_topk (const std::vector< flexible_type > &rows, const std::string &missing_value_action="error", const std::string &output_type="", const size_t topk=5)
 
virtual gl_sframe fast_classify (const std::vector< flexible_type > &rows, const std::string &missing_value_action="error")
 
virtual void init (const sframe &X, const sframe &y, const sframe &valid_X=sframe(), const sframe &valid_y=sframe(), ml_missing_value_action mva=ml_missing_value_action::ERROR)
 
virtual void set_coefs (const DenseVector &coefs)
 
void set_evaluation_metric (std::vector< std::string > _metrics)
 
void set_tracking_metric (std::vector< std::string > _metrics)
 
void set_more_warnings (bool more_warnings)
 
virtual void set_default_evaluation_metric ()
 
virtual void set_default_tracking_metric ()
 
std::map< std::string, flexible_typeget_train_stats () const
 
sframe impute_missing_columns_using_current_metadata (const sframe &X) const
 
ml_data construct_ml_data_using_current_metadata (const sframe &X, const sframe &y, ml_missing_value_action mva=ml_missing_value_action::ERROR) const
 
ml_data construct_ml_data_using_current_metadata (const sframe &X, ml_missing_value_action mva=ml_missing_value_action::ERROR) const
 
size_t num_features () const
 
size_t num_examples () const
 
size_t num_unpacked_features () const
 
std::vector< std::string > get_feature_names () const
 
std::string get_target_name () const
 
std::shared_ptr< ml_metadataget_ml_metadata () const
 
virtual bool is_classifier () const =0
 
bool is_dense ()
 
std::vector< std::string > get_metrics () const
 
std::vector< std::string > get_tracking_metrics () const
 
std::string get_metric_display_name (const std::string &metric) const
 
void display_regression_training_summary (std::string model_display_name) const
 
void display_classifier_training_summary (std::string model_display_name, bool simple_mode=false) const
 
virtual void model_specific_init (const ml_data &data, const ml_data &validation_data)
 
virtual bool support_missing_value () const
 
void api_train (gl_sframe data, const std::string &target, const variant_type &validation_data, const std::map< std::string, flexible_type > &_options)
 
gl_sarray api_predict (gl_sframe data, std::string missing_value_action, std::string output_type)
 
gl_sframe api_predict_topk (gl_sframe data, std::string missing_value_action, std::string output_type, size_t topk=5)
 
gl_sframe api_classify (gl_sframe data, std::string missing_value_action, std::string output_type)
 
variant_map_type api_evaluate (gl_sframe data, std::string missing_value_action, std::string metric, gl_sarray predictions=gl_sarray(), bool with_prediction=false)
 
gl_sarray api_extract_features (gl_sframe data, std::string missing_value_action)
 
virtual std::shared_ptr< coreml::MLModelWrapper > export_to_coreml ()=0
 
virtual void init_options (const std::map< std::string, flexible_type > &_options)
 
std::vector< std::string > list_fields ()
 
const variant_typeget_value_from_state (std::string key)
 
const std::map< std::string, flexible_type > & get_current_options () const
 
std::map< std::string, flexible_typeget_default_options () const
 
const flexible_typeget_option_value (const std::string &name) const
 
const std::map< std::string, variant_type > & get_state () const
 
bool is_trained () const
 
void set_options (const std::map< std::string, flexible_type > &_options)
 
void add_or_update_state (const std::map< std::string, variant_type > &dict)
 
const std::vector< option_handling::option_info > & get_option_info () const
 
virtual const char * name ()=0
 
virtual const std::string & uid ()=0
 
virtual void save_impl (oarchive &oarc) const
 
virtual void load_version (iarchive &iarc, size_t version)
 
void save_to_url (const std::string &url, const variant_map_type &side_data={})
 
void save_model_to_data (std::ostream &out)
 
virtual size_t get_version () const
 
const std::map< std::string, std::vector< std::string > > & list_functions ()
 
const std::vector< std::string > & list_get_properties ()
 
const std::vector< std::string > & list_set_properties ()
 
variant_type call_function (const std::string &function, variant_map_type argument)
 
variant_type get_property (const std::string &property)
 
variant_type set_property (const std::string &property, variant_map_type argument)
 
const std::string & get_docstring (const std::string &symbol)
 
virtual void perform_registration ()
 

Protected Member Functions

void register_function (std::string fnname, const std::vector< std::string > &arguments, impl_fn fn)
 
void register_defaults (const std::string &fnname, const variant_map_type &arguments)
 
void register_setter (const std::string &propname, impl_fn setfn)
 
void register_getter (const std::string &propname, impl_fn getfn)
 
void register_docstring (const std::pair< std::string, std::string > &fnname_docstring)
 

Protected Attributes

std::map< std::string, variant_typestate
 

Detailed Description

Supervised_learning model base class.

Base class for handling supervised learning class. This class is meant to be a guide to aid model writing and not a hard and fast rule of how the code must be structured.

Each supervised learning C++ toolkit contains the following:

*) model: This is the key-value map that stores the "model" attributes. The value is of type "variant_type" which is fully interfaced with python. You can add basic types, vectors, SFrames etc.

*) ml_mdata: A globally consistent object with column wise metadata. This metadata changes with time (even after training). If you want to freeze the metadata after training, you have to do so yourself.

*) train_feature_size: Feature sizes (i.e column sizes) during train time. Numerical features are of size 1, categorical features are of size (# categories), vector features are of size length, and dictionary features are of size # keys.

*) options: Option manager which keeps track of default options, current options, option ranges, type etc. This must be initialized only once in the set_options() function.

Functions that should always be implemented. Here are some notes about each of these functions that may help guide you in writing your model.

*) name: Get the name of this model. You might thinks that this is silly but the name holds the key to everything. The unity_server can construct model_base objects and they can be cast to a model of this type. The name determine how the casting happens. The init_models() function in unity_server.cpp will give you an idea of how this interface happens.

*) train: A train function for the model.

*) predict_single_example: A predict function for the model for single example. If this is implemented, batch predictions and evaluation need not be implemented.

*) predict: A predict function for the model for batch predictions. The result of this function can be an SArray of predictions. One for each value of the input SFrame.

*) evaluate: An evaluattion function for the model for evaluations. The result of this function must be an updated evaluation_stats map which can be queried with the get_evaluation_stats().

*) save: Save the model with the turicreate iarc. Turi is a server-client module. DO NOT SAVE ANYTHING in the client side. Make sure that everything is in the server side. For example: You might be tempted do keep options that the user provides into the server side but DO NOT do that because save and load will break things for you!

*) load: Load the model with the turicreate oarc.

*) init_options: Init the options

This class interfaces with the SupervisedLearning class in Python and works end to end once the following set of fuctions are implemented by the user.

Example Class

See the file supervised_learning_model.cxx for an example of how to use this class in building your supervised learning method.

Definition at line 179 of file supervised_learning.hpp.

Member Function Documentation

◆ add_or_update_state()

void turi::ml_model_base::add_or_update_state ( const std::map< std::string, variant_type > &  dict)
inherited

Append the key value store of the model.

Parameters
[in]dictOptions (Key-Value pairs) to set

◆ api_classify()

gl_sframe turi::supervised::supervised_learning_model_base::api_classify ( gl_sframe  data,
std::string  missing_value_action,
std::string  output_type 
)

API interface through the unity server.

Run classification.

◆ api_evaluate()

variant_map_type turi::supervised::supervised_learning_model_base::api_evaluate ( gl_sframe  data,
std::string  missing_value_action,
std::string  metric,
gl_sarray  predictions = gl_sarray(),
bool  with_prediction = false 
)

API interface through the unity server.

Evaluate the model

◆ api_extract_features()

gl_sarray turi::supervised::supervised_learning_model_base::api_extract_features ( gl_sframe  data,
std::string  missing_value_action 
)

API interface through the unity server.

Extract features!

◆ api_predict()

gl_sarray turi::supervised::supervised_learning_model_base::api_predict ( gl_sframe  data,
std::string  missing_value_action,
std::string  output_type 
)

API interface through the unity server.

Run prediction.

◆ api_predict_topk()

gl_sframe turi::supervised::supervised_learning_model_base::api_predict_topk ( gl_sframe  data,
std::string  missing_value_action,
std::string  output_type,
size_t  topk = 5 
)

API interface through the unity server.

Run multiclass prediction.

◆ api_train()

void turi::supervised::supervised_learning_model_base::api_train ( gl_sframe  data,
const std::string &  target,
const variant_type validation_data,
const std::map< std::string, flexible_type > &  _options 
)

API interface through the unity server.

Train the model

◆ call_function()

variant_type turi::model_base::call_function ( const std::string &  function,
variant_map_type  argument 
)
inherited

Calls a user defined function.

◆ classify() [1/2]

virtual sframe turi::supervised::supervised_learning_model_base::classify ( const ml_data test_data,
const std::string &  output_type = "" 
)
virtual

Make classification using a trained supervised_learning model.

Parameters
[in]XTest data (only independent variables)
[in]output_typeType of classifcation (future proof).
Returns
ret SFrame with "class" and probability (if applicable)
Note
Already assumes that data is of the right shape.

Reimplemented in turi::supervised::linear_svm.

◆ classify() [2/2]

virtual sframe turi::supervised::supervised_learning_model_base::classify ( const sframe X,
const std::string &  output_type = "" 
)
inlinevirtual

Same as classify(ml_data), but takes SFrame as input.

Definition at line 361 of file supervised_learning.hpp.

◆ construct_ml_data_using_current_metadata() [1/2]

ml_data turi::supervised::supervised_learning_model_base::construct_ml_data_using_current_metadata ( const sframe X,
const sframe y,
ml_missing_value_action  mva = ml_missing_value_action::ERROR 
) const

Construct ml-data from the predictors and target using the current value of the metadata.

Parameters
[in]XPredictors
[in]ytarget
[in]new_optsAdditional options.
Returns
A constructed ml_data object

◆ construct_ml_data_using_current_metadata() [2/2]

ml_data turi::supervised::supervised_learning_model_base::construct_ml_data_using_current_metadata ( const sframe X,
ml_missing_value_action  mva = ml_missing_value_action::ERROR 
) const

Construct ml-data from the predictors using the current value of the metadata.

Parameters
[in]XPredictors
[in]new_optsAdditional options.
Returns
A constructed ml_data object

◆ display_classifier_training_summary()

void turi::supervised::supervised_learning_model_base::display_classifier_training_summary ( std::string  model_display_name,
bool  simple_mode = false 
) const

Display model training data summary for classifier.

Parameters
[in]model_display_nameName to be displayed

◆ display_regression_training_summary()

void turi::supervised::supervised_learning_model_base::display_regression_training_summary ( std::string  model_display_name) const

Display model training data summary for regression.

Parameters
[in]model_display_nameName to be displayed

◆ evaluate() [1/2]

virtual std::map<std::string, variant_type> turi::supervised::supervised_learning_model_base::evaluate ( const ml_data test_data,
const std::string &  evaluation_type = "",
bool  with_prediction = false 
)
virtual

Evaluate the model.

Parameters
[in]test_dataTest data.
[in]evaluation_typeEvalution type.
Note
Already assumes that data is of the right shape. Test data must contain target column also.

Reimplemented in turi::supervised::xgboost::xgboost_model.

◆ evaluate() [2/2]

virtual std::map<std::string, variant_type> turi::supervised::supervised_learning_model_base::evaluate ( const sframe X,
const sframe y,
const std::string &  evaluation_type = "",
bool  with_prediction = false 
)
inlinevirtual

Same as evaluate(ml_data), but take SFrame as input.

Definition at line 278 of file supervised_learning.hpp.

◆ export_to_coreml()

◆ extract_features()

virtual std::shared_ptr<sarray<flexible_type> > turi::supervised::supervised_learning_model_base::extract_features ( const sframe X,
ml_missing_value_action  missing_value_action 
)
inlinevirtual

Extract features!

Reimplemented in turi::supervised::xgboost::xgboost_model.

Definition at line 309 of file supervised_learning.hpp.

◆ fast_classify()

virtual gl_sframe turi::supervised::supervised_learning_model_base::fast_classify ( const std::vector< flexible_type > &  rows,
const std::string &  missing_value_action = "error" 
)
virtual

Fast path predictions given a row of flexible_types

Parameters
[in]rowsList of rows (each row is a flex_dict)
[in]output_typeOutput type.

Reimplemented in turi::supervised::linear_svm.

◆ fast_predict()

virtual gl_sarray turi::supervised::supervised_learning_model_base::fast_predict ( const std::vector< flexible_type > &  rows,
const std::string &  missing_value_action = "error",
const std::string &  output_type = "" 
)
virtual

Fast path predictions given a row of flexible_types.

Parameters
[in]rowsList of rows (each row is a flex_dict)
[in]missing_value_actionMissing value action string
[in]output_typeOutput type.

Reimplemented in turi::supervised::xgboost::xgboost_model.

◆ fast_predict_topk()

virtual gl_sframe turi::supervised::supervised_learning_model_base::fast_predict_topk ( const std::vector< flexible_type > &  rows,
const std::string &  missing_value_action = "error",
const std::string &  output_type = "",
const size_t  topk = 5 
)
inlinevirtual

Fast path predictions given a row of flexible_types.

Parameters
[in]rowsList of rows (each row is a flex_dict)
[in]missing_value_actionMissing value action string
[in]output_typeOutput type.
[in]topkNumber of classes to return

Reimplemented in turi::supervised::logistic_regression, and turi::supervised::xgboost::xgboost_model.

Definition at line 388 of file supervised_learning.hpp.

◆ get_current_options()

const std::map<std::string, flexible_type>& turi::ml_model_base::get_current_options ( ) const
inherited

Get current options.

Returns
Dictionary containing current options.

Python side interface

Interfaces with the get_current_options function in the Python side.

◆ get_default_options()

std::map<std::string, flexible_type> turi::ml_model_base::get_default_options ( ) const
inherited

Get default options.

Returns
Dictionary with default options.

Python side interface

Interfaces with the get_default_options function in the Python side.

◆ get_docstring()

const std::string& turi::model_base::get_docstring ( const std::string &  symbol)
inherited

Returns the toolkit documentation for a function or property.

◆ get_feature_names()

std::vector<std::string> turi::supervised::supervised_learning_model_base::get_feature_names ( ) const

Get names of predictor variables.

Returns
Names of features (Vector of string names).

◆ get_metadata_mapping()

std::vector<std::vector<flexible_type> > turi::supervised::supervised_learning_model_base::get_metadata_mapping ( )

Get metadata mapping.

◆ get_metric_display_name()

std::string turi::supervised::supervised_learning_model_base::get_metric_display_name ( const std::string &  metric) const

Get metric display name.

◆ get_metrics()

std::vector<std::string> turi::supervised::supervised_learning_model_base::get_metrics ( ) const

Get metrics strings.

◆ get_ml_metadata()

std::shared_ptr<ml_metadata> turi::supervised::supervised_learning_model_base::get_ml_metadata ( ) const
inline

Get ml_metadata.

Returns
Get the ml_metadata.

Definition at line 564 of file supervised_learning.hpp.

◆ get_option_info()

const std::vector<option_handling::option_info>& turi::ml_model_base::get_option_info ( ) const
inherited

Returns the option information struct for each of the set parameters.

◆ get_option_value()

const flexible_type& turi::ml_model_base::get_option_value ( const std::string &  name) const
inherited

Returns the value of an option. Throws an error if the option does not exist.

Parameters
[in]nameName of the option to get.

◆ get_property()

variant_type turi::model_base::get_property ( const std::string &  property)
inherited

Reads a property.

◆ get_state()

const std::map<std::string, variant_type>& turi::ml_model_base::get_state ( ) const
inherited

Get model.

Returns
Model map.

◆ get_target_name()

std::string turi::supervised::supervised_learning_model_base::get_target_name ( ) const

Get name of the target column.

Returns
Names of target.

◆ get_tracking_metrics()

std::vector<std::string> turi::supervised::supervised_learning_model_base::get_tracking_metrics ( ) const

Get tracking metrics strings.

◆ get_train_stats()

std::map<std::string, flexible_type> turi::supervised::supervised_learning_model_base::get_train_stats ( ) const

Get training stats.

Returns
The training stats map.

Python side interface

The dictionary returned to the user can be transfered as is to the python side. You MUST use this to return a dictionary to the object.

◆ get_value_from_state()

const variant_type& turi::ml_model_base::get_value_from_state ( std::string  key)
inherited

Returns the value of a particular key from the state.

Returns
Value of a key model_base for details.

Python side interface

From the python side, this is interfaced with the get() function or the [] operator in python.

◆ get_version()

◆ impute_missing_columns_using_current_metadata()

sframe turi::supervised::supervised_learning_model_base::impute_missing_columns_using_current_metadata ( const sframe X) const

Impute missing columns with 'None' values.

Parameters
[in]XPredictors
Returns
An SFrame with 'None' written to all columns that are missing.

◆ init()

virtual void turi::supervised::supervised_learning_model_base::init ( const sframe X,
const sframe y,
const sframe valid_X = sframe(),
const sframe valid_y = sframe(),
ml_missing_value_action  mva = ml_missing_value_action::ERROR 
)
virtual

Methods with already meaningful default implementations.

Init the model with the data.

Parameters
[in]XPredictors
[in]ytarget

Python side interface

NA.

◆ init_options()

◆ is_classifier()

◆ is_dense()

bool turi::supervised::supervised_learning_model_base::is_dense ( )
inline

Returns true if the model is a classifier.

Definition at line 576 of file supervised_learning.hpp.

◆ is_trained()

bool turi::ml_model_base::is_trained ( ) const
inherited

Is this model trained.

Returns
True if already trained.

◆ list_fields()

std::vector<std::string> turi::ml_model_base::list_fields ( )
inherited

Methods with already meaningful default implementations.

Lists all the keys accessible in the "model" map.

Returns
List of keys in the model map. model_base for details.

Python side interface

This is the function that the list_fields should call in python.

◆ list_functions()

const std::map<std::string, std::vector<std::string> >& turi::model_base::list_functions ( )
inherited

Lists all the registered functions. Returns a map of function name to array of argument names for the function.

◆ list_get_properties()

const std::vector<std::string>& turi::model_base::list_get_properties ( )
inherited

Lists all the get-table properties of the class.

◆ list_set_properties()

const std::vector<std::string>& turi::model_base::list_set_properties ( )
inherited

Lists all the set-table properties of the class.

◆ load_version()

◆ model_specific_init()

virtual void turi::supervised::supervised_learning_model_base::model_specific_init ( const ml_data data,
const ml_data validation_data 
)
inlinevirtual

Methods with no current implementation (or empty implementations)

Initialize things that are specific to your model.

Parameters
[in]dataML-Data object created by the init function.

Reimplemented in turi::supervised::logistic_regression, turi::supervised::linear_svm, turi::supervised::xgboost::xgboost_model, turi::supervised::xgboost::boosted_trees_classifier, turi::supervised::xgboost::random_forest_classifier, and turi::supervised::linear_regression.

Definition at line 622 of file supervised_learning.hpp.

◆ name()

virtual const char* turi::model_base::name ( )
pure virtualinherited

Returns the name of the toolkit class, as exposed to client code. For example, the Python proxy for this instance will have a type with this name.

Note: this function is typically overridden using the BEGIN_CLASS_MEMBER_REGISTRATION macro.

◆ num_examples()

size_t turi::supervised::supervised_learning_model_base::num_examples ( ) const

Get the number of examples in the model

Returns
Number of examples.

◆ num_features()

size_t turi::supervised::supervised_learning_model_base::num_features ( ) const

Get the number of feature columns in the model

Returns
Number of features.

◆ num_unpacked_features()

size_t turi::supervised::supervised_learning_model_base::num_unpacked_features ( ) const

Get the number of features in the model (unpacked)

Returns
Number of features.

◆ perform_registration()

virtual void turi::model_base::perform_registration ( )
virtualinherited

Declare the base registration function. This class has to be handled specially; the macros don't work here due to the override declarations.

Reimplemented in turi::model_proxy.

◆ predict() [1/2]

virtual std::shared_ptr<sarray<flexible_type> > turi::supervised::supervised_learning_model_base::predict ( const ml_data test_data,
const std::string &  output_type = "" 
)
virtual

Make predictions using a trained supervised_learning model.

Parameters
[in]test_XTest data (only independent variables)
[in]output_typeType of prediction.
Returns
ret Shared pointer to an SArray containing predicions.
Note
Already assumes that data is of the right shape.

Reimplemented in turi::supervised::xgboost::xgboost_model.

◆ predict() [2/2]

virtual std::shared_ptr<sarray<flexible_type> > turi::supervised::supervised_learning_model_base::predict ( const sframe X,
const std::string &  output_type = "" 
)
inlinevirtual

Same as predict(ml_data), but takes SFrame as input.

Definition at line 299 of file supervised_learning.hpp.

◆ predict_single_example() [1/3]

virtual flexible_type turi::supervised::supervised_learning_model_base::predict_single_example ( const ml_data_iterator it,
const prediction_type_enum &  output_type = prediction_type_enum::NA 
)
inlinevirtual

Methods with default implementations but are in-flux during the

Trees and NeuralNetworks integration

Predict for a single example.

Parameters
[in]xSingle example.
[in]output_typeType of prediction.
Returns
Prediction for a single example.

Definition at line 226 of file supervised_learning.hpp.

◆ predict_single_example() [2/3]

virtual flexible_type turi::supervised::supervised_learning_model_base::predict_single_example ( const DenseVector &  x,
const prediction_type_enum &  output_type = prediction_type_enum::NA 
)
inlinevirtual

Predict for a single example.

Parameters
[in]xSingle example.
[in]output_typeType of prediction.
Returns
Prediction for a single example.

Reimplemented in turi::supervised::logistic_regression, turi::supervised::linear_svm, and turi::supervised::linear_regression.

Definition at line 241 of file supervised_learning.hpp.

◆ predict_single_example() [3/3]

virtual flexible_type turi::supervised::supervised_learning_model_base::predict_single_example ( const SparseVector &  x,
const prediction_type_enum &  output_type = prediction_type_enum::NA 
)
inlinevirtual

Predict for a single example.

Parameters
[in]xSingle example.
[in]output_typeType of prediction.
Returns
Prediction for a single example.

Reimplemented in turi::supervised::logistic_regression, turi::supervised::linear_svm, and turi::supervised::linear_regression.

Definition at line 256 of file supervised_learning.hpp.

◆ predict_topk() [1/2]

virtual sframe turi::supervised::supervised_learning_model_base::predict_topk ( const sframe test_data,
const std::string &  output_type = "",
size_t  topk = 5 
)
inlinevirtual

Make multiclass predictions using a trained supervised_learning model.

Parameters
[in]test_XTest data (only independent variables)
[in]output_typeType of prediction.
[in]topkNumber of classes to return.
Returns
ret SFrame containing {row_id, class, output_type}.
Note
Already assumes that data is of the right shape.
Default throws error, model supporting this method should override this function.

Definition at line 326 of file supervised_learning.hpp.

◆ predict_topk() [2/2]

virtual sframe turi::supervised::supervised_learning_model_base::predict_topk ( const ml_data test_data,
const std::string &  output_type = "",
size_t  topk = 5 
)
virtual

Make multiclass predictions using a trained supervised_learning model.

Parameters
[in]test_XTest data (only independent variables)
[in]output_typeType of prediction.
[in]topkNumber of classes to return.
Returns
ret SFrame containing {row_id, class, output_type}.
Note
Already assumes that data is of the right shape.

Reimplemented in turi::supervised::xgboost::xgboost_model.

◆ register_defaults()

void turi::model_base::register_defaults ( const std::string &  fnname,
const variant_map_type &  arguments 
)
protectedinherited

Registers default argument values

◆ register_docstring()

void turi::model_base::register_docstring ( const std::pair< std::string, std::string > &  fnname_docstring)
protectedinherited

Adds a docstring for the specified function or property name.

◆ register_function()

void turi::model_base::register_function ( std::string  fnname,
const std::vector< std::string > &  arguments,
impl_fn  fn 
)
protectedinherited

Adds a function with the specified name, and argument list.

◆ register_getter()

void turi::model_base::register_getter ( const std::string &  propname,
impl_fn  getfn 
)
protectedinherited

Adds a property getter with the specified name.

◆ register_setter()

void turi::model_base::register_setter ( const std::string &  propname,
impl_fn  setfn 
)
protectedinherited

Adds a property setter with the specified name.

◆ save_impl()

◆ save_model_to_data()

void turi::model_base::save_model_to_data ( std::ostream &  out)
inherited

Save a toolkit class to a data stream.

◆ save_to_url()

void turi::model_base::save_to_url ( const std::string &  url,
const variant_map_type &  side_data = {} 
)
inherited

Save a toolkit class to disk.

Parameters
urlThe destination url to store the class.
sidedataAny additional side information

◆ set_coefs()

virtual void turi::supervised::supervised_learning_model_base::set_coefs ( const DenseVector &  coefs)
inlinevirtual

A setter for models that use Armadillo for model coefficients.

Reimplemented in turi::supervised::logistic_regression, turi::supervised::linear_svm, and turi::supervised::linear_regression.

Definition at line 432 of file supervised_learning.hpp.

◆ set_default_evaluation_metric()

virtual void turi::supervised::supervised_learning_model_base::set_default_evaluation_metric ( )
inlinevirtual

◆ set_default_tracking_metric()

virtual void turi::supervised::supervised_learning_model_base::set_default_tracking_metric ( )
inlinevirtual

◆ set_evaluation_metric()

void turi::supervised::supervised_learning_model_base::set_evaluation_metric ( std::vector< std::string >  _metrics)
inline

Set the evaluation metric. Set to RMSE by default.

Definition at line 439 of file supervised_learning.hpp.

◆ set_more_warnings()

void turi::supervised::supervised_learning_model_base::set_more_warnings ( bool  more_warnings)
inline

Set the Extra Warnings output. These warnings include telling the user about low-variance features, etc...

Definition at line 455 of file supervised_learning.hpp.

◆ set_options()

void turi::ml_model_base::set_options ( const std::map< std::string, flexible_type > &  _options)
inherited

Set one of the options in the algorithm.

The value are checked with the requirements given by the option instance.

Parameters
[in]nameName of the option.
[in]valueValue for the option.

◆ set_property()

variant_type turi::model_base::set_property ( const std::string &  property,
variant_map_type  argument 
)
inherited

Sets a property. The new value of the property should appear in the argument map under the key "value".

◆ set_tracking_metric()

void turi::supervised::supervised_learning_model_base::set_tracking_metric ( std::vector< std::string >  _metrics)
inline

Set the evaluation metric. Set to RMSE by default.

Definition at line 447 of file supervised_learning.hpp.

◆ support_missing_value()

virtual bool turi::supervised::supervised_learning_model_base::support_missing_value ( ) const
inlinevirtual

Returns true if the model can handle missing value

Reimplemented in turi::supervised::xgboost::xgboost_model.

Definition at line 628 of file supervised_learning.hpp.

◆ train()

virtual void turi::supervised::supervised_learning_model_base::train ( )
pure virtual

Methods that must be implemented in a new supervised_learning model.

Train a supervised_learning model.

Implemented in turi::supervised::logistic_regression, turi::supervised::xgboost::xgboost_model, turi::supervised::linear_svm, and turi::supervised::linear_regression.

◆ uid()

virtual const std::string& turi::model_base::uid ( )
pure virtualinherited

Returns a unique identifier for the toolkit class. It can be any unique ID. The UID is only used at runtime (to determine the concrete type of an arbitrary model_base instance) and is never stored.

Note: this function is typically overridden using the BEGIN_CLASS_MEMBER_REGISTRATION macro.

Implemented in turi::model_proxy.

Member Data Documentation

◆ state

std::map<std::string, variant_type> turi::ml_model_base::state
protectedinherited

All things python

Definition at line 206 of file ml_model.hpp.


The documentation for this class was generated from the following file: