Questions tagged «python»

Python是一种通常用于机器学习的编程语言。对于(a)涉及Python作为问题的关键部分或预期答案的所有* on-topic *问题,请使用该标签;&(b)关于如何使用Python的问题“不仅仅”。

2
Tensorflow`tf.train.Optimizer`如何计算梯度?
我正在关注Tensorflow mnist教程(https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/tutorials/mnist/mnist_softmax.py)。 本教程使用tf.train.Optimizer.minimize(特别是tf.train.GradientDescentOptimizer)。我看不到任何传递参数以定义渐变的参数。 Tensor流默认情况下是否使用数值微分? 有没有办法像您一样传递渐变scipy.optimize.minimize?



2
用于非参数聚类的PyMC:估计高斯混合参数的Dirichlet过程无法聚类
问题设定 我想将PyMC应用到的第一个玩具问题之一是非参数聚类:给定一些数据,将其建模为高斯混合,并学习聚类的数目以及每个聚类的均值和协方差。我对这种方法的大部分了解来自迈克尔·乔丹(Michael Jordan)和Yee Whye Teh(大约在2007年之前)的视频讲座(在稀疏成为流行之前),以及最近两天阅读Fonnesbeck博士和E. Chen的教程[fn1],[ fn2]。但是问题已得到充分研究,并且具有一些可靠的实现方式[fn3]。 在这个玩具问题中,我从一维高斯生成十次抽奖,并从。正如您在下面看到的那样,我没有对抽奖进行混洗,以便于分辨哪个样品来自哪个混合成分。N(μ = 4 ,σ = 2 )N(μ=0,σ=1)N(μ=0,σ=1)\mathcal{N}(\mu=0, \sigma=1)N(μ=4,σ=2)N(μ=4,σ=2)\mathcal{N}(\mu=4, \sigma=2) 我对每个数据样本进行,,其中表示该第个数据点的聚类:。是使用的截短Dirichlet进程的长度:对我来说,。我= 1 ,。。。,50 ž 我我ž 我 ∈ [ 1 ,。。。,N D P ] N D P N D P = 50yi∼N(μzi,σzi)yi∼N(μzi,σzi)y_i \sim \mathcal{N}(\mu_{z_i}, \sigma_{z_i})i=1,...,50i=1,...,50i=1,...,50ziziz_iiiizi∈[1,...,NDP]zi∈[1,...,NDP]z_i \in [1,...,N_{DP}]NDPNDPN_{DP}NDP=50NDP=50N_{DP}=50 扩展Dirichlet流程基础结构,每个集群ID都是来自分类随机变量的图形,其随机变量的质量函数由结构给出:带有的a浓度参数。折断构造通过首先获得依赖于 Beta分布的 iid Beta分布绘制,构造必须为1 的长向量,请参见[fn1]。并且由于我想通过数据告知我对了解,因此我遵循[fn1]并假定 0.3,100。ž 我〜Ç 一吨ë …

1
如何在ARIMA模型的观察值48中加入创新的离群值?
我正在处理数据集。使用一些模型识别技术后,我得出了一个ARIMA(0,2,1)模型。 我使用R detectIO包TSA中的函数在对原始数据集进行第48次观察时检测到创新的离群值(IO)。 如何将这个离群值合并到模型中,以便将其用于预测?我不想使用ARIMAX模型,因为我可能无法根据R中的模型做出任何预测。还有其他方法可以做到吗? 以下是我的价值观: VALUE <- scan() 4.6 4.5 4.4 4.5 4.4 4.6 4.7 4.6 4.7 4.7 4.7 5.0 5.0 4.9 5.1 5.0 5.4 5.6 5.8 6.1 6.1 6.5 6.8 7.3 7.8 8.3 8.7 9.0 9.4 9.5 9.5 9.6 9.8 10.0 9.9 9.9 9.8 9.8 9.9 9.9 9.6 9.4 …
10 r  time-series  arima  outliers  hypergeometric  fishers-exact  r  time-series  intraclass-correlation  r  logistic  glmm  clogit  mixed-model  spss  repeated-measures  ancova  machine-learning  python  scikit-learn  distributions  data-transformation  stochastic-processes  web  standard-deviation  r  machine-learning  spatial  similarities  spatio-temporal  binomial  sparse  poisson-process  r  regression  nonparametric  r  regression  logistic  simulation  power-analysis  r  svm  random-forest  anova  repeated-measures  manova  regression  statistical-significance  cross-validation  group-differences  model-comparison  r  spatial  model-evaluation  parallel-computing  generalized-least-squares  r  stata  fitting  mixture  hypothesis-testing  categorical-data  hypothesis-testing  anova  statistical-significance  repeated-measures  likert  wilcoxon-mann-whitney  boxplot  statistical-significance  confidence-interval  forecasting  prediction-interval  regression  categorical-data  stata  least-squares  experiment-design  skewness  reliability  cronbachs-alpha  r  regression  splines  maximum-likelihood  modeling  likelihood-ratio  profile-likelihood  nested-models 

1
如何计算共同信息?
我有点困惑。有人可以向我解释如何基于以二进制项出现为权重的项文档矩阵计算两个项之间的互信息吗? d ø Ç ù 米ë Ñ 吨1d ø Ç ù 米ë Ñ 吨2d ø Ç ù 米ë Ñ 吨3′w ^^ h ÿ′1个1个1个′HØ w ^′1个01个′w ^ħ È Ñ′1个1个1个′w ^^ h è [R é′1个00′w ^Hÿ′′HØw′′w ^HËñ′′w ^HË[RË′dØCü米ËñŤ1个1个1个1个1个dØCü米ËñŤ21个01个0dØCü米ËñŤ31个1个1个0 \begin{matrix} & 'Why' & 'How' & 'When' & 'Where' \\ Document1 & 1 & …

2
PyMC中两个正态分布的拟合模型
由于我是一名试图学习更多统计信息的软件工程师,因此我什至在开始之前就必须原谅我,所以这是一个严重的问题。 我一直在学习PyMC,并通过一些(非常)简单的示例进行研究。我无法使用(并且无法找到任何相关示例)的一个问题是将模型拟合到由两个正态分布生成的数据。 假设我有1000个值;从a生成Normal(mean=100, stddev=20)500个,从a生成另一个500个Normal(mean=200, stddev=20)。 如果我想对它们拟合模型,即使用PyMC确定两个均值和单个标准差。我知道这有点像... mean1 = Uniform('mean1', lower=0.0, upper=200.0) mean2 = Uniform('mean2', lower=0.0, upper=200.0) precision = Gamma('precision', alpha=0.1, beta=0.1) data = read_data_from_file_or_whatever() @deterministic(plot=False) def mean(m1=mean1, m2=mean2): # but what goes here? process = Normal('process', mu=mean, tau=precision, value=data, observed=True) 也就是说,生成过程是正常的,但是mu是两个值之一。我只是不知道如何表示值来自m1还是之间的“决定” m2。 也许我只是完全采用了错误的方法来对此建模?谁能给我指出一个例子?我可以读BUGS和JAGS,所以真的没事。
10 modeling  python  pymc 

2
如何根据孤立子分布生成数字?
的孤子分布是在一组离散的概率分布与概率质量函数{1,…,N}{1,…,N}\{1,\dots, N\} p(1)=1N,p(k)=1k(k−1)for k∈{2,…,N}p(1)=1N,p(k)=1k(k−1)for k∈{2,…,N} p(1)=\frac{1}{N},\qquad p(k)=\frac{1}{k(k-1)}\quad\text{for }k\in\{2,\dots, N\} 我想将其用作LT代码实现的一部分,理想情况下是在有统一随机数生成器的Python中使用。

4
在R与SciPy中拟合对数正态分布
我已经使用R与一组数据拟合了对数正态模型。结果参数为: meanlog = 4.2991610 sdlog = 0.5511349 我想将此模型转移到Scipy,这是我以前从未使用过的模型。使用Scipy,我可以得到1和3.1626716539637488488 + 90的形状和比例-非常不同的数字。我也尝试过使用meanlog和sdlog的exp,但是继续得到奇怪的图形。 我已经阅读了所有关于scipy的文档,但是对于这种情况下的形状和比例参数仍然感到困惑。自己编写该函数是否有意义?不过,这似乎容易出错,因为我是scipy的新手。 SCIPY对数正态(BLUE)与R对数正态(RED): 对采取什么方向有任何想法吗?顺便说一下,这些数据非常适合R模型,因此,如果看起来像Python中的其他内容,请随时共享。 谢谢! 更新: 我正在运行Scipy 0.11 这是数据的子集。实际样本为38k +,平均值为81.53627: 子集: x [60,170,137,138,81,140,78,46,1,168,138,148,145,35,82,126,66,147,88,106,80,54,83,13, 102、54、134、34 ] numpy.mean(x) 99.071428571428569 或者: 我正在研究捕获pdf的功能: def lognoral(x, mu, sigma): a = 1 / (x * sigma * numpy.sqrt(2 * numpy.pi) ) b = - (numpy.log(x) - mu) …
10 r  python  numpy  scipy 

3
使用最少的内存来训练数据的最有效方法是什么?
这是我的训练数据:200,000个示例x 10,000个功能。所以我的训练数据矩阵是-200,000 x 10,000。 当我为每个示例生成功能时,我设法将每个数据集一个接一个地保存(一个示例一个接一个),从而将其保存到一个平面文件中而没有内存问题。 但是,现在当我使用Milk,SVM light或任何其他机器学习算法时,一切都会尝试将整个训练数据加载到内存中,而不是一一训练。但是,我只有8 GB的RAM,因此无法进行这种方式。 您是否知道我可以逐个训练一个数据集的算法?也就是说,在训练时,我随时都可以将一个数据集加载到内存中。

1
混合连续变量和二进制变量的t-SNE
我目前正在研究使用t-SNE进行高维数据的可视化。我有一些包含二进制和连续变量混合的数据,并且数据似乎很容易将二进制数据聚类。当然,这是按比例缩放(介于0和1之间)数据的预期:二进制变量之间的Euclidian距离将始终最大/最小。如何使用t-SNE处理混合的二进制/连续数据集?我们应该删除二进制列吗?它有一个不同的metric,我们可以使用? 作为示例,请考虑以下python代码: x1 = np.random.rand(200) x2 = np.random.rand(200) x3 = np.r_[np.ones(100), np.zeros(100)] X = np.c_[x1, x2, x3] # plot of the original data plt.scatter(x1, x2, c=x3) # … format graph 所以我的原始数据是: 其中颜色是第三个特征(x3)的值-在3D中,数据点位于两个平面(x3 = 0平面和x3 = 1平面)中。 然后,我执行t-SNE: tsne = TSNE() # sci-kit learn implementation X_transformed = StandardScaler().fit_transform(X) tsne = TSNE(n_components=2, …

4
如何使用Python统计证明列是否具有分类数据
我在python中有一个数据框,我需要在其中查找所有类别变量。检查列的类型并不总是可行的,因为int类型也可以是分类的。 因此,我在寻找正确的假设检验方法以识别列是否为分类方面寻求帮助。 我正在尝试进行卡方检验以下的测试,但是我不确定这是否足够好 import numpy as np data = np.random.randint(0,5,100) import scipy.stats as ss ss.chisquare(data) 请指教。

2
调整后的兰德指数与调整后的共同信息
我正在尝试评估集群性能。我正在阅读有关metrics的skiscit-learn文档。我不了解ARI和AMI之间的区别。在我看来,他们以两种不同的方式做同样的事情。 从文档中引用: 有了基本实况类分配labels_true和我们的相同样本labels_pred的聚类算法分配的知识,调整后的兰德指数就可以衡量两个分配的相似性,而无需考虑排列和机会归一化。 与 在了解了基本事实类分配labels_true和我们的相同样本labels_pred的聚类算法分配的知识后,互信息是一个函数,用于测量两个分配的一致性,而忽略排列... AMI是最近提出的,并针对机会。 我应该在聚类评估中同时使用它们吗?还是多余?

4
从1个值播种N个独立随机数生成器的最佳方法
在我的程序中,我需要运行N个单独的线程,每个线程都有自己的RNG,该RNG用于采样大型数据集。我需要能够使用单个值为整个过程设定种子,以便能够重现结果。 仅按顺序增加每个索引的种子就足够了吗? 目前,我使用numpy的是RandomState使用Mersenne Twister伪随机数生成器的。 下面的代码片段: # If a random number generator seed exists if self.random_generator_seed: # Create a new random number generator for this instance based on its # own index self.random_generator_seed += instance_index self.random_number_generator = RandomState(self.random_generator_seed) 本质上,我从用户输入的种子(如果存在)开始,然后针对每个实例/线程,依次添加正在运行的实例的索引(从0到N-1)。我不知道这是个好习惯还是有更好的方法来做到这一点。

3
使用scikit Learn选择功能后识别过滤的功能
这是我的Python 功能选择方法代码: from sklearn.svm import LinearSVC from sklearn.datasets import load_iris iris = load_iris() X, y = iris.data, iris.target X.shape (150, 4) X_new = LinearSVC(C=0.01, penalty="l1", dual=False).fit_transform(X, y) X_new.shape (150, 3) 但是在获得新的X(因变量-X_new)之后,我如何知道在此新的更新变量中删除了哪些变量以及考虑了哪些变量?(已删除的一个或数据中存在的三个。) 获得此标识的原因是对新的测试数据应用相同的过滤。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.