def METHOD_NAME():
    """Test of singletask RF USF regression API."""
    featurizer = dc.feat.UserDefinedFeaturizer(
        ["user-specified1", "user-specified2"])
    tasks = ["log-solubility"]
    current_dir = os.path.dirname(os.path.abspath(__file__))
    input_file = os.path.join(current_dir, "assets/user_specified_example.csv")
    loader = dc.data.UserCSVLoader(tasks=tasks,
                                   feature_field="smiles",
                                   featurizer=featurizer)
    dataset = loader.create_dataset(input_file)
    splitter = dc.splits.RandomSplitter()
    train_dataset, test_dataset = splitter.train_test_split(dataset)
    transformers = [
        dc.trans.NormalizationTransformer(transform_y=True,
                                          dataset=train_dataset)
    ]
    for dataset in [train_dataset, test_dataset]:
        for transformer in transformers:
            dataset = transformer.transform(dataset)
    regression_metrics = [
        dc.metrics.Metric(dc.metrics.r2_score),
        dc.metrics.Metric(dc.metrics.mean_squared_error),
        dc.metrics.Metric(dc.metrics.mean_absolute_error)
    ]
    sklearn_model = RandomForestRegressor()
    model = dc.models.SklearnModel(sklearn_model)
    # Fit trained model
    model.fit(train_dataset)
    model.save()
    # Eval model on train/test
    _ = model.evaluate(train_dataset, regression_metrics, transformers)
    _ = model.evaluate(test_dataset, regression_metrics, transformers)