感知機是乙個非常基礎的二分類的演算法,是演算法小白入門機器學習的必學內容,是神經網路和svm的基礎。好了,不蝦扯蛋了,上**。
# 感知機實現鳶尾花資料集的分類
import pandas as pd
import numpy as np
from sklearn.datasets import load_iris
# 匯入線性模型中的感知機模型
from sklearn.linear_model import perceptron
iris = load_iris()
# 將鳶尾花中的資料轉化為pandas中的資料形式
df = pd.dataframe(iris.data,columns=iris.feature_names)
# 將鳶尾花資料集中的標籤定義為資料框的標籤
df['label'] = iris.target
# 定義資料集
df.columns = ['sepal length','sepal width','petal length','petal width','label']
# 統計鳶尾花資料集中各個標籤類別的樣本個數
df.label.value_counts()
data = np.array(df.iloc[:100,[0,1,-1]]) #iloc['row','column'] # 轉移了df中的資料
# 切片的應用 索引data變數中的第0和第1列
x = data[:,:-1]
# 切片的應用 索引data中的最後一列
y = data[:,-1]
y = np.array([1 if i ==1 else -1 for i in y])
clf = perceptron(fit_intercept=true,max_iter=1000,shuffle=false)
# 採用感知機模型進行線性分類器擬合,擬合的資料為x和y
clf.fit(x,y)
# 求出權重向量引數值
print(clf.coef_)
# 求出截距項引數值
print(clf.intercept_)
我已經注釋的很明白了,你們要是再看不懂,那我這口老血都要吐出來了。
不要問我為什麼不能視覺化,問就是不會。
**小總結:**其實這部分**最重要的部分就是利用pandas和numpy進行特徵資料處理的部分,建議大家可以集中學習一下pandas和numpy,受益非淺,利用python進行機器學習,我覺得我們能做的最重要的部分也就是資料預處理部分了,這部分內容的確很豐富,其他部分就是調包,調包,還是調包。
python實現感知機
import numpy as np 定義啟用函式 def acti fun x return 1 if x 0 else 0 建立感知器類 class perception object 初始化權重 def init self self.weights 0 self.bias 1 定義訓練函式,包...
python實現AND感知機
and感知機通過訓練後,可以進行邏輯 與 的運算。例如 當輸入 1,1時,輸出為1 輸入1,0時,輸出為0。通過上圖,我們可以發現 0,0 0,1 1,0 這三個點數表示輸出為0,而點 1,1 表示輸出為1,所以我們可以近似找到一條直線將輸出為0的點與輸出為1的點分隔開。我們可以通過不斷訓練係數 即...
感知機python實現
有用請點贊,沒用請差評。感知機原理參考部落格 演算法引用李航博士 統計學習方法 p29.感知機 import numpy as np import matplotlib.pyplot as plt class perceptron object def init self,eta 1,iter 50...