資源簡介
Learning From Data(書本和答案以及配圖)
代碼片段和文件信息
#?-*-?coding:?utf-8?-*-
“““
Created?on?Thu?Jun?14?16:31:48?2018
@author:?Administrator
“““
#?-*-?coding:?utf-8?-*-
import?random
import?numpy?as?np
import?matplotlib.pyplot?as?plt
plt.rcParams[‘font.sans-serif‘]=[‘SimHei‘]?#用來正常顯示中文標簽
plt.rcParams[‘axes.unicode_minus‘]=False?#用來正常顯示負號
#定義函數GenerateData(nlowupw),生成n組數據每個分量的下界為low上界為upw為目標直線
def?GenerateData(nlowupw):
????m=len(w)
????data=[]
????X1=np.array([])
????Y1=np.array([])
????X2=np.array([])
????Y2=np.array([])
????while(len(data) ????????x=np.array(1)
????????x=np.append(xnp.random.uniform(lowupsize=m-1))
????????if(x.dot(w)>=0.1):
????????????X1=np.append(X1x[1])
????????????Y1=np.append(Y1x[2])
????????????x=np.append(x1)
????????elif(x.dot(w)<=-0.1):
????????????X2=np.append(X2x[1])
????????????Y2=np.append(Y2x[2])
????????????x=np.append(x-1)
????????data.append(np.array(x))
????return?dataX1Y1X2Y2
#定義函數Adaline(nmkw0lowupiteration=1000),n組訓練數據,m組測試數據,參數為kw0為目標函數,iteration為迭代次數
#數據每個分量下界為low上界為up
def?Adaline(nmkw0lowupiteration=1000):
????d=len(w0)
????#首先生成n組訓練數據
????dataX1Y1X2Y2=GenerateData(nlowupw0)
????#測試數據集
????test=GenerateData(mlowupw0)[0]
????
????#定義sign函數
????def?sign(x):
????????if?x>=0:
????????????return?1
????????else:
????????????return?-1
????
????#定義判別函數,判斷所有數據是否分類完成
????def?Judge(xw):
????????flag=1
????????for?i?in?x:
????????????if?sign(i[:d].dot(w))*i[-1]<0:
????????????????flag=0
????????????????break
????????return?flag
????
????#記錄次數
????T=0
????#初始化w注意這里不能初始化為0
????w=np.ones(d)
????while(Judge(dataw)==0?and?T ????????i=data[random.randint(0n-1)]
????????s=i[:d].dot(w)
????????a=s*i[-1]
????????if?a<=1:
????????????w+=k*(i[-1]-s)*i[:d]
????????????T+=1
????
????#計算錯誤率
????error=0
????#print(type(test))
????for?i?in?test:
????????if?sign(i[:3].dot(w))*i[-1]<0:
????????????error+=1
????print(“n為“+str(k)+“時錯誤率為“+str(error/m))
????
????#直線方程為w0+w1*x+w2*y=0根據此生成點
????X3=np.arange(lowup0.01)
????Y3=np.array([(X3[i]*w[1]+w[0])/(-w[2])?for?i?in?range(len(X3))])
????#目標函數
????X4=np.arange(lowup0.01)
????Y4=np.array([(X3[i]*w0[1]+w0[0])/(-w0[2])?for?i?in?range(len(X4))])
????#畫出圖片
????plt.scatter(X1Y1c=‘r‘s=1)
????plt.scatter(X2Y2c=‘b‘s=1)
????plt.plot(X3Y3label=“(“+str(w[0])+“)+(“+str(w[1])+“)x+(“+str(w[2])+“)y=0“)
????plt.plot(X4Y4label=“(“+str(w0[0])+“)+(“+str(w0[1])+“)x+(“+str(w0[2])+“)y=0“)
????plt.title(u“經過“+str(T)+u“次迭代“)
????#設置坐標范圍
????#plt.xticks(np.arange(010))
????#plt.yticks(np.arange(010))
????plt.legend()
????plt.show()
????
Adaline(1000100001np.array([1-1-1])01)
Adaline(1000100000.1np.array([1-1-1])01)
Adaline(1000100000.01np.array([1-1-1])01)
Adaline(1000100000.001np.array([1-1-1])01)
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-12-14?16:06??Learning-from-data-master\
?????文件??????????66??2018-12-14?16:06??Learning-from-data-master\.gitattributes
?????目錄???????????0??2018-12-14?16:06??Learning-from-data-master\Chapter1\
?????文件??????366073??2018-12-14?16:06??Learning-from-data-master\Chapter1\Chapter?1?The?Learning?Problem.ipynb
?????文件?????1762853??2018-12-14?16:06??Learning-from-data-master\Chapter1\Chapter?1?The?Learning?Problem.pdf
?????文件????????3113??2018-12-14?16:06??Learning-from-data-master\Chapter1\Problem?1.5?(Page?35).py
?????目錄???????????0??2018-12-14?16:06??Learning-from-data-master\Chapter1\md\
?????文件???????55515??2018-12-14?16:06??Learning-from-data-master\Chapter1\md\Chapter?1?The?Learning?Problem.md
?????文件???????10846??2018-12-14?16:06??Learning-from-data-master\Chapter1\md\output_12_0.png
?????文件????????5320??2018-12-14?16:06??Learning-from-data-master\Chapter1\md\output_27_0.png
?????文件????????5559??2018-12-14?16:06??Learning-from-data-master\Chapter1\md\output_27_1.png
?????文件????????5413??2018-12-14?16:06??Learning-from-data-master\Chapter1\md\output_27_2.png
?????文件???????13180??2018-12-14?16:06??Learning-from-data-master\Chapter1\md\output_31_0.png
?????文件???????11861??2018-12-14?16:06??Learning-from-data-master\Chapter1\md\output_44_0.png
?????文件???????17653??2018-12-14?16:06??Learning-from-data-master\Chapter1\md\output_50_0.png
?????文件???????17044??2018-12-14?16:06??Learning-from-data-master\Chapter1\md\output_52_0.png
?????文件???????23429??2018-12-14?16:06??Learning-from-data-master\Chapter1\md\output_54_0.png
?????文件????????4778??2018-12-14?16:06??Learning-from-data-master\Chapter1\md\output_58_0.png
?????文件???????22021??2018-12-14?16:06??Learning-from-data-master\Chapter1\md\output_63_1.png
?????文件???????22126??2018-12-14?16:06??Learning-from-data-master\Chapter1\md\output_64_1.png
?????文件???????21105??2018-12-14?16:06??Learning-from-data-master\Chapter1\md\output_65_1.png
?????文件???????19508??2018-12-14?16:06??Learning-from-data-master\Chapter1\md\output_66_1.png
?????文件???????10859??2018-12-14?16:06??Learning-from-data-master\Chapter1\md\output_75_0.png
?????目錄???????????0??2018-12-14?16:06??Learning-from-data-master\Chapter2\
?????文件??????427376??2018-12-14?16:06??Learning-from-data-master\Chapter2\Chapter2?Training?versus?Testing.ipynb
?????文件?????2795276??2018-12-14?16:06??Learning-from-data-master\Chapter2\Chapter2?Training?versus?Testing.pdf
?????目錄???????????0??2018-12-14?16:06??Learning-from-data-master\Chapter2\md\
?????文件???????79900??2018-12-14?16:06??Learning-from-data-master\Chapter2\md\Chapter2?Training?versus?Testing.md
?????文件???????28603??2018-12-14?16:06??Learning-from-data-master\Chapter2\md\output_105_0.png
?????文件???????11052??2018-12-14?16:06??Learning-from-data-master\Chapter2\md\output_130_0.png
?????文件????????5327??2018-12-14?16:06??Learning-from-data-master\Chapter2\md\output_21_0.png
............此處省略221個文件信息
- 上一篇:現代處理器設計
- 下一篇:C6678創龍用戶手冊資料
評論
共有 條評論