Questions tagged «python»

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

5
您建议使用哪种编程语言来原型化机器学习问题?
当前在Octave中工作,但是由于文档不佳,进度非常慢。 哪种语言易于学习和使用,并且有充分的文献记载来解决机器学习问题?我希望在一个小的数据集(成千上万的示例)上建立原型,因此速度并不重要。 编辑:我正在开发一个推荐引擎。因此,我对使用正则化线性回归,神经网络,SVN或协作过滤感兴趣。

5
如何在numpy中有效地计算高斯核[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为交叉验证的主题。 3年前关闭。 我有一个具有m列和n行的numpy数组,这些列是维和行数据点。 现在,我需要为每个数据点组合计算内核值。 对于线性核我可以简单地做K(xi,xj)=⟨xi,xj⟩K(xi,xj)=⟨xi,xj⟩K(\mathbf{x}_i,\mathbf{x}_j) = \langle \mathbf{x}_i,\mathbf{x}_j \rangledot(X,X.T) 如何有效地计算高斯核K(xi,xj)=exp−∥xi−xj∥22s2K(xi,xj)=exp⁡−‖xi−xj‖22s2K(\mathbf{x}_i,\mathbf{x}_j) = \exp{-\frac{\|\mathbf{x}_i-\mathbf{x}_j\|_2^2}{s^2}}与给定s?

4
如何对非常高维度的数据执行PCA?
要执行主成分分析(PCA),您必须从数据中减去每一列的均值,计算相关系数矩阵,然后找到特征向量和特征值。嗯,这是我在Python中实现的方法,只是它仅适用于小型矩阵,因为找到相关系数矩阵(corrcoef)的方法不允许我使用高维数组。由于我必须将其用于图像,因此我当前的实现并没有真正帮助我。 我已经读过,可以只使用数据矩阵并计算而不是,但这对我不起作用。好吧,除了它应该是矩阵而不是(在我的情况下为)之外,我不确定我是否理解它的含义。我在特征脸教程中读到了有关这些内容的文章,但似乎都没有一个能以我能真正理解的方式进行解释。d d ⊤ / Ñ d ⊤ d / Ñ Ñ × Ñ p × p p » ÑDDDD D⊤/ nDD⊤/nDD^\top/nd⊤D / nD⊤D/nD^\top D/nn × nn×nn \times np × pp×pp\times pp » Ñp≫np\gg n 简而言之,该方法是否有简单的算法描述,以便我可以遵循?
12 pca  python 

1
(熊猫)自相关图显示什么?
我是一个初学者,我想了解自相关图显示的内容。 我已经从不同来源(例如此页面或相关的Wikipedia页面)中阅读了一些解释,这里我不在此引用。 我有这个非常简单的代码,在那里我有我的索引日期一年和值简单地从0增加至365对每个指标。( 1984-01-01:0, 1984-01-02:1 ... 1984-12-31:365) import numpy as np import pandas as pd from pandas.plotting import autocorrelation_plot import matplotlib.pyplot as plt dr = pd.date_range(start='1984-01-01', end='1984-12-31') df = pd.DataFrame(np.arange(len(dr)), index=dr, columns=["Values"]) autocorrelation_plot(df) plt.show() 打印的图形将在哪里 我可以理解并查看为什么图形从以下位置1.00开始: 滞后为零的自相关始终等于1,因为这表示每个项与其自身之间的自相关。值和滞后为零的值将始终相同。 很好,但是为什么此图在滞后50时的值约为0.65?为什么会降到0以下?如果我没有显示自己的代码,是否可以推断出该自相关图显示了一个递增值的时间序列?如果是这样,您可以尝试向初学者解释它如何演绎吗?

2
Kolmogorov–Smirnov检验:随着样本量的增加,p值和ks检验的统计量减少
为什么p值和ks检验统计量会随着样本数量的增加而减少?以以下Python代码为例: import numpy as np from scipy.stats import norm, ks_2samp np.random.seed(0) for n in [10, 100, 1000, 10000, 100000, 1000000]: x = norm(0, 4).rvs(n) y = norm(0, 4.1).rvs(n) print ks_2samp(x, y) 结果是: Ks_2sampResult(statistic=0.30000000000000004, pvalue=0.67507815371659508) Ks_2sampResult(statistic=0.080000000000000071, pvalue=0.89375155241057247) Ks_2sampResult(statistic=0.03499999999999992, pvalue=0.5654378910227662) Ks_2sampResult(statistic=0.026599999999999957, pvalue=0.0016502962880920896) Ks_2sampResult(statistic=0.0081200000000000161, pvalue=0.0027192461984023855) Ks_2sampResult(statistic=0.0065240000000000853, pvalue=6.4573678008760032e-19) 凭直觉,我理解随着n的增长,测试“更加确定”了两种分布是不同的。但是,如果样本量很大,那么在诸如此类的相似性测试(如安德森·达林检验)或t检验中有什么意义,因为在这种情况下,当n很大时,总会发现分布是“明显”不同!?现在我想知道p值的意义到底是什么。它在很大程度上取决于样本量...如果p> 0.05而您希望降低样本量,则只需获取更多数据即可。如果p <0.05且您希望它更高,则删除一些数据。 同样,如果两个分布相同,则ks检验统计量将为0,p值为1。但是在我的示例中,随着n的增加,ks检验统计量表明分布随时间变得越来越相似(减小)。 ,但根据p值,它们会随着时间变得越来越多(也有所减少)。

6
R或Python中在无监督学习中执行特征选择的方法
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为交叉验证的主题。 2年前关闭。 R / Python中有哪些可用的方法/实现来丢弃/选择数据中不重要/重要的功能?我的数据没有标签(无监督)。 数据具有约100种混合类型的要素。一些是数字的,而另一些是二进制的(0/1)。

8
可视化高维数据
我有两个类别的样本,它们是高维空间中的向量,我想将它们绘制为2D或3D。 我了解降维技术,但是我需要一个非常简单易用的工具(在matlab,python或预构建的.exe中)。 我也想知道2D表示会“有意义”吗?(例如,两个类如何相交或可分离)。


1
如何在python中绘制碎石图?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为交叉验证的主题。 去年关闭。 我在矩阵上使用奇异矢量分解,并获得了U,S和Vt矩阵。在这一点上,我试图为保留的维数选择一个阈值。有人建议我看一下碎石图,但想知道如何用numpy绘制它。目前,我正在使用python中的numpy和scipy库执行以下操作: U, S, Vt = svd(A) 有什么建议么?

2
以2D可视化多维数据(LSI)
我正在使用潜在语义索引来查找文档之间的相似性(谢谢,JMS!) 降维后,我尝试了k均值聚类将文档分组为聚类,效果很好。但是我想进一步介绍一下,并将文档可视化为一组节点,其中任意两个节点之间的距离与它们的相似度成反比(高度相似的节点靠在一起)。 令我惊讶的是,由于我的数据> 2维,因此我无法将相似度矩阵准确地简化为2维图。所以我的第一个问题是:是否有标准方法可以做到这一点? 我可以将数据缩小为二维,然后将它们绘制为X轴和Y轴,这对于一组约100-200个文档就足够了吗?如果这是解决方案,那么从一开始就将我的数据缩减为2维更好,还是有什么方法可以从我的多维数据中选择两个“最佳”维? 我正在使用Python和gensim库,如果有区别的话。

1
R / mgcv:为什么te()和ti()张量积产生不同的曲面?
的mgcv软件包R具有两个功能,用于拟合张量积相互作用:te()和ti()。我了解两者之间的基本分工(拟合非线性交互与将这种交互分解为主要效果和交互)。我不明白的是为什么te(x1, x2)而ti(x1) + ti(x2) + ti(x1, x2)可能产生(略)不同的结果。 MWE(改编自?ti): require(mgcv) test1 <- function(x,z,sx=0.3,sz=0.4) { x <- x*20 (pi**sx*sz)*(1.2*exp(-(x-0.2)^2/sx^2-(z-0.3)^2/sz^2)+ 0.8*exp(-(x-0.7)^2/sx^2-(z-0.8)^2/sz^2)) } n <- 500 x <- runif(n)/20;z <- runif(n); xs <- seq(0,1,length=30)/20;zs <- seq(0,1,length=30) pr <- data.frame(x=rep(xs,30),z=rep(zs,rep(30,30))) truth <- matrix(test1(pr$x,pr$z),30,30) f <- test1(x,z) y <- f + rnorm(n)*0.2 par(mfrow = c(2,2)) # …
11 r  gam  mgcv  conditional-probability  mixed-model  references  bayesian  estimation  conditional-probability  machine-learning  optimization  gradient-descent  r  hypothesis-testing  wilcoxon-mann-whitney  time-series  bayesian  inference  change-point  time-series  anova  repeated-measures  statistical-significance  bayesian  contingency-tables  regression  prediction  quantiles  classification  auc  k-means  scikit-learn  regression  spatial  circular-statistics  t-test  effect-size  cohens-d  r  cross-validation  feature-selection  caret  machine-learning  modeling  python  optimization  frequentist  correlation  sample-size  normalization  group-differences  heteroscedasticity  independence  generalized-least-squares  lme4-nlme  references  mcmc  metropolis-hastings  optimization  r  logistic  feature-selection  separation  clustering  k-means  normal-distribution  gaussian-mixture  kullback-leibler  java  spark-mllib  data-visualization  categorical-data  barplot  hypothesis-testing  statistical-significance  chi-squared  type-i-and-ii-errors  pca  scikit-learn  conditional-expectation  statistical-significance  meta-analysis  intuition  r  time-series  multivariate-analysis  garch  machine-learning  classification  data-mining  missing-data  cart  regression  cross-validation  matrix-decomposition  categorical-data  repeated-measures  chi-squared  assumptions  contingency-tables  prediction  binary-data  trend  test-for-trend  matrix-inverse  anova  categorical-data  regression-coefficients  standard-error  r  distributions  exponential  interarrival-time  copula  log-likelihood  time-series  forecasting  prediction-interval  mean  standard-error  meta-analysis  meta-regression  network-meta-analysis  systematic-review  normal-distribution  multiple-regression  generalized-linear-model  poisson-distribution  poisson-regression  r  sas  cohens-kappa 

4
Python中的主成分分析和回归
我试图找出如何在Python中重现我在SAS中所做的一些工作。使用这个存在多重共线性问题的数据集,我想在Python中执行主成分分析。我看过scikit-learn和statsmodels,但是我不确定如何获取它们的输出并将其转换为与SAS相同的结果结构。一方面,当您使用时,SAS似乎在相关矩阵上执行PCA PROC PRINCOMP,但是大多数(全部?)Python库似乎都在使用SVD。 在数据集中,第一列是响应变量,接下来的5个是预测变量,称为pred1-pred5。 在SAS中,常规工作流程为: /* Get the PCs */ proc princomp data=indata out=pcdata; var pred1 pred2 pred3 pred4 pred5; run; /* Standardize the response variable */ proc standard data=pcdata mean=0 std=1 out=pcdata2; var response; run; /* Compare some models */ proc reg data=pcdata2; Reg: model response = pred1 pred2 …

2
感知器的决策边界图
我试图绘制感知器算法的决策边界,我对一些事情感到非常困惑。我的输入实例的格式为,基本上是2D输入实例(x 1和x 2)和二进制类目标值(y)[1或0]。[ (x1个,X2),ÿ][(x1,x2),y][(x_{1},x_{2}), y]X1个x1x_{1}X2x2x_{2}ÿyy 因此,我的权重向量的形式为:。[w1,w2][w1,w2][w_{1}, w_{2}] 现在我必须合并一个额外的偏置参数,因此我的权重向量变成3 × 1向量?是1 × 3向量吗?我认为应该是1 × 3,因为向量只有1行n列。w0w0w_{0}3×13×13 \times 11×31×31 \times 31×31×31 \times 3 现在假设我将实例化为随机值,该如何绘制决策边界?含义w 0在这里表示什么?是瓦特0 / Ñ ø ř 米(瓦特)的判定区域的离原点的距离是多少?如果是这样,我如何捕获它并使用matplotlib.pyplot或其等效的Matlab在Python中绘制它?[w0,w1,w2][w0,w1,w2][w_{0}, w_{1}, w_{2}]w0w0w_{0}w0/norm(w)w0/norm(w)w_{0}/norm(w) 对于这个问题,我什至会提供一点帮助。

1
我应该选择随机森林回归器还是分类器?
我通过随机森林对具有二进制目标类的数据集进行拟合。在python中,我可以通过randomforestclassifier或randomforestregressor做到这一点。 我可以直接从randomforestclassifier获得分类,也可以先运行randomforestregressor并获得一组估计分数(连续值)。然后,我可以找到一个临界值,以从分数集中得出预测的类别。两种方法都可以达到相同的目标(即预测测试数据的类别)。 我也可以观察到 randomforestclassifier.predict_proba(X_test)[:,1]) 与...不同 randomforestregressor.predict(X_test) 因此,我只想确认两种方法均有效,然后在随机森林应用中哪种方法更好?

3
为什么我得到的信息熵大于1?
我实现了以下函数来计算熵: from math import log def calc_entropy(probs): my_sum = 0 for p in probs: if p > 0: my_sum += p * log(p, 2) return - my_sum 结果: >>> calc_entropy([1/7.0, 1/7.0, 5/7.0]) 1.1488348542809168 >>> from scipy.stats import entropy # using a built-in package # give the same answer >>> entropy([1/7.0, …

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.