小编Kei*_*itt的帖子

最小化Python中两组点之间的总距离

给定n维空间中的两组点,一个映射点如何从一组映射到另一组,以使每个点仅使用一次,并且使成对的点之间的欧式距离最小化?

例如,

import matplotlib.pyplot as plt
import numpy as np

# create six points in 2d space; the first three belong to set "A" and the
# second three belong to set "B"
x = [1, 2, 3, 1.8, 1.9, 3.4]
y = [2, 3, 1, 2.6, 3.4, 0.4]

colors = ['red'] * 3 + ['blue'] * 3

plt.scatter(x, y, c=colors)
plt.show()
Run Code Online (Sandbox Code Playgroud)

点距离最小化问题的示例

因此,在上面的示例中,目标是将每个红点映射到一个蓝点,以使每个蓝点仅使用一次,并且使两点之间的距离之和最小。

我碰上了这个问题,这有助于解决问题的第一部分-计算所有对点之间的距离跨越使用集scipy.spatial.distance.cdist()功能。

从那里,我可能可以测试每一行中单个元素的每个排列,并找到最小值。

我想到的应用程序涉及3维空间中相当少量的数据点,因此蛮力方法可能很好,但是我想我先检查一下是否有人知道一种更有效或更优雅的解决方案。

python scipy euclidean-distance

5
推荐指数
1
解决办法
2332
查看次数

是否有良好的库可以快速进行非负矩阵分解(NMF)?

我有一个稀疏矩阵,其形状为570000*3000.我试图尼玛做NMF(使用默认的NMF方法,并设定max_iter至65岁).但是,我发现nimfa很慢.有人用更快的库来做NMF吗?

c++ python pca matrix-factorization nmf

4
推荐指数
1
解决办法
3363
查看次数

数据框列的 apply 和 sapply 之间的区别?

有人可以解释一下如何操作apply()sapply()操作数据框之间的区别吗?

例如,在尝试查找数据框中每一列的类时,我的第一个倾向是apply在列上使用:

> apply(iris, 2, class)
Sepal.Length  Sepal.Width Petal.Length  Petal.Width      Species 
 "character"  "character"  "character"  "character"  "character" 
Run Code Online (Sandbox Code Playgroud)

然而,这是不正确的,因为一些列是数字:

> class(iris$Petal.Length)
[1] "numeric"
Run Code Online (Sandbox Code Playgroud)

在 Google 上进行快速搜索,找到了问题的解决方案该解决方案使用sapply而不是apply

> sapply(iris, class)
Sepal.Length  Sepal.Width Petal.Length  Petal.Width      Species 
   "numeric"    "numeric"    "numeric"    "numeric"     "factor"
Run Code Online (Sandbox Code Playgroud)

在这种情况下,sapply隐式转换iris为列表,然后将函数应用于列表中的每个条目,例如:

> class(as.list(iris)$Petal.Length)
[1] "numeric"
Run Code Online (Sandbox Code Playgroud)

我仍然不清楚的是为什么我最初的尝试apply没有奏效。

r apply dataframe sapply

4
推荐指数
1
解决办法
2887
查看次数

在Aptana Studio 3中禁用CSS验证

任何人都知道如何使用Aptana Studio 3禁用CSS验证?在3.0.4版中,即使在完全禁用W3C CSS Validator之后,警告仍然存在.

有任何想法吗?

aptana eclipse

3
推荐指数
1
解决办法
2705
查看次数

使用 dplyr 计算分组平均值和逻辑值之间的差异

有谁知道如何使用 dplyr 来计算 和 的平均值之间的差异,some_var == TRUE并按some_var == FALSE第三个变量分组?

例如,给出以下示例数据框:

library('dplyr')

dat <- iris %>% 
     mutate(wide=Sepal.Width > 3) %>% 
     group_by(Species, wide) %>% 
     summarize(mean_width=mean(Sepal.Width))

dat

# A tibble: 6 x 3
# Groups:   Species [?]
     Species  wide mean_width
      <fctr> <lgl>      <dbl>
1     setosa FALSE   2.900000
2     setosa  TRUE   3.528571
3 versicolor FALSE   2.688095
4 versicolor  TRUE   3.200000
5  virginica FALSE   2.800000
6  virginica  TRUE   3.311765
Run Code Online (Sandbox Code Playgroud)

有谁知道一种方法来派生一个新的数据框,其差异为wide == TRUEwide == FALSE,按物种?

这可以使用几个语句来完成:

false_vals <- …
Run Code Online (Sandbox Code Playgroud)

r dplyr summarize

3
推荐指数
1
解决办法
1999
查看次数

在Python中将ascii查找表存储在文件中

我现在有一个在python中硬编码的查找表,看起来像:

   lookup = {
       "\x85": u'...', # ...
       "\x91": u"'",
       ...
   }
Run Code Online (Sandbox Code Playgroud)

我想将映射移动到外部文件以使其更易于管理,但是无法找到存储x转义字符代码的方法并将其读回.而不是'\ x85',我最终用'\ x85'.

有任何想法吗?

python encoding ascii escaping

1
推荐指数
1
解决办法
592
查看次数

如何使用 Bash 读取命令捕获包含“~”(波浪号)的文件路径

所以我一直在开始编写 bash 脚本,并且我正在制作一个将从源代码自动安装的脚本(所以基本上它只是为你编译 tarball)。我需要它来更改目录才能转到 tarball。但是,每当我使用此命令时

read path
cd $path
Run Code Online (Sandbox Code Playgroud)

我总是收到错误tar-installer.sh: line 13: cd: ~: No such file or directory 对于任何需要它的人,这里是完整的脚本......

#!/bin/bash
# This program auto-installs tarballs for you.
# I designed this for Linux noobies who don't
# know how to install tarballs. Or, it's for
# people like me who are just lazy, and don't
# want to put in the commands ourselves.

echo "Tar Installer v1.1"
echo "Gnu GPL v2.1"
echo -n "Path to tarball:"
read path …
Run Code Online (Sandbox Code Playgroud)

bash tilde

1
推荐指数
1
解决办法
3023
查看次数