生活随笔
收集整理的這篇文章主要介紹了
统计学习方法例2.1实现(转)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
對應李航《統計學習方法》
P29的
例2.1
# -*- coding: utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
# @Author: appleyuchi
# @Date: 2018-10-02 21:54:30
# @Last Modified by: appleyuchi
# @Last Modified time: 2018-10-02 21:55:51
#-*- coding:utf-8 -*-
import os
import sys
from numpy import *reload(sys)
sys.setdefaultencoding('utf-8')
#首先將書上的訓練集輸入
def loadDataset():dataset=[[3,3],[4,3],[1,1]]labels=[1,1,-1]return dataset,labels#定義sign函數
def function_sign(x):if x>=0:return 1else:return -1#算法主程序
def perceptron(dataSet,labels):dataMat=mat(dataSet) #將數據集轉換成矩陣用于計算m,n=shape(dataMat)w=mat(zeros((n,1)));b=0 #創建與示例維度相同的初始化wwhile([function_sign(i) for i in array(dataMat * w+b)]) != labels: #當預測結果與實際結果不符時則循環更新我,w,bfor i in xrange(m):if labels[i]*(dataMat[i]*w+b)<=0:w += labels[i]*dataMat[i].Tb += labels[i]return w,b
if __name__ == '__main__':dataSet,labels=loadDataset()w,b=perceptron(dataSet,labels)print w,'\n',b
總結
以上是生活随笔為你收集整理的统计学习方法例2.1实现(转)的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。