本文整理汇总了Python中sklearn.neural_network.MLPClassifier.fit方法的典型用法代码示例。如果您正苦于以下问题:Python MLPClassifier.fit方法的具体用法?Python MLPClassifier.fit怎么用?Python MLPClassifier.fit使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类sklearn.neural_network.MLPClassifier
的用法示例。
在下文中一共展示了MLPClassifier.fit方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: main
# 需要导入模块: from sklearn.neural_network import MLPClassifier [as 别名]
# 或者: from sklearn.neural_network.MLPClassifier import fit [as 别名]
def main():
enc = OneHotEncoder(n_values=[7,7,7,7,7,7])
conn = sqlite3.connect('server.db')
cursor = conn.cursor()
all_ = pandas.read_sql_query('SELECT layers.burger, labels.output, layers.layer0, layers.layer1, layers.layer2, layers.layer3, layers.layer4, layers.layer5 FROM layers,labels WHERE layers.burger = labels.burger', conn, index_col='burger')
X = all_.drop(['output'], axis=1)
y = all_['output']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.5)
clf = MLPClassifier(solver='adam', activation='relu',
verbose=False,
max_iter=10000,
tol=1e-9,
random_state=1)
X_train_categoricals = X_train[column_names]
tX_train_categoricals = enc.fit_transform(X_train_categoricals)
clf.fit(tX_train_categoricals, y_train.as_matrix().astype(int))
X_test_categoricals = X_test[column_names]
tX_test_categoricals = enc.fit_transform(X_test_categoricals)
prediction = clf.predict(tX_test_categoricals)
print(classification_report(y_test, prediction))
print_eval(y_test, prediction)
示例2: mlp_cv_architecture
# 需要导入模块: from sklearn.neural_network import MLPClassifier [as 别名]
# 或者: from sklearn.neural_network.MLPClassifier import fit [as 别名]
def mlp_cv_architecture(X,Y):
kfold = KFold(X.shape[0], n_folds = 10)
architectures = ( (500,2), (400,2), (400,100,2), (400,200,2), (400,100,50,2), (400,200,50,2) )
res_dict = {}
for architecture in architectures:
mlp = MLPClassifier( algorithm = 'sgd',
learning_rate = 'adaptive',
hidden_layer_sizes = architecture,
random_state = 1)
train_times = []
train_accuracy = []
test_accuracy = []
for train, test in kfold:
t_tr = time.time()
mlp.fit( X[train], Y[train] )
train_times.append( time.time() - t_tr )
acc_train = np.sum( np.equal( mlp.predict( X[train]), Y[train] ) ) / float(X[train].shape[0])
acc_test = np.sum( np.equal( mlp.predict( X[test]), Y[test] ) ) / float(X[test].shape[0])
train_accuracy.append( acc_train )
test_accuracy.append( acc_test )
res_dict[str(architecture)] = (np.mean(train_accuracy), np.std(train_accuracy),
np.mean(test_accuracy), np.std(test_accuracy),
np.mean(train_times), np.std(train_times))
with open('./../results/res_nncv_architecture.pkl', 'w') as f:
pickle.dump(res_dict,f)
示例3: naviBayes
# 需要导入模块: from sklearn.neural_network import MLPClassifier [as 别名]
# 或者: from sklearn.neural_network.MLPClassifier import fit [as 别名]
def naviBayes(train_X, train_y, test_X, test_y):
# print train_y
# print test_y
# model = tfMultyPerceptron(train_X, train_y, test_X, test_y)
# model.run()
time_start = time.time()
model = MLPClassifier(hidden_layer_sizes=(128, 32, 32, 128), max_iter=100, early_stopping=False, learning_rate_init=0.001,
verbose=True)
# model = MultinomialNB()
# model = BernoulliNB()
# model = KNeighborsClassifier()
# model = DecisionTreeClassifier(max_depth=20, min_samples_leaf=0.01)
# model = LinearSVC(random_state=0)
# model.fit(X, y)
model.fit(train_X, train_y)
# model_1.fit(train_X, train_y)
# model_2.fit(train_X, train_y)
# model_3.fit(train_X, train_y)
# model_4.fit(train_X, train_y)
# model_5.fit(train_X, train_y)
# All_model = [model, model_1, model_2, model_3, model_4, model_5]
# train_pre = predct_all(All_model, train_X, train_y)
# test_pre = predct_all(All_model, test_X, test_y)
time_end = time.time()
print "perceptron training cost time:{}".format(time_end - time_start)
# model = OneVsRestClassifier(SVC(kernel='linear'))
# model.fit(train_X, train_y)
# save
with open(config.BTMData + 'BayesModel/BTM_perceptron.model', 'wb') as fp:
cPickle.dump(model, fp)
# load model
# model = None
# with open(config.BTMData + 'BayesModel/bayes_BTM.model', 'rb') as fp:
# model = cPickle.load(fp)
# print 'train data set size:', len(train_y)
# result = metrics.accuracy_score(train_pre, train_y)
# 返回各自文本的所被分配到的类索引
# print"Predicting random boost train result: ", result
# print 'train data set size:', len(train_y)
# result = metrics.accuracy_score(test_pre, test_y)
# 返回各自文本的所被分配到的类索引
# print "Predicting random boost test result:", result
print 'train data set size:', len(train_y)
result = model.score(train_X, train_y)
# 返回各自文本的所被分配到的类索引
print"Predicting train result: ", result
test_result = model.score(test_X, test_y)
print "Predicting test set result: ", test_result
top_train_result = model.predict_proba(train_X)
print "top 3 predict train data accuracy rate: {}".format(cal_topThreeScore(model, top_train_result, train_y))
top_test_result = model.predict_proba(test_X)
print "top 3 predict test data accuracy rate: {}".format(cal_topThreeScore(model, top_test_result, test_y))
示例4: NeuralLearner
# 需要导入模块: from sklearn.neural_network import MLPClassifier [as 别名]
# 或者: from sklearn.neural_network.MLPClassifier import fit [as 别名]
class NeuralLearner(Learner.Learner):
def __init__(self, FeatureMask):
super(NeuralLearner, self).__init__(FeatureMask)
self.expected = FeatureMask.LabelsForAllPoints
#self.model = MLPClassifier(algorithm='sgd', hidden_layer_sizes=(64,32))
self.model = MLPClassifier(algorithm = 'sgd',
learning_rate = 'constant',
momentum = .9,
nesterovs_momentum = True,
learning_rate_init = 0.2)
def FitAndPredict(self, mask):
return self.Predict(self.Fit(mask))
def SetupInputActivations(self, FeatureMask):
arr = np.hstack([FeatureMask.ForceStd.reshape(-1,1),
FeatureMask.ForceMinMax.reshape(-1,1),
FeatureMask.CannyFilter.reshape(-1,1)])
expected = FeatureMask.LabelsForAllPoints
return arr, expected
def Fit(self, mask):
arr, expected = self.SetupInputActivations(mask)
self.model.fit(arr, expected)
def Predict(self, mask):
arr, expected = self.SetupInputActivations(mask)
return self.model.predict(arr).reshape(-1,1)
示例5: test_gradient
# 需要导入模块: from sklearn.neural_network import MLPClassifier [as 别名]
# 或者: from sklearn.neural_network.MLPClassifier import fit [as 别名]
def test_gradient():
# Test gradient.
# This makes sure that the activation functions and their derivatives
# are correct. The numerical and analytical computation of the gradient
# should be close.
for n_labels in [2, 3]:
n_samples = 5
n_features = 10
X = np.random.random((n_samples, n_features))
y = 1 + np.mod(np.arange(n_samples) + 1, n_labels)
Y = LabelBinarizer().fit_transform(y)
for activation in ACTIVATION_TYPES:
mlp = MLPClassifier(activation=activation, hidden_layer_sizes=10,
solver='lbfgs', alpha=1e-5,
learning_rate_init=0.2, max_iter=1,
random_state=1)
mlp.fit(X, y)
theta = np.hstack([l.ravel() for l in mlp.coefs_ +
mlp.intercepts_])
layer_units = ([X.shape[1]] + [mlp.hidden_layer_sizes] +
[mlp.n_outputs_])
activations = []
deltas = []
coef_grads = []
intercept_grads = []
activations.append(X)
for i in range(mlp.n_layers_ - 1):
activations.append(np.empty((X.shape[0],
layer_units[i + 1])))
deltas.append(np.empty((X.shape[0],
layer_units[i + 1])))
fan_in = layer_units[i]
fan_out = layer_units[i + 1]
coef_grads.append(np.empty((fan_in, fan_out)))
intercept_grads.append(np.empty(fan_out))
# analytically compute the gradients
def loss_grad_fun(t):
return mlp._loss_grad_lbfgs(t, X, Y, activations, deltas,
coef_grads, intercept_grads)
[value, grad] = loss_grad_fun(theta)
numgrad = np.zeros(np.size(theta))
n = np.size(theta, 0)
E = np.eye(n)
epsilon = 1e-5
# numerically compute the gradients
for i in range(n):
dtheta = E[:, i] * epsilon
numgrad[i] = ((loss_grad_fun(theta + dtheta)[0] -
loss_grad_fun(theta - dtheta)[0]) /
(epsilon * 2.0))
assert_almost_equal(numgrad, grad)
示例6: neuralNetwork
# 需要导入模块: from sklearn.neural_network import MLPClassifier [as 别名]
# 或者: from sklearn.neural_network.MLPClassifier import fit [as 别名]
def neuralNetwork():
import pydotplus
a,b,c,d,e,f = traing_test_data_set();
for feature_number in range(1, 6):
print("Feature Number : " + str(feature_number));
train_data, train_label = a[feature_number - 1], b[feature_number - 1];
test_data, test_label = c[feature_number - 1], d[feature_number - 1];
validation_data,validation_label = e[feature_number-1],f[feature_number-1];
from sklearn.neural_network import MLPClassifier
clf = MLPClassifier(solver='lbfgs', alpha=.003, hidden_layer_sizes=(10,), random_state=1, activation='relu')
clf.fit(train_data, train_label)
tot = len(test_label);
cnt = 0;
prediction = clf.predict(test_data);
for i in range(0, len(test_data)):
if clf.predict([test_data[i]])[0] != test_label[i]:
# print(str(i)+str(clf.predict([test_data[i]]))+" "+str(test_label[i]));
cnt += 1;
from sklearn.metrics import accuracy_score
from sklearn.metrics import precision_score
from sklearn.metrics import f1_score
print("Complete for Feature :" + str(feature_number));
print("Train Score : " + str(clf.score(train_data, train_label)));
print("Total test set size : " + str(len(test_label)));
print("Correct prediction : " + str(tot - cnt));
print("Incorrect Prediction : " + str(cnt));
print("Accuracy : " + str(accuracy_score(test_label, prediction) * 100.0))
print("Precision : " + str(precision_score(test_label, prediction, average='weighted') * 100.0))
print("F1 Score : " + str(f1_score(test_label, prediction, average='weighted') * 100.0))
print("Error Rate : " + str(cnt / tot * 100.0));
print("---------------------------------------\n");
示例7: neuralNetworkIteration
# 需要导入模块: from sklearn.neural_network import MLPClassifier [as 别名]
# 或者: from sklearn.neural_network.MLPClassifier import fit [as 别名]
def neuralNetworkIteration():
import pydotplus
a,b,c,d,e,f = traing_test_data_set();
alphalist = [.00001,.00003,.0001,.0003,.001,.003,.01,.03,1,10]
for feature_number in range(1, 2):
print("Feature Number : " + str(feature_number));
train_data, train_label = a[feature_number - 1], b[feature_number - 1];
test_data, test_label = c[feature_number - 1], d[feature_number - 1];
validation_data,validation_label = e[feature_number-1],f[feature_number-1];
for new_alpha in alphalist:
iteration_output = "Iteration,Training Error,Validation Error\n";
from sklearn.neural_network import MLPClassifier
clf = MLPClassifier(alpha=new_alpha, hidden_layer_sizes=(200,), random_state=1, activation='logistic',
warm_start=True,max_iter=1);
for iteration in range(1,500):
clf.fit(train_data, train_label)
prediction = clf.predict(validation_data);
from sklearn.metrics import accuracy_score
iteration_output+=str(str(iteration) +","+ str(100-clf.score(train_data, train_label)*100.0)+","+str(100-accuracy_score(validation_label, prediction) * 100.0));
iteration_output+="\n";
print(str(str(iteration) +","+ str(100-clf.score(train_data, train_label)*100.0)+","+str(100-accuracy_score(validation_label, prediction) * 100.0)))
file_name = "For All Feature. Alpha = "+str(new_alpha)+" "+" Iteration data"+".csv";
print(file_name);
datafile = open(file_name,"w",encoding="utf-8");
datafile.write(iteration_output);
datafile.close();
示例8: BCISignal
# 需要导入模块: from sklearn.neural_network import MLPClassifier [as 别名]
# 或者: from sklearn.neural_network.MLPClassifier import fit [as 别名]
class BCISignal():
def __init__(self, fs, bands, ch_names, states_labels, indexes):
self.states_labels = states_labels
self.bands = bands
self.prefilter = FilterSequence([ButterFilter((0.5, 45), fs, len(ch_names))])
self.csp_pools = [SpatialDecompositionPool(ch_names, fs, bands, 'csp', indexes) for _label in states_labels]
self.csp_transformer = None
self.var_detector = InstantaneousVarianceFilter(len(bands)*len(indexes)*len(states_labels), n_taps=fs//2)
self.classifier = MLPClassifier(hidden_layer_sizes=(), early_stopping=True, verbose=True)
#self.classifier = RandomForestClassifier(max_depth=3, min_samples_leaf=100)
def fit(self, X, y=None):
X = self.prefilter.apply(X)
for csp_pool, label in zip(self.csp_pools, self.states_labels):
csp_pool.fit(X, y == label)
self.csp_transformer = FilterStack([pool.get_filter_stack() for pool in self.csp_pools])
X = self.csp_transformer.apply(X)
X = self.var_detector.apply(X)
self.classifier.fit(X, y)
print('Fit accuracy {}'.format(sum(self.classifier.predict(X) == y)/len(y)))
def apply(self, chunk: np.ndarray):
chunk = self.prefilter.apply(chunk)
chunk = self.csp_transformer.apply(chunk)
chunk = self.var_detector.apply(chunk)
predicted_labels = self.classifier.predict(chunk)
return predicted_labels
示例9: neuralNetworkIterationLogistic
# 需要导入模块: from sklearn.neural_network import MLPClassifier [as 别名]
# 或者: from sklearn.neural_network.MLPClassifier import fit [as 别名]
def neuralNetworkIterationLogistic():
import pydotplus
a,b,c,d,e,f = traing_test_data_set();
for feature_number in range(1, 6):
iteration_output = "Iteration,Training Error,Validation Error\n";
print("Feature Number : " + str(feature_number));
train_data, train_label = a[feature_number - 1], b[feature_number - 1];
test_data, test_label = c[feature_number - 1], d[feature_number - 1];
validation_data,validation_label = e[feature_number-1],f[feature_number-1];
from sklearn.neural_network import MLPClassifier
clf = MLPClassifier(alpha=1, hidden_layer_sizes=(15,), random_state=1, activation='logistic',
warm_start=True,max_iter=1);
for iteration in range(1,350):
clf.fit(train_data, train_label)
tot = len(validation_data);
cnt = 0;
prediction = clf.predict(validation_data);
for i in range(0, len(validation_data)):
if clf.predict([validation_data[i]])[0] != validation_label[i]:
# print(str(i)+str(clf.predict([test_data[i]]))+" "+str(test_label[i]));
cnt += 1;
from sklearn.metrics import accuracy_score
from sklearn.metrics import precision_score
from sklearn.metrics import f1_score
iteration_output+=str(str(iteration) +","+ str(100-clf.score(train_data, train_label)*100.0)+","+str(100-accuracy_score(validation_label, prediction) * 100.0));
iteration_output+="\n";
print(str(str(iteration) +","+ str(100-clf.score(train_data, train_label)*100.0)+","+str(100-accuracy_score(validation_label, prediction) * 100.0)))
file_name = "Feature No "+str(feature_number)+" Iteration data"+".csv";
print(file_name);
datafile = open(file_name,"w",encoding="utf-8");
datafile.write(iteration_output);
datafile.close();
示例10: train
# 需要导入模块: from sklearn.neural_network import MLPClassifier [as 别名]
# 或者: from sklearn.neural_network.MLPClassifier import fit [as 别名]
def train():
utl.print_title('Getting data...')
X, Tc, X_test, Tc_test = dpp.getdata_arnold()
#X, Tc, X_test, Tc_test = dpp.getdata_mnist()
utl.print_title('Preparing data...')
X, X_test = dpp.scale_data(X, X_test)
T = dpp.one_hot_encode(Tc)
T_test = dpp.one_hot_encode(Tc_test)
utl.print_title('Sanity checks...')
print('Shape X:', X.shape)
print('Shape Tc:', Tc.shape)
print('Shape T:', T.shape)
print('Shape X_test:', X_test.shape)
print('Shape Tc_test:', Tc_test.shape)
print('Shape T_test:', T_test.shape)
utl.print_title('Training the network...')
classifier = MLPClassifier(solver='adam', learning_rate_init=1e-3, hidden_layer_sizes=(100), verbose=True, max_iter=200)
classifier.fit(X, T)
train_score, Pc = get_results(classifier, X, T)
test_score, Pc_test = get_results(classifier, X_test, T_test)
utl.print_title('Results:')
print('Classification counts train (target): ', np.bincount(Tc.reshape(-1)))
print('Classification counts train (prediction): ', np.bincount(Pc))
print('\nClassification counts test (target): ', np.bincount(Tc_test.reshape(-1)))
print('Classification counts test (prediction): ', np.bincount(Pc_test))
print('\nTrain score: ', train_score)
print('Test score: ', test_score)
示例11: train_on_source
# 需要导入模块: from sklearn.neural_network import MLPClassifier [as 别名]
# 或者: from sklearn.neural_network.MLPClassifier import fit [as 别名]
def train_on_source(X,Y):
print "Start Learning Net on source"
clf = MLPClassifier( algorithm = 'l-bfgs',
alpha = 1e-5,
hidden_layer_sizes = (500,2),
random_state = 1,
warm_start = 1,
max_iter = 400)
clf.fit(X,Y)
#new_loss = 0
#old_loss = 10000
#for step in range(200):
# clf.fit(X,Y)
# new_loss = clf.loss_
# # stop training, if improvement is small
# improvement = abs(new_loss - old_loss)
# print "Step:", step, "Loss:", new_loss, "Improvement:", improvement
# if improvement < 1.e-5:
# print "Training converged!"
# break
# old_loss = new_loss
print "Pretrained CLF on Source with num_iter:", clf.n_iter_
return clf
示例12: mlp_train
# 需要导入模块: from sklearn.neural_network import MLPClassifier [as 别名]
# 或者: from sklearn.neural_network.MLPClassifier import fit [as 别名]
def mlp_train(self,x_train,y_train):
scaler = StandardScaler()
scaler.fit(x_train)
x_train = scaler.transform(x_train)
clf = MLPClassifier(max_iter=500,alpha=1e-5,hidden_layer_sizes=(40,100,80),warm_start=True,random_state=0)
clf.fit(x_train,y_train)
return clf
示例13: test_adaptive_learning_rate
# 需要导入模块: from sklearn.neural_network import MLPClassifier [as 别名]
# 或者: from sklearn.neural_network.MLPClassifier import fit [as 别名]
def test_adaptive_learning_rate():
X = [[3, 2], [1, 6]]
y = [1, 0]
clf = MLPClassifier(tol=0.5, max_iter=3000, solver='sgd',
learning_rate='adaptive')
clf.fit(X, y)
assert_greater(clf.max_iter, clf.n_iter_)
assert_greater(1e-6, clf._optimizer.learning_rate)
示例14: test_tolerance
# 需要导入模块: from sklearn.neural_network import MLPClassifier [as 别名]
# 或者: from sklearn.neural_network.MLPClassifier import fit [as 别名]
def test_tolerance():
# Test tolerance.
# It should force the solver to exit the loop when it converges.
X = [[3, 2], [1, 6]]
y = [1, 0]
clf = MLPClassifier(tol=0.5, max_iter=3000, solver='sgd')
clf.fit(X, y)
assert_greater(clf.max_iter, clf.n_iter_)
示例15: fitMLPs
# 需要导入模块: from sklearn.neural_network import MLPClassifier [as 别名]
# 或者: from sklearn.neural_network.MLPClassifier import fit [as 别名]
def fitMLPs(trainIndexes, datasets):
classifiers = []
for (x,y) in datasets:
cl = MLPClassifier(algorithm='l-bfgs', alpha=1e-4, hidden_layer_sizes=(76, 30), random_state=1, momentum=0.8)
data, target = listToData(trainIndexes, x, y)
cl.fit(data, target)
classifiers.append(cl)
return classifiers