= untar_data(URLs.ADULT_SAMPLE)
path = pd.read_csv(path/'adult.csv')
df = ['workclass', 'education', 'marital-status', 'occupation', 'relationship', 'race']
cat_names = ['age', 'fnlwgt', 'education-num']
cont_names = [Categorify, FillMissing, Normalize]
procs = TabularDataLoaders.from_df(df, path, procs=procs, cat_names=cat_names, cont_names=cont_names,
dls ="salary", valid_idx=list(range(800,1000)), bs=64)
y_names= tabular_learner(dls) learn
Tabular learner
Learner
ready to train for tabular data
The main function you probably want to use in this module is tabular_learner
. It will automatically create a TabularModel
suitable for your data and infer the right loss function. See the tabular tutorial for an example of use in context.
Main functions
TabularLearner
Learner
for tabular data
It works exactly as a normal Learner
, the only difference is that it implements a predict
method specific to work on a row of data.
tabular_learner
tabular_learner (dls:TabularDataLoaders, layers:list=None, emb_szs:list=None, config:dict=None, n_out:int=None, y_range:Tuple=None, loss_func:callable|None=None, opt_func:Optimizer|OptimWrapper=<function Adam>, lr:float|slice=0.001, splitter:callable=<function trainable_params>, cbs:Callback|MutableSequence|None=None, metrics:callable|MutableSequence|None=None, path:str|Path|None=None, model_dir:str|Path='models', wd:float|int|None=None, wd_bn_bias:bool=False, train_bn:bool=True, moms:tuple=(0.95, 0.85, 0.95), default_cbs:bool=True)
Get a Learner
using dls
, with metrics
, including a TabularModel
created using the remaining params.
If your data was built with fastai, you probably won’t need to pass anything to emb_szs
unless you want to change the default of the library (produced by get_emb_sz
), same for n_out
which should be automatically inferred. layers
will default to [200,100]
and is passed to TabularModel
along with the config
.
Use tabular_config
to create a config
and customize the model used. There is just easy access to y_range
because this argument is often used.
All the other arguments are passed to Learner
.
TabularLearner.predict
TabularLearner.predict (row:pandas.core.series.Series)
Predict on a single sample
Type | Details | |
---|---|---|
row | Series | Features to be predicted |
We can pass in an individual row of data into our TabularLearner
’s predict
method. It’s output is slightly different from the other predict
methods, as this one will always return the input as well:
= learn.predict(df.iloc[0]) row, clas, probs
row.show()
workclass | education | marital-status | occupation | relationship | race | education-num_na | age | fnlwgt | education-num | salary | |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | Private | Assoc-acdm | Married-civ-spouse | #na# | Wife | White | False | 49.0 | 101320.001685 | 12.0 | <50k |
clas, probs
(tensor(0), tensor([0.5264, 0.4736]))