課程
/后端開發
/Python
/機器學習-實現簡單神經網絡
請問老師~代碼可不要上傳到git上
2017-05-23
源自:機器學習-實現簡單神經網絡 3-5
正在回答
由于連接方在一段時間內沒有正確答復或連接的主機沒有反映,連接嘗試失敗,請問這個連接是失效了嘛?
#?coding=utf-8 import?numpy?as?np #分類器代碼 class?Perceptron(object): ????""" ????eta:學習率 ????n_iter:權重向量的訓練次數 ????w_:神經分叉權重向量 ????errors_:用于記錄神經元判斷出錯次數 ????""" ????def?__init__(self,eta?=?0.01,n_iter?=?10): ????????self.eta?=?eta; ????????self.n_iter?=?n_iter ????????pass ????def?fit(self,X,y): ????????""" ????????輸入訓練數據,培訓神經元 ????????:param?X:?輸入樣本向量 ????????:param?y:?對應樣本分類 ???????? ????????X:shape[n_samples,?n_features] ????????X:[[1,2,3],[4,5,6]] ????????n_samples?:2 ????????n_features:3 ???????? ????????y:[1,-1] ????????""" ????????""" ????????初始化向量為0 ????????加一是因為步調函數閾值 ????????""" ????????self.w_?=np.zeros(1+X.shape[1]); ????????self.errors_=[] ????????for?_?in?range(self.n_iter): ????????????errors?=?0 ????????????for?xi,?target?in?zip(X,y): ????????????????update?=?self.eta*(target?-?self.predict(xi)) ????????????????self.w_[1:]+=?update?*?xi ????????????????self.w_[0]?+=?update; ????????????????errors?+=?int(update!=?0) ????????????????self.errors_.append(errors) ????????????????pass ????????????pass ????def?net_input(self,X): ????????return?np.dot(X,self.w_[1:]+self.w_[0]) ????????pass ????def?predict(self,X): ????????return?np.where(self.net_input(X)>=0.0,1,-1) ????????pass import?pandas?as?pd file?=?'https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data' df?=?pd.read_csv(file,header=None) import?matplotlib.pyplot?as?plt y?=?df.loc[0:100,4].values y=np.where(y=='Iris-setosa',-1,1) #根據整數位置選取單列或單行數據 X?=?df.loc[0:100,[0,2]].values plt.scatter(X[:50,0],X[:50,1],color='red',marker='o',label="setosa") plt.scatter(X[50:100,0],X[50:100,1],color='blue',marker='x',label="versicolor") plt.xlabel('huabanchangdu') plt.ylabel('huajingchangdu') plt.legend(loc='upper?left') ppn?=Perceptron(eta=0.1,n_iter=10) ppn.fit(X,y) from?matplotlib.colors?import?ListedColormap def?plot_decision_region(X,y,classifier,resolution=0.02): ????markers=('s','x','o','v') ????colors=('red','blue','lightgreen','gray','cyan') ????cmap?=?ListedColormap(colors[:len(np.unique(y))]) ????x1_min?,x1_max?=?X[:,0].min()-1,X[:,0].max() ????x2_min,?x2_max?=?X[:,?1].min()?-?1,?X[:,?1].max() ????xx1,xx2?=?np.meshgrid(np.arange(x1_min,x1_max,resolution), ??????????????????????np.arange(x2_min,?x2_max,?resolution)) ????Z?=classifier.predict(np.array([xx1.ravel(),xx2.ravel()]).T) ????print?(xx1.ravel()) ????print(xx2.ravel()) ????print?Z ????Z=Z.reshape(xx1.shape) ????plt.contourf(xx1,xx2,Z,alpha?=0.4,?cmap=cmap) ????plt.xlim(xx1.min(),xx1.max()) ????plt.ylim(xx2.min(),xx2.max()) ????for?idx,cl?in?enumerate(np.unique(y)): ????????plt.scatter(x=X[y==cl,0],y=X[y==cl,1],alpha=0.8,c=cmap(idx), ????????????????????marker=markers[idx],label=cl) plot_decision_region(X,y,ppn,resolution=0.02) plt.xlabel('huajingchang') plt.ylabel('huabanchang') plt.legend(loc='upper?left') plt.show()
#?coding=utf-8 import?numpy?as?np import?matplotlib.pyplot?as?plt #ada代碼 class?AdalineGd(object): ????''' ????eta:?float ????學習效率,處于0和1之間 ???? ????n_iter:int ????對訓練數據進行學習,改進次數 ???? ????w_:一維向量 ????存儲權重數值 ???? ????error_: ????一維向量 ????存儲每次迭代改進時,神經網絡對數據進行錯誤判斷的次數 ????''' ????def?__init__(self,eta?=?0.01,n_iter=50): ????????self.eta=eta ????????self.n_iter?=n_iter ????def?fit(self,X,y): ????????''' ???????? ????????:param?X:?二維數組[n_samples,?n_features] ????????n_samples?表示X中含有訓練數據條目數 ????????n_features含有4個數據的一維向量,用于表示一條訓練條目 ????????:param?y:?一維向量 ????????用于存儲每一訓練條目對應的正確分類 ????????:return:? ????????''' ????????self.w_?=np.zeros(1+X.shape[1])#權重初始化為零 ????????self.cost_?=[] ????????for?i?in?range(self.n_iter): ????????????output?=?self.net_input(X) ????????????errors?=?(y?-?output)#向量 ????????????self.w_[1:]+=self.eta?*X.T.dot(errors) ????????????self.w_[0]?+=self.eta?*errors.sum() ????????????cost??=(errors?**2).sum()/2 ????????????self.cost_.append(cost) ????????return?self ????def?net_input(self,X): ????????return??np.dot(X,self.w_[1:]+self.w_[0]) ????def?activation(self,X): ????????return?self.net_input(X) ????def?predict(self,X): ????????return?np.where(self.activation(X)>=0,1,-1) import?pandas?as?pd file?=?'https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data' df?=?pd.read_csv(file,header=None) y?=?df.loc[0:100,4].values y=np.where(y=='Iris-setosa',-1,1) #根據整數位置選取單列或單行數據 X?=?df.loc[0:100,[0,2]].values from?matplotlib.colors?import?ListedColormap def?plot_decision_region(X,y,classifier,resolution=0.02): ????markers=('s','x','o','v') ????colors=('red','blue','lightgreen','gray','cyan') ????cmap?=?ListedColormap(colors[:len(np.unique(y))]) ????x1_min?,x1_max?=?X[:,0].min()-1,X[:,0].max() ????x2_min,?x2_max?=?X[:,?1].min()?-?1,?X[:,?1].max() ????xx1,xx2?=?np.meshgrid(np.arange(x1_min,x1_max,resolution), ??????????????????????np.arange(x2_min,?x2_max,?resolution)) ????Z?=classifier.predict(np.array([xx1.ravel(),xx2.ravel()]).T) ????print?(xx1.ravel()) ????print(xx2.ravel()) ????print?Z ????Z=Z.reshape(xx1.shape) ????plt.contourf(xx1,xx2,Z,alpha?=0.4,?cmap=cmap) ????plt.xlim(xx1.min(),xx1.max()) ????plt.ylim(xx2.min(),xx2.max()) ????for?idx,cl?in?enumerate(np.unique(y)): ????????plt.scatter(x=X[y==cl,0],y=X[y==cl,1],alpha=0.8,c=cmap(idx), ????????????????????marker=markers[idx],label=cl) ada?=?AdalineGd(eta=0.0001,n_iter=100) ada.fit(X,y) plot_decision_region(X,y,classifier=ada) plt.xlabel('huajingchang') plt.ylabel('huabanchang') plt.legend(loc='upper?left') plt.show() plt.plot(range(1,len(ada.cost_)+1),ada.cost_,marker?='o') plt.xlabel('epochs') plt.ylabel('sum-squard-error') plt.show()
舉報
人工智能時代,你準備好成為抓住機遇的那百分之二嗎。
2 回答求第3章完整代碼
2 回答運行視頻中的代碼有問題
2 回答代碼沒有地方下載嗎
1 回答代碼調試有屬性錯誤啊
1 回答代碼運行有誤,大神們幫忙看看
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-10-10
由于連接方在一段時間內沒有正確答復或連接的主機沒有反映,連接嘗試失敗,請問這個連接是失效了嘛?
2017-06-20
2017-06-20