python機器學習-乳腺癌細胞挖掘(博主親自錄製視頻)html
author: Toby,項目合做QQ:231469242
https://www.youtube.com/watch?v=lAaCeiqE6CE&list=PLXO45tsB95cJ0U2DKySDmhRqQI9IaGxck算法
圖片識別,語音識別,藥物發現網絡
神經網絡原理:hidden layer是經過函數傳遞值dom
瞭解神經網絡,必須瞭解線性代數機器學習
神經網絡對數字識別是一層層分解函數
https://blog.csdn.net/gamer_gyt/article/details/51255448學習
scikit-learn博主使用的是0.17版本,是穩定版,固然如今有0.18發行版,二者仍是有區別的,感興趣的能夠本身官網上查看測試
scikit-learn0.17(and 以前)上對於Neural Network算法 的支持僅限於 BernoulliRBM大數據
scikit-learn0.18上對於Neural Network算法有三個 neural_network.BernoulliRBM ,neural_network.MLPClassifier,neural_network.MLPRgression
MLP是一個監督學習算法,圖1是帶一個隱藏層的MLP模型
具體可參考:點擊閱讀
1:神經網絡算法簡介
2:Backpropagation算法詳細介紹
3:非線性轉化方程舉例
4:本身實現神經網絡算法NeuralNetwork
5:基於NeuralNetwork的XOR實例
6:基於NeuralNetwork的手寫數字識別實例
7:scikit-learn中BernoulliRBM使用實例
8:scikit-learn中的手寫數字識別實例
以人腦神經網絡爲啓發,歷史上出現過不少版本,但最著名的是backpropagation
多層向前神經網絡組成部分
輸入層(input layer),隱藏層(hiddenlayer),輸出層(output layer)
神經網絡優勢和缺點
優勢:大數據高效,處理複雜模型,處理多維度數據,靈活快速
缺點:數據須要預處理
代替:TensorFlow,Keras
python sklearn建模處理乳腺癌細胞分類器
# -*- coding: utf-8 -*- """ Created on Sun Apr 1 11:49:50 2018 @author: Toby,項目合做QQ:231469242 神經網絡 """ #Multi-layer Perceptron 多層感知機 from sklearn.neural_network import MLPClassifier #標準化數據,不然神經網絡結果不許確,和SVM相似 from sklearn.preprocessing import StandardScaler from sklearn.datasets import load_breast_cancer from sklearn.model_selection import train_test_split import mglearn import matplotlib.pyplot as plt mglearn.plots.plot_logistic_regression_graph() mglearn.plots.plot_single_hidden_layer_graph() cancer=load_breast_cancer() x_train,x_test,y_train,y_test=train_test_split(cancer.data,cancer.target,stratify=cancer.target,random_state=42) mlp=MLPClassifier(random_state=42) mlp.fit(x_train,y_train) print("neural network:") print("accuracy on the training subset:{:.3f}".format(mlp.score(x_train,y_train))) print("accuracy on the test subset:{:.3f}".format(mlp.score(x_test,y_test))) scaler=StandardScaler() x_train_scaled=scaler.fit(x_train).transform(x_train) x_test_scaled=scaler.fit(x_test).transform(x_test) mlp_scaled=MLPClassifier(max_iter=1000,random_state=42) mlp_scaled.fit(x_train_scaled,y_train) print("neural network after scaled:") print("accuracy on the training subset:{:.3f}".format(mlp_scaled.score(x_train_scaled,y_train))) print("accuracy on the test subset:{:.3f}".format(mlp_scaled.score(x_test_scaled,y_test))) mlp_scaled2=MLPClassifier(max_iter=1000,alpha=1,random_state=42) mlp_scaled.fit(x_train_scaled,y_train) print("neural network after scaled and alpha change to 1:") print("accuracy on the training subset:{:.3f}".format(mlp_scaled.score(x_train_scaled,y_train))) print("accuracy on the test subset:{:.3f}".format(mlp_scaled.score(x_test_scaled,y_test))) plt.figure(figsize=(20,5)) plt.imshow(mlp.coefs_[0],interpolation="None",cmap="GnBu") plt.yticks(range(30),cancer.feature_names) plt.xlabel("columns in weight matrix") plt.ylabel("input feature") plt.colorbar()
python信用評分卡建模(附代碼,博主錄製)