在机器学习实战中,编写梯度上升算法报错;NameError: name 'mat' is not defined
出现这种问题的主要原因在于python2和python3不兼容的问题,解决方法如下:
from numpy import *
def gradAscent(dataMatIn,classLabels):
dataMatrix = mat(dataMatIn)
labelMat = mat(classLabels).transpose()
m,n = shape(dataMatrix)
....
或者写成如下样式
import numpy
def gradAscent(dataMatIn,classLabels):
dataMatrix = numpy.mat(dataMatIn)
labelMat = numpy.mat(classLabels).transpose()
m,n = shape(dataMatrix)
....