exp_1 = CVExperiment(AdaBoostRegressor, feature_engineer=[euclidean_norm])
<18:12:03> Uncaught exception! OSError: could not get source code
Traceback (most recent call last):
File "D:\Anaconda3\envs\autoquant\lib\code.py", line 91, in runcode
exec(code, self.locals)
File "<input>", line 1, in <module>
File "D:\Anaconda3\envs\autoquant\lib\site-packages\hyperparameter_hunter\experiment_core.py", line 165, in __call__
return super().__call__(*args, **kwargs)
File "D:\Anaconda3\envs\autoquant\lib\site-packages\hyperparameter_hunter\experiments.py", line 752, in __init__
target_metric=target_metric,
File "D:\Anaconda3\envs\autoquant\lib\site-packages\hyperparameter_hunter\experiments.py", line 598, in __init__
target_metric=target_metric,
File "D:\Anaconda3\envs\autoquant\lib\site-packages\hyperparameter_hunter\experiments.py", line 251, in __init__
self.feature_engineer = FeatureEngineer(self.feature_engineer)
File "D:\Anaconda3\envs\autoquant\lib\site-packages\hyperparameter_hunter\feature_engineering.py", line 915, in __init__
self.add_step(step)
File "D:\Anaconda3\envs\autoquant\lib\site-packages\hyperparameter_hunter\feature_engineering.py", line 1024, in add_step
self._steps.append(self._to_step(step, stage=stage, name=name))
File "D:\Anaconda3\envs\autoquant\lib\site-packages\hyperparameter_hunter\feature_engineering.py", line 1051, in _to_step
return EngineerStep(step, name=name, stage=stage, do_validate=self.do_validate)
File "D:\Anaconda3\envs\autoquant\lib\site-packages\hyperparameter_hunter\feature_engineering.py", line 508, in __init__
self.params = params
File "D:\Anaconda3\envs\autoquant\lib\site-packages\hyperparameter_hunter\feature_engineering.py", line 643, in params
self._params = value if value is not None else get_engineering_step_params(self.f)
File "D:\Anaconda3\envs\autoquant\lib\site-packages\hyperparameter_hunter\feature_engineering.py", line 1170, in get_engineering_step_params
source_code = getsource(f)
File "D:\Anaconda3\envs\autoquant\lib\inspect.py", line 973, in getsource
lines, lnum = getsourcelines(object)
File "D:\Anaconda3\envs\autoquant\lib\inspect.py", line 955, in getsourcelines
lines, lnum = findsource(object)
File "D:\Anaconda3\envs\autoquant\lib\inspect.py", line 786, in findsource
raise OSError('could not get source code')
OSError: could not get source code
from hyperparameter_hunter.utils.learning_utils import get_boston_data
from hyperparameter_hunter import Environment, CVExperiment
from sklearn.ensemble import AdaBoostRegressor
from sklearn.model_selection import train_test_split
import numpy as np
from sklearn.preprocessing import StandardScaler, QuantileTransformer
def standard_scale(train_inputs, non_train_inputs):
s = StandardScaler()
train_inputs[train_inputs.columns] = s.fit_transform(train_inputs.values)
non_train_inputs[train_inputs.columns] = s.transform(non_train_inputs.values)
return train_inputs, non_train_inputs
def euclidean_norm(all_inputs):
all_inputs["euclidean_norm"] = all_inputs.agg(
lambda row: np.sqrt(np.sum([np.square(_) for _ in row])), axis="columns",
)
return all_inputs
def quantile_transform(train_targets, non_train_targets):
t = QuantileTransformer(output_distribution="normal", n_quantiles=100)
train_targets[train_targets.columns] = t.fit_transform(train_targets.values)
non_train_targets[train_targets.columns] = t.transform(non_train_targets.values)
return train_targets, non_train_targets, t
env = Environment(
train_dataset=get_boston_data(),
results_path="HyperparameterHunterAssets",
holdout_dataset=lambda train, _: train_test_split(train, test_size=0.1, random_state=1),
target_column="DIS",
metrics={"mae": "median_absolute_error"},
cv_type="KFold",
cv_params=dict(n_splits=5, random_state=1),
)
exp_0 = CVExperiment(AdaBoostRegressor, model_init_params={})
exp_1 = CVExperiment(AdaBoostRegressor, feature_engineer=[euclidean_norm])
Thanks for any help.
Hello,
I am getting the following error when trying to follow along this article:
https://towardsdatascience.com/hyperparameter-hunter-feature-engineering-958966818b6e
Here is the code:
CVExperiment exp_0 works but not exp_1
Thanks for any help.