用python进行科学计算已经很成熟。这个包利用了Rstudio中促进python-R互操作性的新工作。确定良好的界面设计实践将需要广泛的讨论和实验,而这个软件包在这个方向上迈出了第一步。
一个关键的动机是使用具有非常大的内存不足数据的增量PCA实现进行试验。我们还为sklearn.cluster.KMeans过程提供了一个接口。
我们可以通过网络获取包含模块的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…
网状包旨在限制将数据从R转换为python所需的工作量,以便在每种语言中自然使用。
为了检查子矩阵,我们使用numpy中的take方法。下面看到的括号格式通知我们,我们正在查看的不是R的原生数据。
我们将使用R的prcomp作为第一个测试,用虹膜数据演示sklearn模块的性能。
我们有虹膜数据的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
计算支持先天的内存消耗的边界可用。在这个过程中,还可以选择要计算的主成分的数量。
当数据以块形式提供时,可以使用此过程,可能来自流。我们迭代更新对象,因为目前还没有容器。同样,可以指定计算的组件数量。
我们已经从yriMulti包中提取了CEPH约鲁班亚队列的甲基化数据。来自chr6和chr17的数据在这个BiocSklearn包中的HDF5矩阵中可用。通过h5py File接口创建对数据集的引用H5matref
.
此代码与basilisk不兼容,因此被阻止。参见skPartialPCA_h5了解有效的接口。
我们将显式地定义numpy矩阵。
我们把基因当作记录,把个体当作特征。
我们将定义三个数据块,并更新对象中的部分PCA贡献圣
.
圣=skPartialPCA_step(助教(ban20:999, 0 l))圣=skPartialPCA_step(助教(ban21000:10999, 0 l),obj =圣)圣=skPartialPCA_step(助教(ban211000:44559, 0 l),obj =圣)sss =圣$变换(ban2)
对照标准PCA进行验证,检查投影到前四个pc之间的相关性。
我们需要更多的应用程序和分析。