基於sklearn的感知機python3

2021-08-11 10:46:08 字數 1967 閱讀 4433

首先,本文還是選用python裡面自帶的digits資料集

from sklearn.datasets import load_digits

digits=load_digits()

#資料標準化

from sklearn.preprocessing import standardscaler

scaler=standardscaler()

scaler.fit(digits.data)

x_scaled=scaler.transform(digits.data)

將資料和類別分別賦予x,y:

x=x_scaled

y=digits.target

劃分訓練集、測試集:

from sklearn.model_selection import train_test_split

x_train,x_test,y_train,y_test=train_test_split(x,y)

呼叫sklearn,使用感知機**:

from sklearn.neural_network import mlpclassifier

mlp=mlpclassifier(hidden_layer_sizes=(30,30,30),activation='logistic',max_iter=100)

mlp.fit(x_train,y_train)

進行**,並觀察效果:

下面我們進行調參,並觀察引數改變對**效果的影響:

from sklearn.pipeline import pipeline

from sklearn.model_selection import gridsearchcv

if __name__ == '__main__':

pipeline = pipeline([

('mlp',mlpclassifier(hidden_layer_sizes=(30,30,30),max_iter=100))

])parameters =

grid_search = gridsearchcv(pipeline, parameters,verbose=1,n_jobs=-1)

grid_search.fit(x_train, y_train)

print('最佳效果:%0.3f' % grid_search.best_score_)

print('最優引數:')

可以看到**效果有顯著提公升!

基於python的感知機

一 1 感知機可以描述為乙個線性方程,用python的偽 可表示為 sum weight i x i bias activation activation表示啟用函式,x i和weight i是分別為與當前神經元連線的其它神經元的輸入以及連線的權重。bias表示當前神經元的輸出閥值 或稱偏置 箭頭 ...

感知機自程式設計與sklearn實現

對於下面題目,分別用自程式設計和 sklearn 庫實現。已知訓練資料集d,其正例項點是x1 3,3 t,x2 4,3 t,負例項點是x3 1,1 t 1 用python 自程式設計實現感知機模型,對訓練資料集進行分類,並對比誤分類點選擇次序不同對最終結果的影響。可採用函式式程式設計或物件導向的程式...

Pytorch tensor的感知機

單層感知機的主要步驟 單層感知機梯度的推導 要進行優化的是w,對w進行梯度下降 a torch.randn 1,10 a是乙個 1,10 的向量 w torch.randn 1,10,requires grad true w是乙個可導的 1,10 的向量 1.2.經過乙個sigmoid啟用函式 o ...