sk learn 學習筆記八

2021-08-27 16:06:01 字數 1989 閱讀 8127

感知器通常用下面的圖形表示:

x1, 和是輸入單元。每個輸入單元分別代表乙個特徵。感知器通常用另外乙個輸入單元代表乙個常用誤差項,但是這個輸入單元在圖形中通常被忽略了。中間的圓圈是乙個計算單元,類似神經元的細胞核。連線輸入單元和計算單元的邊類似於樹突。每條邊是乙個權重,或者是乙個引數。引數容易解釋,如果某個解釋變數與陽性型別(positive class)相關,其權重為正,某個解釋變數與陰性型別(negative class)相關,其權重為負。連線計算單元和輸出單元的邊類似軸突。

感知器通過使用激勵函式(activation function )處理解釋變數和模型引數的線性組合對樣本分類,計算公式如下所示。解釋變數和模型引數的線性組合有時也稱為感知器的預激勵(preactivation)。

其中, 是模型引數, 是常誤差項,

常用的激勵函式:

1:階躍函式:

2:邏輯s形(logistic sigmoid )激勵函式:

scikit-learn提供了感知器功能。和我們用過的其他功能類似,perceptron類的構造器接受超引數設定。perceptron類fit_transform()和predict()方法。perceptron類還提供了partial_fit()方法,允許分類器訓練流式資料(streaming data)並做出**。

from sklearn.datasets import fetch_20newsgroups

from sklearn.metrics import f1_score, classification_report

from sklearn.feature_extraction.text import tfidfvectorizer

from sklearn.linear_model import perceptron

categories = ['rec.sport.hockey', 'rec.sport.baseball', 'rec.autos']

newsgroups_train = fetch_20newsgroups(subset='train', categories=categori

es, remove=('headers', 'footers', 'quotes'))

newsgroups_test = fetch_20newsgroups(subset='test', categories=categories

, remove=('headers', 'footers', 'quotes'))

vectorizer = tfidfvectorizer()

x_train = vectorizer.fit_transform(newsgroups_train.data)

x_test = vectorizer.transform(newsgroups_test.data)

classifier = perceptron(n_iter=100, eta0=0.1)

classifier.fit_transform(x_train, newsgroups_train.target)

predictions = classifier.predict(x_test)

print(classification_report(newsgroups_test.target, predictions))

輸出結果如下:

sklearn學習筆記

1.波士頓房價線性回歸模型 from sklearn import datasets from sklearn.linear model import linearregression boston datasets.load boston data x boston.data y boston.t...

sklearn學習筆記

決策樹一般採用整合,具有隨機,不純度最優 from sklearn import tree from sklearn.datasets import load wine from sklearn.model selection import train test split 用於劃分訓練測試集數目 ...

sklearn學習筆記

from sklearn.datasets import load iris from sklearn.model selection import train test split from sklearn.feature extraction import dictvectorizer from...