課程
/后端開發
/Python
/機器學習-實現簡單神經網絡
NameError: global name 'predict' is not defined ?怎么解決?
2018-12-18
源自:機器學習-實現簡單神經網絡 3-4
正在回答
謝謝采納~
import?numpy?as?npclass?Perceptron(object): ????#?注釋1 ????def?__init__(self,?eta?=?0.01,?n_iter?=?10):????????self.eta?=?eta????????self.n_iter?=?n_iter????def?fit(self,?X,?y):????????#?注釋2 ????????self.w_?=?np.zeros(1?+?X.shape[1])????????self.errors_?=?[]????????for?_?in?range(self.n_iter): ????????????errors?=?0 ????????????#?注釋3 ????????????for?xi,?target?in?zip(X,?y): ????????????????update?=?self.eta?*?(target?-?self.predict(xi))????????????????#?注釋4 ????????????????self.w_[1:]?+=?update?*?xi????????????????self.w_[0]?+=?update ????????????????errors?+=?int(update?!=?0.0)????????????????self.errors_.append(errors)????def?net_input(self,?X):????????#?注釋5 ????????return?np.dot(X,?self.w_[1:])?+?self.w_[0]????def?predict(self,?X):????????return?np.where(self.net_input(X)?>=?0.0,?1,?-1)
外層同級什么意思?
qq_雙子_04312075 提問者
解決了 首先要把net_input和predict函數放到fit函數外層? 和fit函數同級? 還有多次出現NameError...xxx is not defined,先檢查函數名有沒有寫錯,然后出現了TypeError檢查一下你的__init__函數,注意是兩個下劃線__? 然后檢查init 確保沒有寫成int? 希望有幫助? 這是我犯的一些錯
舉報
人工智能時代,你準備好成為抓住機遇的那百分之二嗎。
2 回答name 'classifier' is not defined
1 回答‘’self‘’ is not defined name什么鬼?
1 回答跟著老師打的,可是為什么會報錯NameError: name 'X' is not defined?
1 回答'df' is not defined
1 回答為什么運行后會有name 'self' is not defined
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2020-07-20
謝謝采納~
2020-07-20
2018-12-24
外層同級什么意思?
2018-12-21
解決了 首先要把net_input和predict函數放到fit函數外層? 和fit函數同級? 還有多次出現NameError...xxx is not defined,先檢查函數名有沒有寫錯,然后出現了TypeError檢查一下你的__init__函數,注意是兩個下劃線__? 然后檢查init 確保沒有寫成int? 希望有幫助? 這是我犯的一些錯