我正在通過Cousera在線機器學習課程。這個類是在Matlab中講授的,但我試圖學習Python,所以我試圖在完成Matlab的工作後,用Python重寫任務。我有以下代碼:Python Numpy.matrix乘法錯誤
import numpy as n
X = n.matrix(dataX)
theta = n.zeros(shape=(2, 1))
predictions = n.matrix(X * theta)
X/dataX是從CSV中拉入的97x2矩陣。 Theta是一個數組2x1的零,我試圖乘以X.我應該得到97x1數組零到預測的輸出。但我得到以下錯誤,而不是:
/Library/Frameworks/Python.framework/Versions/3.3/bin/python3 /Users/jsmith/Documents/python/Assign1/CostFunction.py
Traceback (most recent call last):
File "/Users/jsmith/Documents/python/Assign1/CostFunction.py", line 24, in <module>
predictions = n.matrix(X * theta)
File "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/numpy/matrixlib/defmatrix.py", line 341, in __mul__
return N.dot(self, asmatrix(other))
ValueError: data type must provide an itemsize
Process finished with exit code 1
我也試過:
predictions = X * theta
我也得到相同的「ValueError異常:數據類型必須提供itemsize」的錯誤。我究竟做錯了什麼?
'dataX'是一個字符串嗎?或列表的列表?請告訴我們(至少是開頭)'repr(dataX)'。 – unutbu