}, "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
# ['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)