''' Created on Jul 4, 2017 @author: David ''' import numpy as np import cPickle as pickle from sklearn.neural_network import MLPClassifier data = [] labels = [] def train_classifier(data_file, hidden_layers, learning_rate): with open(data_file, "r") as f: for l in f: if l.startswith("@"): continue if not l.strip(): continue values,target = l.rstrip().rsplit(",", 1) values = np.array(values.split(","), dtype='float64') data.append(values) labels.append(target) pname = data_file+"-mlp-"+"_".join([str(x) for x in hidden_layers])+"_"+str(learning_rate)+".pickle" print(pname) classifier = MLPClassifier(hidden_layer_sizes=hidden_layers, max_iter=1000, learning_rate_init=learning_rate) classifier.fit(data,labels) pickle.dump(classifier, open(pname, "wb"), protocol=2) return pname