Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import matplotlib.pyplot as plt
- import pandas as pd
- import numpy as np
- from sklearn import metrics
- from sklearn.preprocessing import StandardScaler
- from sklearn.model_selection import train_test_split
- from sklearn.neural_network import MLPClassifier
- import itertools
- AllData = pd.read_csv('all_data.csv') #帶入資料
- CleanData = AllData.dropna()
- CleanData = CleanData.reset_index(drop=True)
- CleanData = CleanData.drop('mdate', axis = 1)
- CleanData = CleanData.drop('pmkt', axis = 1)
- X = CleanData.drop('Y', axis = 1)
- y = CleanData['Y']
- y = y.astype(int)
- sc = StandardScaler()
- X = sc.fit_transform(X)
- X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
- MLP= MLPClassifier(solver='adam',learning_rate_init=0.01,hidden_layer_sizes=(40,100),
- random_state=1)
- MLP.fit(X_train, y_train)
- print(metrics.classification_report(y_test, MLP.predict(X_test)))#預測出來的結果報告
- accuracy = metrics.accuracy_score(y_test, MLP.predict(X_test))
- print(accuracy)
- def plot_confusion_matrix(cm, classes,
- normalize=False,
- title='Confusion matrix',
- cmap=plt.cm.Blues):
- """
- This function prints and plots the confusion matrix.
- Normalization can be applied by setting `normalize=True`.
- """
- plt.imshow(cm, interpolation='nearest', cmap=cmap)
- plt.title(title)
- plt.colorbar()
- tick_marks = np.arange(len(classes))
- plt.xticks(tick_marks, classes, rotation=45)
- plt.yticks(tick_marks, classes)
- if normalize:
- cm = cm.astype('float') / cm.sum(axis=1)[:, np.newaxis]
- print("Normalized confusion matrix")
- else:
- print('Confusion matrix, without normalization')
- print(cm)
- thresh = cm.max() / 2.
- for i, j in itertools.product(range(cm.shape[0]), range(cm.shape[1])):
- plt.text(j, i, cm[i, j],
- horizontalalignment="center",
- color="white" if cm[i, j] > thresh else "black")
- plt.tight_layout()
- plt.ylabel('True label')
- plt.xlabel('Predicted label')
- cnf_matrix = metrics.confusion_matrix(y_test,MLP.predict(X_test))
- target_names = ['0', '1']
- plot_confusion_matrix(cnf_matrix, classes=target_names)
- plt.show()
Advertisement
Add Comment
Please, Sign In to add comment