Esempio n. 1
0
def machine_learning():
	algo_list = ["knn", "svm", "gbc", "rfc", "nn"]

	# Check argument
	if request.args.get('images_directory') is None :
		return 'No "images_directory" given.'

	if request.args.get('algorithm') is None :
		return 'No "algorithm" given.'

	if request.args.get('save_directory') is None :
		return 'No "save_directory" given.'


	images_directory = request.args.get('images_directory')
	algorithm = str(request.args.get('algorithm'))
	save_directory = request.args.get('save_directory')

	# creates new MachineLearning object
	if algorithm == "nn":
		ml = MachineLearning(images_directory, save_directory, 32)
	else:
		ml = MachineLearning(images_directory, save_directory)
	
	# error detection
	if len(ml.imgs) == 0 or len(ml.labels) == 0:
		app.logger.error("No images were read!")
		return "Error: No images were read!"

	if algorithm in algo_list:
		score_train, score_test = ml.train(algorithm, ml.imgs, ml.labels)
	else:
		app.logger.warning("Unexpected algorithm choice, choosing default!")
		algorithm = "svm"
		score_train, score_test = ml.train(algorithm, ml.imgs, ml.labels)

	return '\"' + algorithm + '\":{\"train_acc\":'+str(score_train)+' ,\"val_acc\":'+str(score_test)+'}'
import pandas
import config
from sklearn.utils import resample
import MachineLearning


def binary_to_char(value):
    return 'N' if value == 0 else 'Y'


ml = MachineLearning.MachineLearning()

data = pandas.read_csv(config.DATA_PATH + 'ortopedia.csv', sep=';')

# Convertendo coluna de classificação para caractere
data.Fusao_de_Vertebras = data.Fusao_de_Vertebras.map(binary_to_char)

# Verificando balanceamento de classes
print(data.Fusao_de_Vertebras.value_counts())

# Separando dados das classes
minor = data[data['Fusao_de_Vertebras'] == 'Y']
major = data[data['Fusao_de_Vertebras'] == 'N']

# Rebalanceando a classe com menor número de registros
minor_up_sample = resample(minor,
                           replace=True,
                           n_samples=7900,
                           random_state=None)

# Criando novo dataframe com os dados balanceados
Esempio n. 3
0
if __name__ == '__main__':

    # load projects data
    try:
        raise OSError
        print('loading processed data...')
        f = open('data/projects.bin', 'rb')
        projects = pickle.load(f)
        outcomes = pickle.load(f)
        train_idx = pickle.load(f)
        test_idx = pickle.load(f)
        f.close()

        print('training models')
        ml = mlp.MachineLearning()
        ml.training_data = projects
        ml.training_labels = outcomes[:, 1]
        ml.preprocessTrain(0)
        ml.preprocessTest()
        ml.trainModel(1)
        preds = ml.predict()

        print('saving prediction to file')
        sample = pd.read_csv('./data/sampleSubmission.csv')
        sample['is_exciting'] = preds
        sample.to_csv('predictions.csv', index=False)

        #print projects.ix[train_idx].shape
        #print projects.ix[test_idx].shape