我很好奇,是否有任何方式打印格式化numpy.arrays
,例如,以类似于这样的方式:
x = 1.23456
print '%.3f' % x
Run Code Online (Sandbox Code Playgroud)
如果我想打印numpy.array
浮点数,它会打印几个小数,通常采用"科学"格式,即使对于低维数组也很难读取.但是,numpy.array
显然必须打印成一个字符串,即用%s
.这有解决方案吗?
鉴于高m by n
矩阵X
,我需要计算s = 1 + x(X.T X)^{-1} x.T
.这里x
是行向量并且s
是标量.有没有一种有效的(或推荐的)方法来在python中计算它?
不用说,X.T X
将是对称肯定的.
我的尝试:
如果我们考虑QR
分解X
,即,X = QR
哪里Q
是正交,R
则是上三角形,则X.T X
= R.T R
.
QR
可使用可以容易地得到分解numpy.linalg.qr
,即
Q,R = numpy.linalg.qr(X)
Run Code Online (Sandbox Code Playgroud)
但话又说回来,是否有一种特别有效的计算方法inv(R.T R)
?
嗨,我有一个关于将字符串拆分为令牌的问题。
这是一个示例字符串:
string
=“我在等的时候,从一个侧屋出来一个人,我一眼就确定他是龙约翰。他的左腿被臀部切掉了,左肩下拿着拐杖,他非常灵巧,像一只鸟一样在上面跳来跳去。他很高,很强壮,有一张火腿那么大的脸——素净而苍白,但聪明而微笑。的确,他看起来心情最愉快,当他在桌子之间走动时吹口哨,为他的客人中更受宠爱的客人吹口哨或拍拍肩膀。”
我正在尝试string
正确拆分为其令牌。
这是我的功能 count_words
def count_words(text):
"""Count how many times each unique word occurs in text."""
counts = dict() # dictionary of { <word>: <count> } pairs to return
#counts["I"] = 1
print(text)
# TODO: Convert to lowercase
lowerText = text.lower()
# TODO: Split text into tokens (words), leaving out punctuation
# (Hint: Use regex to split on non-alphanumeric characters)
split = re.split("[\s.,!?:;'\"-]+",lowerText)
print(split)
# TODO: Aggregate word counts using a dictionary
Run Code Online (Sandbox Code Playgroud)
和split
这里的结果 …
我无法理解实现多岭回归的函数的输出。我正在 Python 中从头开始为该方法的封闭形式执行此操作。这个封闭的表格如下所示:
我有一个训练集X
是100 rows x 10 columns
和向量y
是100x1
。
我的尝试如下:
def ridgeRegression(xMatrix, yVector, lambdaRange):
wList = []
for i in range(1, lambdaRange+1):
lambVal = i
# compute the inner values (X.T X + lambda I)
xTranspose = np.transpose(x)
xTx = xTranspose @ x
lamb_I = lambVal * np.eye(xTx.shape[0])
# invert inner, e.g. (inner)**(-1)
inner_matInv = np.linalg.inv(xTx + lamb_I)
# compute outer (X.T y)
outer_xTy = np.dot(xTranspose, y)
# multiply together
w = inner_matInv …
Run Code Online (Sandbox Code Playgroud)