Questions tagged «python»

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

6
学习如何实现集成方法的资源
我从理论上了解了它们的工作方式(但有一定的了解),但不确定如何实际使用集成方法(例如投票,加权混合等)。 有什么好的资源可以实现集成方法? 是否有关于Python实现的特殊资源? 编辑: 为了根据讨论的讨论清理一些内容,我不是在寻找诸如randomForest等的集成算法。而是,我想知道如何组合不同算法的不同分类。 例如,假设某人使用逻辑回归,SVM和其他一些方法来预测某个观测值的类别。根据这些预测来获取班级的最佳估计的最佳方法是什么?

3
Ruby作为统计工作台
这也是一个与Python作为统计工作台和excel作为统计工作台非常相关的问题。我知道关于Ruby与Python的讨论很多,但这不是这个问题的重点。我认为Ruby比Python快并且语法非常自然,这可以使我理解统计数据,并且可以很好地替代R(这也是我感兴趣的,在我对R的其他问题中也提到过)。例如,在我见过的一次Google Tech讲座中(引用了这里的链接问题,讲师抱怨R在创建for循环时速度很慢)。有了Ruby,也有了Rails,因此也许也有可能将两者结合在一起(Python确实有Django,但我不再赘述)。 因此,对于我来说,问题与Ruby相同: 如果我想使用Ruby作为“统计工作台”来代替R,SPSS,Python,Excel等,您能推荐什么? 根据您的经验,我会有什么得失? 请注意,我正在基于先前的Python和Excel问题来考虑此问题。如果您认为使用Ruby和Python(或Excel)会产生相同的影响,请这么说并指向任何先前问题的论点,该问题的目的是不要为相同的答案复制先前的问题。但是,我确实相信存在差异(例如语言和语法的速度),但是我也特别想知道针对Ruby的建议,或者是否有比它说的少得多的可用建议。 Python或Excel。因此,对于其他非常相似的问题,但对于其他语言/程序,请考虑先前的答案。 编辑:只是要突出显示,因为答案似乎是相反的,所以我一直在寻找答案,例如我链接到的Python问题中选择的答案。它不是与Ruby一起学习统计信息。我确实指出了用R学习统计的问题。如果可能的话,但是我不希望同时使用Ruby学习统计信息。您可以假设此问题的统计背景。
13 r  python  software  ruby 


9
增强了python中的决策树?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为交叉验证的主题。 5个月前关闭。 是否有一个好的Python库用于训练增强型决策树?
13 python  cart  boosting 

1
GBM软件包与使用GBM的插入符
我一直在使用进行模型调整caret,但随后使用该gbm软件包重新运行模型。据我了解,caret程序包使用gbm的输出应相同。然而,data(iris)使用RMSE和R ^ 2作为评估指标,使用进行的快速测试显示模型中的差异约为5%。我想使用来找到最佳模型性能,caret但要重新运行gbm以利用部分依赖图。下面的代码具有可重复性。 我的问题是: 1)为什么即使这两个软件包应该相同,我仍会看到这两个软件包之间的差异(我知道它们是随机的,但5%的差异还是很大的,尤其是当我没有使用iris建模时使用的很好的数据集时) 。 2)同时使用这两个软件包有什么优点或缺点? 3)不相关:使用iris数据集时,最佳interaction.depth值为5,但高于我所阅读的最大值,使用最大值floor(sqrt(ncol(iris)))为2。这是严格的经验法则还是非常灵活? library(caret) library(gbm) library(hydroGOF) library(Metrics) data(iris) # Using caret caretGrid <- expand.grid(interaction.depth=c(1, 3, 5), n.trees = (0:50)*50, shrinkage=c(0.01, 0.001), n.minobsinnode=10) metric <- "RMSE" trainControl <- trainControl(method="cv", number=10) set.seed(99) gbm.caret <- train(Sepal.Length ~ ., data=iris, distribution="gaussian", method="gbm", trControl=trainControl, verbose=FALSE, tuneGrid=caretGrid, metric=metric, bag.fraction=0.75) print(gbm.caret) # …

2
使用BIC估算KMEANS中的k个数
我目前正在尝试为我的玩具数据集(ofc iris(:))计算BIC。我想重现如图所示的结果(图5)。该论文也是我BIC公式的来源。 我对此有2个问题: 符号: ninin_i我 =群集的元素数iii CiCiC_i我 =群集中心坐标iii xjxjx_j我 =分配给群集数据点iii mmm =簇数 1)方程式中定义的方差 (2): ∑i=1ni−m∑j=1ni∥xj−Ci∥2∑i=1ni−m∑j=1ni‖xj−Ci‖2 \sum_i = \frac{1}{n_i-m}\sum_{j=1}^{n_i}\Vert x_j - C_i \Vert^2 据我所知,这是有问题的,并且当簇mmm大于簇中的元素时,方差可能为负。它是否正确? 2)我只是无法使我的代码能够计算出正确的BIC。希望没有错误,但是如果有人可以检查,将不胜感激。整个方程可以在等式中找到。(5)在论文中。我现在正在使用scikit学习所有内容(以证明关键字:P合理)。 from sklearn import cluster from scipy.spatial import distance import sklearn.datasets from sklearn.preprocessing import StandardScaler import matplotlib.pyplot as plt import numpy as np def compute_bic(kmeans,X): """ Computes …

2
如何使用卡尔曼滤波器?
我在2D空间(表面)中有一个物体的轨迹。轨迹以(x,y)坐标序列的形式给出。我知道我的测量结果很嘈杂,有时会有明显的异常值。因此,我想过滤我的观察结果。 据我了解的卡尔曼滤波器,它确实满足了我的需求。因此,我尝试使用它。我在这里找到了python实现。这是文档提供的示例: from pykalman import KalmanFilter import numpy as np kf = KalmanFilter(transition_matrices = [[1, 1], [0, 1]], observation_matrices = [[0.1, 0.5], [-0.3, 0.0]]) measurements = np.asarray([[1,0], [0,0], [0,1]]) # 3 observations kf = kf.em(measurements, n_iter=5) (filtered_state_means, filtered_state_covariances) = kf.filter(measurements) (smoothed_state_means, smoothed_state_covariances) = kf.smooth(measurements) 我在解释输入和输出时遇到了一些麻烦。我想这measurements正是我的测量值(坐标)。尽管我有点困惑,因为示例中的度量是整数。 我还需要提供一些transition_matrices和observation_matrices。我应该把什么放在那?这些矩阵是什么意思? 最后,在哪里可以找到我的输出?应该是filtered_state_means还是smoothed_state_means。这些阵列具有正确的形状(2, n_observations)。但是,这些数组中的值与原始坐标相距太远。 那么,如何使用该卡尔曼滤波器?

4
如何(系统地)使用梯度下降作为优化器来调整学习率?
ML / DL领域的局外人;开始了基于Tensorflow的Udacity深度学习课程;做作业3的问题4; 尝试使用以下配置调整学习率: 批次大小128 步骤数:足以填满2个纪元 隐藏层的大小:1024、305、75 重量初始化:使用std正常截断。sqrt(2 / n)的偏差,其中n是上一层的大小 失学保持机率:0.75 正则化:不适用 学习率算法:指数衰减 玩弄学习率参数;在大多数情况下,它们似乎没有作用;在这里编码 ; 结果: Accuracy learning_rate decay_steps decay_rate staircase 93.7 .1 3000 .96 True 94.0 .3 3000 .86 False 94.0 .3 3000 .96 False 94.0 .3 3000 .96 True 94.0 .5 3000 .96 True 我应该如何系统地调整学习率? 学习率与步数有何关系?

1
Python中的顺序逻辑回归
我想在Python中运行顺序逻辑回归-对于具有三个级别并具有一些解释性因素的响应变量。该statsmodels软件包支持二进制logit和多项式logit(MNLogit)模型,但不支持有序logit。由于基础数学没有太大不同,我想知道是否可以使用这些方法轻松实现?(或者,其他可以使用的Python软件包也受到赞赏。)

1
如何在MCMC中解释自相关图
通过阅读John K. Kruschke 的《做贝叶斯数据分析》一书,我也熟悉贝叶斯统计数据,该书也被称为“小狗书”。在第9章中,通过以下简单示例介绍了层次模型: 和伯努利观察是3枚硬币,每次10个翻转。一个显示9个头,另一个显示5个头,另一个显示1个头。yjiθjμκ∼Bernoulli(θj)∼Beta(μκ,(1−μ)κ)∼Beta(Aμ,Bμ)∼Gamma(Sκ,Rκ)yji∼Bernoulli(θj)θj∼Beta(μκ,(1−μ)κ)μ∼Beta(Aμ,Bμ)κ∼Gamma(Sκ,Rκ)\begin{align} y_{ji} &\sim {\rm Bernoulli}(\theta_j) \\ \theta_j &\sim {\rm Beta}(\mu\kappa, (1-\mu)\kappa) \\ \mu &\sim {\rm Beta}(A_\mu, B_\mu) \\ \kappa &\sim {\rm Gamma}(S_\kappa, R_\kappa) \end{align} 我已经使用pymc来推断超参数。 with pm.Model() as model: # define the mu = pm.Beta('mu', 2, 2) kappa = pm.Gamma('kappa', 1, 0.1) # define the prior …

5
如何在大量数据点中进行值的插补?
我的数据集非常大,大约缺少5%的随机值。这些变量相互关联。以下示例R数据集只是一个具有虚拟相关数据的玩具示例。 set.seed(123) # matrix of X variable xmat <- matrix(sample(-1:1, 2000000, replace = TRUE), ncol = 10000) colnames(xmat) <- paste ("M", 1:10000, sep ="") rownames(xmat) <- paste("sample", 1:200, sep = "") #M variables are correlated N <- 2000000*0.05 # 5% random missing values inds <- round ( runif(N, 1, length(xmat)) …
12 r  random-forest  missing-data  data-imputation  multiple-imputation  large-data  definition  moving-window  self-study  categorical-data  econometrics  standard-error  regression-coefficients  normal-distribution  pdf  lognormal  regression  python  scikit-learn  interpolation  r  self-study  poisson-distribution  chi-squared  matlab  matrix  r  modeling  multinomial  mlogit  choice  monte-carlo  indicator-function  r  aic  garch  likelihood  r  regression  repeated-measures  simulation  multilevel-analysis  chi-squared  expected-value  multinomial  yates-correction  classification  regression  self-study  repeated-measures  references  residuals  confidence-interval  bootstrap  normality-assumption  resampling  entropy  cauchy  clustering  k-means  r  clustering  categorical-data  continuous-data  r  hypothesis-testing  nonparametric  probability  bayesian  pdf  distributions  exponential  repeated-measures  random-effects-model  non-independent  regression  error  regression-to-the-mean  correlation  group-differences  post-hoc  neural-networks  r  time-series  t-test  p-value  normalization  probability  moments  mgf  time-series  model  seasonality  r  anova  generalized-linear-model  proportion  percentage  nonparametric  ranks  weighted-regression  variogram  classification  neural-networks  fuzzy  variance  dimensionality-reduction  confidence-interval  proportion  z-test  r  self-study  pdf 

2
为什么这种分配是统一的?
我们正在调查贝叶斯统计检验,并且遇到一种奇怪的现象(对我来说至少是这样)。 考虑以下情况:我们有兴趣测量哪个人口A或B具有较高的转化率。对于健全性检查,我们将设置,也就是说,两组转换的可能性相等。我们使用二项式模型生成人工数据,例如pA=pBpA=pBp_A = p_BnA∼Binomial(N,pA)nA∼Binomial(N,pA)n_A \sim \text{Binomial}(N, p_A) 然后,我们尝试使用贝叶斯beta二项式模型估计以便获得每种转换率的后验,例如pA,pBpA,pBp_A, p_BPA∼Beta(1+nA,N−nA+1)PA∼Beta(1+nA,N−nA+1)P_A \sim \text{Beta}(1 + n_A, N - n_A +1 ) 我们的测试统计量是通过蒙特卡洛通过计算来计算的。S=P(PA>PB|N,nA,nB)S=P(PA>PB|N,nA,nB)S = P(P_A > P_B\; |\; N, n_A, n_B) 令我惊讶的是,如果,则。我的想法是,随着样本大小增加,它将以0.5为中心,甚至收敛到0.5 。 pA=pBpA=pBp_A = p_BS∼Uniform(0,1)S∼Uniform(0,1)S \sim \text{Uniform(0,1)}NNN 我的问题是,为什么 当时?p 甲 = p 乙S∼Uniform(0,1)S∼Uniform(0,1)S \sim \text{Uniform(0,1)}pA=pBpA=pBp_A = p_B 这是一些Python代码来演示: %pylab from scipy.stats import beta …

1
适用于高斯混合模型(GMM)的Python软件包
在Python中使用高斯混合模型(GMM)似乎有几种选择。乍看之下至少有: PyMix- http: //www.pymix.org/pymix/index.php 混合物建模工具 PyEM- http://www.ar.media.kyoto-u.ac.jp/members/david/softwares/em/,它是Scipy工具箱的一部分,似乎专注于GMM 更新:现在称为sklearn.mixture 。 PyPR- http: //pypr.sourceforge.net/ 模式识别和相关工具,包括GMM ...甚至其他人。它们似乎都提供了GMM的最基本需求,包括创建和采样,参数估计,聚类等。 它们之间有什么区别,应该如何确定最适合特定需求的呢? 参考:http : //www.scipy.org/Topical_Software

1
Scikit预报_proba输出解释
我正在使用python中的scikit-learn库。在下面的代码中,我正在预测概率,但是我不知道如何读取输出。 测试数据 from sklearn.ensemble import RandomForestClassifier as RF from sklearn import cross_validation X = np.array([[5,5,5,5],[10,10,10,10],[1,1,1,1],[6,6,6,6],[13,13,13,13],[2,2,2,2]]) y = np.array([0,1,1,0,1,2]) 分割数据集 X_train, X_test, y_train, y_test = cross_validation.train_test_split(X, y, test_size=0.5, random_state=0) 计算概率 clf = RF() clf.fit(X_train,y_train) pred_pro = clf.predict_proba(X_test) print pred_pro 输出 [[ 1. 0.] [ 1. 0.] [ 0. 1.]] X_test列表包含3个数组(我有6个样本,test_size = …

2
可以使用Poisson,Gamma或Tweedie分布作为错误分布族来评估Python / scikit-learn中的GLM吗?
试图学习一些Python和Sklearn,但是对于我的工作,我需要运行回归,使用Poisson,Gamma尤其是Tweedie系列的误差分布。 我没有在文档中看到关于它们的任何内容,但是它们在R发行版的几个部分中,因此我想知道是否有人在任何地方看到了Python的实现。如果您可以将我引向Tweedie发行版的SGD实现,那就太酷了!

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.