如果我们有一个像numpy数组:
Array = np.zeros((2, 10, 10))
Run Code Online (Sandbox Code Playgroud)
我们想要设置一个元素,由另一个元素给出
indexes = np.array([0,0,0])
Run Code Online (Sandbox Code Playgroud)
我们怎么做?
Array[indexes] = 5
Run Code Online (Sandbox Code Playgroud)
将Array的FIRST维度的每个元素设置为5
我想为这段代码或类似的东西获得一个很好的整洁列表理解!
extra_indices = []
for i in range(len(indices)):
index = indices[i]
extra_indices.extend([index, index + 1, index +2])
Run Code Online (Sandbox Code Playgroud)
谢谢!
编辑* 索引是一个整数列表。另一个数组的索引列表。
例如,如果索引是 [1, 52, 150] 那么目标(在这里,这是我第二次想要在列表理解中对连续索引输出执行两个单独的操作)
那么 extra_indices 将是 [1, 2, 3, 52, 53, 54, 150, 151, 152]
对于 PCA 载荷计算公式如下:
loadings = pca.components_.T * np.sqrt(pca.explained_variance_)
Run Code Online (Sandbox Code Playgroud)
对于 ICA 没有 .explained_variance_ 数组,那么它只是吗?:
ica.components_[]
Run Code Online (Sandbox Code Playgroud) 似乎某些适用于 matplotlib 2D 的方法可能不适用于 matplotlib 3D。我不知道。
我想从所有轴上删除刻度线,并将边缘颜色从底部和侧面扩展到顶部。我得到的最远的是能够将刻度线绘制为白色,这看起来很糟糕,因为它们呈现在边缘线的顶部。
下面是一大块自包含代码,导致下图。任何帮助深表感谢!
import numpy as np
import matplotlib as mpl
from matplotlib import pyplot as plt
from matplotlib import animation
from mpl_toolkits.mplot3d import Axes3D
mpl.rcParams['ytick.color'] = 'white'
#mpl.rcParams['ytick.left'] = False
sample = np.random.random_integers(low=1,high=5, size=(10,3))
# Create a figure and a 3D Axes
fig = plt.figure(figsize=(5,5))
ax = Axes3D(fig)
#ax.w_xaxis.set_tick_params(color='white')
#ax.axes.tick_params
ax.axes.tick_params(bottom=False, color='blue')
##['size', 'width', 'color', 'tickdir', 'pad', 'labelsize',
##'labelcolor', 'zorder', 'gridOn', 'tick1On', 'tick2On',
##'label1On', 'label2On', 'length', 'direction', 'left', 'bottom',
##'right', 'top', 'labelleft', 'labelbottom',
##'labelright', …Run Code Online (Sandbox Code Playgroud) 我看过另一个StackOverflow线程,它在讨论用于计算欧几里得范数的各种实现,而我很难理解为什么/如何实现特定的实现。
可在MMD度量的实现中找到代码:https : //github.com/josipd/torch-two-sample/blob/master/torch_two_sample/statistics_diff.py
这是一些开始的样板:
import torch
sample_1, sample_2 = torch.ones((10,2)), torch.zeros((10,2))
Run Code Online (Sandbox Code Playgroud)
接下来的部分是我们从上面的代码中提取的内容。我不确定为什么将这些样本连接在一起。
sample_12 = torch.cat((sample_1, sample_2), 0)
distances = pdist(sample_12, sample_12, norm=2)
Run Code Online (Sandbox Code Playgroud)
然后传递给pdist函数:
def pdist(sample_1, sample_2, norm=2, eps=1e-5):
r"""Compute the matrix of all squared pairwise distances.
Arguments
---------
sample_1 : torch.Tensor or Variable
The first sample, should be of shape ``(n_1, d)``.
sample_2 : torch.Tensor or Variable
The second sample, should be of shape ``(n_2, d)``.
norm : float
The l_p norm to be used.
Returns
-------
torch.Tensor …Run Code Online (Sandbox Code Playgroud) python ×4
arrays ×1
for-loop ×1
indexing ×1
matplotlib ×1
numpy ×1
pca ×1
pytorch ×1
scikit-learn ×1