What is the recommended (the best and/or the closest equivalent to TabPFN v1) way to use subsample_features? Do you suggest the following:
from copy import deepcopy
from tabpfn.preprocessing import default_classifier_preprocessor_configs
from tabpfn.constants import ModelInterfaceConfig
from tabpfn import TabPFNClassifier
ppcs = []
for ppc in default_classifier_preprocessor_configs():
myppc = deepcopy(ppc)
myppc.subsample_features = 500
ppcs.append(myppc)
clf = TabPFNClassifier(device='cpu', inference_config=ModelInterfaceConfig(PREPROCESS_TRANSFORMS=ppcs))
This is a bit unintuitive, as I would have expected feature subsampling to be applied globally, rather than to individual preprocessing methods.
Also, it produces the following error message, which is easy enough to fix, but suggests that the above isn't doing what I expect it to be doing (giving each of the n_estimators=4 ensemble elements a random subset of the features):
ValueError: Number of features 3072 in the input data is greater than the maximum number of features 500 officially supported by the TabPFN model. Set ignore_pretraining_limits=True to override this error!
What is the recommended (the best and/or the closest equivalent to TabPFN v1) way to use subsample_features? Do you suggest the following:
This is a bit unintuitive, as I would have expected feature subsampling to be applied globally, rather than to individual preprocessing methods.
Also, it produces the following error message, which is easy enough to fix, but suggests that the above isn't doing what I expect it to be doing (giving each of the n_estimators=4 ensemble elements a random subset of the features):
ValueError: Number of features 3072 in the input data is greater than the maximum number of features 500 officially supported by the TabPFN model. Set
ignore_pretraining_limits=Trueto override this error!