python minmaxscaler_python MLP 神经网络使用 MinMaxScaler 没有 StandardScaler效果好

MLP 64,2  preprocessing.MinMaxScaler().fit(X)

test confusion_matrix:

[[129293   2734]

[   958  23375]]

precision    recall  f1-score   support

0       0.99      0.98      0.99    132027

1       0.90      0.96    0.93     24333

avg / total       0.98      0.98      0.98    156360

all confusion_matrix:

[[646945  13384]

[  4455 117015]]

precision    recall  f1-score   support

0       0.99      0.98      0.99    660329

1       0.90      0.96      0.93    121470

avg / total       0.98      0.98      0.98    781799

black verify confusion_matrix:

[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0

0 0 0 0 0]

/root/anaconda2/lib/python2.7/site-packages/sklearn/metrics/classification.py:1137: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples.

'recall', 'true', average, warn_for)

precision    recall  f1-score   support

0       0.00      0.00      0.00         0

1       1.00      0.07      0.13        42

avg / total       1.00      0.07      0.13        42

white verify confusion_matrix:

[1 1 1 1 1 1 0]

precision    recall  f1-score   support

0       1.00      0.14      0.25         7

1       0.00      0.00      0.00         0

avg / total       1.00      0.14      0.25         7

unknown_verify:

[1 0 0 1 1 0 0 0 1 1 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1

0 1 1 1 1 0 1 0 0 1 0 1 0 1 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 1 1 0 0 1 0 0 0]

MLP 64,2 使用preprocessing.StandardScaler().fit(X)

[[131850    180]

[   230  24100]]

precision    recall  f1-score   support

0       1.00      1.00      1.00    132030

1       0.99      0.99   0.99     24330

avg / total       1.00      1.00      1.00    156360

all confusion_matrix:

[[659500    829]

[  1195 120275]]

precision    recall  f1-score   support

0       1.00      1.00      1.00    660329

1       0.99      0.99      0.99    121470

avg / total       1.00      1.00      1.00    781799

black verify confusion_matrix:

[0 1 1 0 0 0 0 1 1 1 0 1 1 1 1 1 1 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1

0 0 0 1 1]

/root/anaconda2/lib/python2.7/site-packages/sklearn/metrics/classification.py:1137: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples.

'recall', 'true', average, warn_for)

precision    recall  f1-score   support

0       0.00      0.00      0.00         0

1       1.00      0.62      0.76        42

avg / total       1.00      0.62      0.76        42

white verify confusion_matrix:

[0 0 1 0 1 1 0]

precision    recall  f1-score   support

0       1.00      0.57      0.73         7

1       0.00      0.00      0.00         0

avg / total       1.00      0.57      0.73         7

unknown_verify:

[1 0 0 0 1 0 1 1 0 0 1 0 1 1 0 1 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 1 0 0

0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0]

代码:

from sklearn import preprocessing

scaler = preprocessing.StandardScaler().fit(X)

#scaler = preprocessing.MinMaxScaler().fit(X)

X = scaler.transform(X)

print("standard X sample:", X[:3])

black_verify = scaler.transform(black_verify)

print(black_verify)

white_verify = scaler.transform(white_verify)

print(white_verify)

unknown_verify = scaler.transform(unknown_verify)

print(unknown_verify)

# ValueError: operands could not be broadcast together with shapes (756140,75) (42,75) (756140,75)

for i in range(20):

X = np.concatenate((X, black_verify))

y += black_verify_labels

labels = ['white', 'CC']

if True:

# pdb.set_trace()

ratio_of_train = 0.8

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=(1 - ratio_of_train))

# X_train=preprocessing.normalize(X_train)

# X_test=preprocessing.normalize(X_test)

clf = MLPClassifier(solver='sgd', batch_size=128, learning_rate='adaptive', max_iter=256,

hidden_layer_sizes=(64, 2), random_state=1)

"""

clf = sklearn.ensemble.RandomForestClassifier(n_estimators=n_estimators, verbose=verbose, n_jobs=n_jobs,

random_state=random_state, oob_score=True)

"""

clf.fit(X_train, y_train)

print "test confusion_matrix:"

# print clf.feature_importances_

y_pred = clf.predict(X_test)

print(sklearn.metrics.confusion_matrix(y_test, y_pred))

print(classification_report(y_test, y_pred))

else:

#clf = pickle.loads(open("mpl-acc97-recall98.pkl", 'rb').read())

clf = pickle.loads(open("mlp-add-topx10.model", 'rb').read())

y_pred = clf.predict(X)

print(sklearn.metrics.confusion_matrix(y, y_pred))

print(classification_report(y, y_pred))

import sys

#sys.exit(0)

print "all confusion_matrix:"

y_pred = clf.predict(X)

print(sklearn.metrics.confusion_matrix(y, y_pred))

print(classification_report(y, y_pred))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值