コード例 #1
0
    fig, ax = plt.subplots(2, 4, figsize=[40, 20], sharex=True, sharey=True)
    for i in range(2):
        j = 0
        for PERPLEXITY in PERPLEXITIES:
            SELECTED_RANGES = ([(float(BOTTOMS[i]), float(TOPS[i]))])
            print(j, i, PERPLEXITY, SELECTED_RANGES)

            tsne_data = np.load(
                ('/Users/pablonavarrobarrachina/Desktop/Results FFTW/' +
                 'tSNE_results_range_{}_perplexity_{}_SNRof{}.npy').format(
                     SELECTED_RANGES, PERPLEXITY, SNR))

            # ---> Initialize DBSCAN
            dbscan = dbscan_ratio.dbscan_method(tsne_data[:, 0], tsne_data[:,
                                                                           1],
                                                stellar_parameters['binarity'],
                                                stellar_parameters,
                                                SELECTED_RANGES, SNR,
                                                PERPLEXITY)
            dbscan.normalize_data_tSNE()
            dbscan.parameter_space = pd.read_csv(
                ('/Users/pablonavarrobarrachina/Desktop/' +
                 'Results FFTW/DBSCAN_parameterspace_range_{}_perplexity_' +
                 '{}_SNRof{}_ratio_{}_iterations_{}.csv').format(
                     SELECTED_RANGES, PERPLEXITY, SNR, dbscan.ratio,
                     dbscan.iterations))
            dbscan.get_variables_from_imported_data()

            mask_singles = stellar_parameters['binarity'] == 0
            mask_recovered_binaries = ((dbscan.ratio_labels == 1) &
                                       (stellar_parameters['binarity'] == 1))
            mask_non_recovered_binaries = (
tsne_data = np.load(dirs.tsne_results +
                    'tSNE_results_range_{}_perplexity_{}_SNRof{}.npy'.format(
                        SELECTED_RANGES, PERPLEXITY, SNR))
stellar_parameters = pd.read_csv(
    dirs.data + 'stellar_parameters_duchenekrauspopulation.csv')

# DBSCAN parameters ____________________________________________________________
minEpsilon = 0.1
maxEpsilon = 0.75
min_minSamples = 25
max_minSamples = 125

# Run the main DBSCAN
dbscan = dbscan_ratio.dbscan_method(tsne_data[:, 0], tsne_data[:, 1],
                                    stellar_parameters['binarity'], minEpsilon,
                                    maxEpsilon, min_minSamples, max_minSamples,
                                    stellar_parameters, SELECTED_RANGES, SNR,
                                    PERPLEXITY)

FILENAME_DBSCAN_RESULT = (
    dirs.dbscan_results +
    'DBSCAN_parameterspace_range_{}_perplexity_{}_SNRof{}_ratio_{}_iterations_{}_randomnesscheck_{}.csv'
    .format(SELECTED_RANGES, PERPLEXITY, SNR, dbscan.ratio, dbscan.iterations,
            NUMBER_RANDOMNESS))

if os.path.isfile(FILENAME_DBSCAN_RESULT) == True:
    print('File exists already, skipping this analysis..')
    exit()

else:
    dbscan.normalize_data_tSNE()