示例#1
0
def test_som():

	cur = enable_connection()

	companies_data = data_fetch.get_data(cur)
	companies_names = data_fetch.get_names(cur)
	#print(companies_data.shape)
	#print(companies_data)
	most_similar_companies = similarity_func(companies_data[13], companies_data, companies_names, 5)
	#print(most_similar_companies)
	print(list(most_similar_companies.values()))
	for company_id, company_distance in most_similar_companies.items():
		#print(company_id)
		print(companies_names[int(company_id)])
		print(company_distance)
	#print(companies_names[list(most_similar_companies.keys())])
	# c1 = np.random.rand(50, 3)/5
	# c2 = (0.6, 0.1, 0.05) + np.random.rand(50, 3)/5
	# c3 = (0.4, 0.1, 0.7) + np.random.rand(50, 3)/5
	# data = np.float32(np.concatenate((c1, c2, c3)))
	
	# fig = plt.figure()
	# ax = Axes3D(fig)
	# ax.scatter(data[:, 0], data[:, 1], data[:, 2], c=colors)
	# labels = range(150)

	dim_multiplier = 2
	n_rows, n_columns = companies_data.shape[0] * dim_multiplier, \
					    companies_data.shape[1] * dim_multiplier
	som = somoclu.Somoclu(n_columns, n_rows, maptype="toroid",
                       compactsupport=False)
	colors = ["red"] * 60
	colors.extend(["green"] * 60)
	colors.extend(["blue"] * 61)
	unit_labels = range(181)
	som.train(companies_data, epochs=1)
	som.view_umatrix(bestmatches=True, labels=companies_names)
	activation_map = som.get_surface_state()
	# bestmatchs = som.get_bmus(activation_map)
	# print(activation_map)
	# print(bestmatchs)
	# #print(som.activation_map)
	# som.view_component_planes()
	plt.savefig('pic8.png')
示例#2
0
    criterion = boundary_distance_BCE
elif LOSS_NUM == 4:
    print("Using distance weighted Dice")
    criterion = boundary_distance_dice
elif LOSS_NUM == 5:
    print("Using Lovasz")
    criterion = lovasz_hinge_loss
elif LOSS_NUM == 6:
    criterion = lovasz_hinge


# Pick optimizer
optimizer = Adam(model.parameters(), lr=LR)

print("Reading data")
all_data, labels, img_name, class_labels = get_data(num_points_fetch)
all_data = all_data / 255.0
print("Loaded data")

if LOSS_NUM == 3 or LOSS_NUM == 4:
    print("calculating weights")
    obj = DistToBoundary(labels)
    rowWts, colWts = obj.computeWeights()
    weights = 5 * np.exp(-(rowWts + colWts)/50.0)

# Split data into train and test

test_data = all_data[train_num_pts:]
test_label = labels[train_num_pts:]

all_data = all_data[:train_num_pts]
示例#3
0
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import cross_validate
from data_fetch import get_data

data_sets = [
    "Breast Cancer", "Blood Transfusion", "Diabetes", "Credit Scores",
    "Oil Spill"
]

#####################        Set varibles              ###########################

dataset = data_sets[0]  # pick data set
FOLDS = 5  # set # of folds for cross validation
clf = RandomForestClassifier()  # choose classifier

####################          Get data                  ###########################

features, labels = get_data(dataset)

###################          Fit classifier            ###########################

result = cross_validate(clf, features, labels, cv=FOLDS)

###################          Display result          ###########################

print("Cv results")
for res in result["test_score"]:
    print(res)