}, "cervix-20000-64"],
        # ['KMeans', {'kmeans_model': True, 'mask': True}, "cervix-20000-16"],
        # ['KMeans', {'kmeans_model': True, 'mask': True}, "cervix-50000-64"],
        ['KMeans', {
            'kmeans_model': True,
            'mask': True
        }, "channel-20000-64"],
    ]

    print('Loading descriptors...')
    manager = DescriptorManager(os.path.join(wdir, 'descriptors'))

    cervixes_data = []
    cervixes_labels = []
    for c in cervixes:
        cervixes_data.append(manager.buildFeatures(c['code_name'], configs))
        cervixes_labels.append(c['type'])

    print('Feature length: ' + str(cervixes_data[0].shape))

    FOLD_SIZE = 5
    BATCH_SIZE = len(cervixes_data) // FOLD_SIZE
    WIN_PROB = 0.66
    LOS_PROB = (1 - WIN_PROB) / 2

    print('Start %d-fold cross-validation' % FOLD_SIZE)
    print('Manual win probability: %f' % WIN_PROB)
    #random.shuffle(cervixes)
    average_acc = 0
    average_log_loss_cls = 0
    average_log_loss_man = 0
Пример #2
0
                # ['LBP', {'radius': 16, 'numPoints': 48, 'mask': True}, "channel-mask"],
                # ['LBP', {'radius': 32, 'numPoints': 160, 'mask': True}, "channel-mask"],
                # ['KMeans', {'kmeans_model': True, 'mask': True}, "cervix-20000-512"],
                # ['KMeans', {'kmeans_model': True, 'mask': True}, "cervix-20000-256"],
                ['KMeans', {'kmeans_model': True, 'mask': True}, "cervix-20000-64"],
                # ['KMeans', {'kmeans_model': True, 'mask': True}, "cervix-20000-16"],
                # ['KMeans', {'kmeans_model': True, 'mask': True}, "cervix-50000-64"],
                # ['KMeans', {'kmeans_model': True, 'mask': True}, "channel-20000-64"],
            ]

    print('Loading descriptors...')

    train_data = []
    train_labels = []
    for t in train:
        train_data.append(manager.buildFeatures(t['code_name'], configs))
        train_labels.append(t['type'])

    valid_data = []
    valid_labels = []
    for v in valid:
        valid_data.append(manager.buildFeatures(v['code_name'], configs))
        valid_labels.append(v['type'])

    print('Data loaded, feature length: ' + str(train_data[0].shape))

    #model = svm.LinearSVC(C=100.0, random_state=42)
    #model = RandomForestClassifier(max_depth = 15, n_estimators=500, max_features = 100, random_state=42)
    model = RandomForestClassifier(max_depth = 15, n_estimators=500, max_features = 128, random_state=42)
    # model = AdaBoostClassifier(learning_rate=0.1, n_estimators=1000)
    model.fit(train_data, train_labels)