Machine Learning API

class sdc_scissor.machine_learning_api.csv_loader.CSVLoader
static load_dataframe_from_csv(data_path: Path)
Parameters:

data_path

Returns:

class sdc_scissor.machine_learning_api.model_evaluator.ModelEvaluator(data_frame: DataFrame, label: str, features=('full_road_diversity', 'mean_road_diversity', 'direct_distance', 'max_angle', 'max_pivot_off', 'mean_angle', 'mean_pivot_off', 'median_angle', 'median_pivot_off', 'min_angle', 'min_pivot_off', 'num_l_turns', 'num_r_turns', 'num_straights', 'road_distance', 'std_angle', 'std_pivot_off', 'total_angle'))
__init__(data_frame: DataFrame, label: str, features=('full_road_diversity', 'mean_road_diversity', 'direct_distance', 'max_angle', 'max_pivot_off', 'mean_angle', 'mean_pivot_off', 'median_angle', 'median_pivot_off', 'min_angle', 'min_pivot_off', 'num_l_turns', 'num_r_turns', 'num_straights', 'road_distance', 'std_angle', 'std_pivot_off', 'total_angle'))
Parameters:
  • data_frame

  • label

  • features

cv_stratified()

Performing 10-fold cross validation and assess the following metrics: - Accuracy - Precision - Recall - F1 The results will be printed to STDOUT.

Returns:

None

model_evaluation_with_balanced_training()
save_models(out_dir: Path)
Parameters:

out_dir

class sdc_scissor.machine_learning_api.predictor.Predictor(test_loader: TestLoader, joblib_classifier: Path, label='safety')
__init__(test_loader: TestLoader, joblib_classifier: Path, label='safety')
Parameters:
  • test_loader

  • joblib_classifier

  • label

predict()

Predict the outcome of the tests and saves is as a json property to the test file.

class sdc_scissor.machine_learning_api.cost_effectiveness_evaluator.CostEffectivenessEvaluator(classifier, data_frame: DataFrame, label: str, time_attribute: str)
__init__(classifier, data_frame: DataFrame, label: str, time_attribute: str)
Parameters:
  • classifier

  • data_frame

  • label

  • time_attribute

evaluate_with_random_baseline(train_split=0.8, top_k=5)

Evaluate the cost-effectiveness of SDC-Scissor.

evaluate_with_longest_roads(train_split=0.8, top_k=5)