比方说,我有2个一维(1D)numpy的阵列,a并b与长度n1和n2分别.我还有一个函数F(x,y),它有两个值.现在我想将该函数应用于我的两个1D数组中的每对值,因此结果将是具有形状的2D numpy数组n1, n2.i, j二维数组的元素是F(a[i], b[j]).
如果没有大量的for循环,我无法找到这样做的方法,而且我确信在numpy中有一个更简单(更快!)的方法.
提前致谢!
经过一些沉重的修补,我必须搞砸了我的R安装和一些软件包权限.我只是想擦除并重新安装所有内容,而不是尝试修复它.所以我做了:
sudo apt-get remove r-base-core
sudo apt-get remove r-base
sudo apt-get autoremove
Run Code Online (Sandbox Code Playgroud)
哪个卸载R,除非我重新安装R,我的旧包仍然可用(其中一些导致了麻烦).
如何完全重新安装,包括删除所有包,除了包含的基本库?
对于我的工作,我必须找到生物医学研究和工业领域的潜在客户.
我使用模块biopython编写了一些非常方便的程序,它有一个很好的界面来搜索NCBI.我还使用了clinical_trials模块来搜索clinicaltrials.gov.
我现在想搜索专利数据库,比如EPO或USPTO,但我甚至找不到任何微博的python模块.但也许我错过了一些明显的东西?
由于谷歌有一个专利搜索选项,我想知道是否可能有一个搜索谷歌的python模块,可以适应只搜索专利?
我正在使用优秀的scikit-learn模块进行一些文本挖掘.我正在尝试对科学摘要进行聚类和分类.
我正在寻找一种方法来聚集我的tf-id表示集,而不必事先指定簇的数量.我无法找到一个可以做到这一点的好算法,并且仍能正确处理大型稀疏矩阵.我一直在研究使用scikit-learn的kmeans,但它无法确定最佳簇数(例如使用BIC).我也尝试使用高斯混合模型(使用最佳BIC分数来选择模型),但它们非常慢.
在我对文档进行聚类之后,我希望能够查看每个聚类的主题,这意味着他们倾向于使用的词.在给定数据矩阵和集群标签的情况下,有没有办法提取这些信息?也许采用聚类的均值并使用tf-id-vectorizer对其进行逆变换?我之前曾尝试使用卡方和随机森林对特征重要性进行排名,但这并不是说哪个标签类使用了什么.
我尝试使用NMF分解方法(仅使用scikit-learn网站的示例代码)进行主题检测.它工作得很好,很快就产生了非常有意义的话题.但是,我没有找到一种方法来使用它将每个数据点分配给一个集群,也没有自动确定"最佳"集群数.但这是我正在寻找的那种东西.
我还在某处读到,可以直接从适合的LDA模型中提取主题信息,但我不明白它是如何完成的.由于我已经将LDA实现为基线分类器和可视化工具,因此这可能是一个简单的解决方案.
如果我设法生成有意义的集群/主题,我将把它们与一些人造标签(不是基于主题的)进行比较,看看它们是如何对应的.但这是另一个主题的主题:-)
我创建了一个小程序,用于检查作者数据库中是否存在作者。我尚未找到解决此问题的任何特定模块,因此我正在使用用于近似字符串匹配的模块从头开始编写它。
该数据库包含大约6000名作者,并且格式很差(许多错字,变化形式和标题,例如“ Dr.”等)。查询作者列表通常在500-1000之间(并且我有很多这样的列表),因此速度非常重要。
我的一般策略是尽可能地修剪和过滤数据库,并寻找完全匹配的内容。如果找不到匹配项,我继续进行近似字符串匹配。
我目前正在使用内置的功能,difflib.get_close_matches它完全可以实现我想要的功能,但是它非常慢(几分钟)。因此,我正在寻找其他选择:
我发现的唯一一个模糊模糊,比difflib还要慢。
我有关于python的速度/效率相关问题:
我需要编写大量非常大的R dataframe-ish文件,大小约为0.5-2 GB.这基本上是一个大的制表符分隔表,其中每一行可以包含浮点数,整数和字符串.
通常,我只是将我的所有数据都放在numpy数据帧中并使用np.savetxt来保存它,但由于存在不同的数据类型,因此它无法真正放入一个数组中.
因此我只是简单地将线条组装成字符串,但这有点慢.到目前为止,我正在做:
1)将每一行组合为一个字符串2)将所有行连接为单个巨大的字符串3)将字符串写入文件
我有几个问题:1)大量的字符串连接最终耗费大量时间2)我运行RAM来保持内存中的字符串3)...这反过来导致更多单独的file.write命令,也非常慢.
所以我的问题是:这类问题的常规是什么?一种平衡速度与内存消耗的方法,可实现最高效的字符串连接和写入磁盘.
......或者这个策略可能只是坏事,我应该做一些完全不同的事情?
提前致谢!
说我有一个索引列表,如:
l <- list(c(1,2,3), c(1), c(1,5), c(2, 3, 5))
Run Code Online (Sandbox Code Playgroud)
其中指定矩阵中的非零元素,如:
(m <- matrix(c(1,1,1,0,0, 1,0,0,0,0, 1,0,0,0,5, 0,1,1,0,1), nrow=4, byrow=TRUE))
[,1] [,2] [,3] [,4] [,5]
[1,] 1 1 1 0 0
[2,] 1 0 0 0 0
[3,] 1 0 0 0 5
[4,] 0 1 1 0 1
Run Code Online (Sandbox Code Playgroud)
什么是最快的方式,使用R,使m从l,使该矩阵是非常大的,再说50.000行和列的2000?
我想在R中拟合线性模型lm以获得系数估计和p值+ p值用于总模型拟合(类似ANOVA),因此基本上是来自的输出summary.lm.
问题是我想使用自己的模型矩阵,而不是在调用时使用公式指定它lm.
我已经尝试使用lm.fit允许这个的底层函数,但后来我放松了summary.lm函数的便利性,我不想再自己重新计算所有的测试统计数据.
有没有办法'欺骗' lm并给它一个模型矩阵而不是公式?
谢谢!
对于基本的 R 矩阵类,我们有一个rowsum函数,它可以非常快速地计算跨行组的列总和。
Matrix 包中是否有等效的功能或方法?
我rowsum对大型 dgCMatrix 对象(即数百万行,但大约 95% 稀疏)的快速替代方案特别感兴趣。
python-2.7 ×5
python ×4
r ×4
matrix ×2
dataframe ×1
difflib ×1
file-io ×1
list ×1
lm ×1
numpy ×1
rowsum ×1
scikit-learn ×1
search ×1
text-mining ×1
ubuntu-12.04 ×1
uninstall ×1