in domainbed_measures/experiment/regression.py [0:0]
def get_data_condition(data,
dataset=None,
environment=None,
feature_lambda=None,
normalize=False,
target_name="target_err"):
if dataset is not None:
data = data.loc[data['dataset'] == dataset]
if environment is not None:
data = data.loc[data['all_test_envs'] == environment]
data = data.drop(["dataset", "all_test_envs", "test_env"], axis=1)
# work with the normalized z-scores of targets
target = data[target_name]
if normalize == True:
target = (target - target.mean()) / (target.std() +
np.finfo(float).eps)
data = data.drop([target_name], axis=1)
if feature_lambda is not None:
if isinstance(feature_lambda, list):
drop_features = list(
set(data.columns).difference(set(feature_lambda)))
else:
drop_features = [
x for x in data.columns if feature_lambda(x) == False
]
data = data.drop(drop_features, axis=1)
# work with the normalized z-scores of features
if normalize == True:
features = (data - data.mean()) / (data.std() + np.finfo(float).eps)
else:
features = data
return features, target