weights = np.zeros(4)
for row in trainData:
iterRow= (row[:-1])
x=0
for weight in weights:
weight = (y*iterRow[x])
print("weight is", weight)
x =1
print("new weights are" , weights"
- 我想做的是:
- 創建一個只是 [0,0,0,0] 的 numpy 陣列
- 對于我的訓練資料集中的每一行(大約 200),洗掉最后一列
- 然后-對于每個權重值,添加我們當前所在行的相應值并乘以 y(在代碼前面定義)
我的問題是新的權重沒有正確更新,當我列印它們時它們仍然是 [0,0,0,0]。然而,在上面我列印“重量是”的那一行,更新后的重量將顯示在那里,它只是不會轉化為我的 numpy 陣列有人能幫忙嗎?
uj5u.com熱心網友回復:
這不是 for 回圈在 Python 中的作業方式。for weight in weights創建一個weight在每次迭代時呼叫的新變數。weight = (y*iterRow[x])更新此變數,而不是 numpy 陣列。試試這個:
...
for i in range(len(weights)):
weights[i] = (y*iterRow[x])
print("weight is", weights[i])
x =1
...
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/424165.html
上一篇:簡單的一維陣列迭代錯誤(TypeError:'int'objectisnotiterable)
下一篇:從for回圈追加時的資料型別問題
