def delete_nonestimator_parameters(parameters):
    """
    Delete all parameters in a parameter dictionary that are not used for the
    actual estimator.
    """
    if 'Number' in parameters.keys():
        del parameters['Number']
    if 'UsePCA' in parameters.keys():
        del parameters['UsePCA']
        del parameters['PCAType']
    if 'Imputation' in parameters.keys():
        del parameters['Imputation']
        del parameters['ImputationMethod']
        del parameters['ImputationNeighbours']
    if 'SelectFromModel' in parameters.keys():
        del parameters['SelectFromModel']
    if 'Featsel_Variance' in parameters.keys():
        del parameters['Featsel_Variance']
    if 'FeatPreProcess' in parameters.keys():
        del parameters['FeatPreProcess']
    if 'FeatureScaling' in parameters.keys():
        del parameters['FeatureScaling']
    if 'StatisticalTestUse' in parameters.keys():
        del parameters['StatisticalTestUse']
        del parameters['StatisticalTestMetric']
        del parameters['StatisticalTestThreshold']
    if 'SampleProcessing_SMOTE' in parameters.keys():
        del parameters['SampleProcessing_SMOTE']
        del parameters['SampleProcessing_SMOTE_ratio']
        del parameters['SampleProcessing_SMOTE_neighbors']
        del parameters['SampleProcessing_SMOTE_n_cores']
    if 'SampleProcessing_Oversampling' in parameters.keys():
        del parameters['SampleProcessing_Oversampling']
    return parameters
