内容

1简介

用python进行科学计算已经很成熟。这个包利用了Rstudio中促进python-R互操作性的新工作。确定良好的界面设计实践将需要广泛的讨论和实验,而这个软件包在这个方向上迈出了第一步。

一个关键的动机是使用具有非常大的内存不足数据的增量PCA实现进行试验。我们还为sklearn.cluster.KMeans过程提供了一个接口。

2基本概念

2.1模块引用

该包包含对python模块的引用列表。

2.2Python文档

我们可以通过网络获取包含模块的python文档py_help:以下结果可能会过时:

sklearn.decomposition in sklearn: NAME sklearn.decomposition FILE /Users/stvjc/anaconda2/lib/python2.7/site-packages/sklearn/decomposition/__init__.py DESCRIPTION:mod: ' sklearn.decomposition '模块包含矩阵分解算法,包括PCA、NMF或ICA等。该模块的大部分算法都可以看作是降维技术。软件包内容_online_lda base cdnmf_fast dict_learning factor_analysis fastica_ incremental_pca…

2.3导入数据以便由python函数直接处理

网状包旨在限制将数据从R转换为python所需的工作量,以便在每种语言中自然使用。

为了检查子矩阵,我们使用numpy中的take方法。下面看到的括号格式通知我们,我们正在查看的不是R的原生数据。

3.sklearn降维:虹膜数据集插图

我们将使用R的prcomp作为第一个测试,用虹膜数据演示sklearn模块的性能。

3.1主成分分析

我们有虹膜数据的python表示。我们计算PCA的方法如下:

SkDecomp实例,方法:使用gettransform()获取投影输入。

这将返回一个可以通过python方法重用的对象。数值变换是通过getTransformed

## [1] 150
## [,1] [,2] [,3] [,4] ## [1,] -2.684126 0.3193972 -0.02791483 -0.002262437 ## [2,] -2.714142 -0.1770012 -0.21046427 -0.099026550 ## [3,] -2.888991 -0.1449494 0.01790026 -0.019968390 ## [4,] -2.745343 -0.3182990 0.03155937 0.075575817 ## [5,] -2.728717 0.3267545 0.09007924 0.061258593 ## [6,] -2.280860 0.7413304 0.16867766 0.024200858

的本地方法可以应用于pyobj输出。

与R计算的一致性可以检查:

## pc1 pc2 pc3 pc4 ## [1,] 1 0 0 0 ## [2,] 0 -1 0 0 ## [3,] 0 0 -1 0 ## [4,] 0 0 0 0 -1

3.2增量的主成分分析

计算支持先天的内存消耗的边界可用。在这个过程中,还可以选择要计算的主成分的数量。

3.3带有显式分块的手动增量PCA

当数据以块形式提供时,可以使用此过程,可能来自流。我们迭代更新对象,因为目前还没有容器。同样,可以指定计算的组件数量。

4与HDF5矩阵的互操作

我们已经从yriMulti包中提取了CEPH约鲁班亚队列的甲基化数据。来自chr6和chr17的数据在这个BiocSklearn包中的HDF5矩阵中可用。通过h5py File接口创建对数据集的引用H5matref

此代码与basilisk不兼容,因此被阻止。参见skPartialPCA_h5了解有效的接口。

我们将显式地定义numpy矩阵。

我们把基因当作记录,把个体当作特征。

我们将定义三个数据块,并更新对象中的部分PCA贡献

对照标准PCA进行验证,检查投影到前四个pc之间的相关性。

5结论

我们需要更多的应用程序和分析。