Questions tagged «python»

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

25
Python作为统计工作台
许多人使用主要工具(例如Excel或其他电子表格,SPSS,Stata或R)来满足其统计需求。他们可能会针对非常特殊的需求转向某些特定的程序包,但是可以使用简单的电子表格或常规统计信息包或统计信息编程环境来完成很多事情。 我一直很喜欢Python作为一种编程语言,对于简单的需求,编写一个简短的程序来计算我的需求很容易。Matplotlib让我可以绘制它。 有没有人完全从R切换到Python?R(或任何其他统计信息包)具有许多特定于统计信息的功能,并且它具有的数据结构使您可以考虑要执行的统计信息,而不必考虑数据的内部表示形式。Python(或其他一些动态语言)的好处是允许我使用熟悉的高级语言进行编程,并且它使我能够与驻留数据或可以进行测量的真实系统进行编程交互。但是我还没有找到任何可以让我用“统计术语”表达事物的Python软件包-从简单的描述统计到更复杂的多元方法。 如果我想将Python用作“统计工作台”来代替R,SPSS等,您能推荐什么? 根据您的经验,我会有什么得失?
355 r  spss  stata  python 

4
神经网络中的批量大小是多少?
我正在使用Python Keras package神经网络。这是链接。是batch_size等于测试样品的数量?从维基百科,我们可以获得以下信息: 但是,在其他情况下,求和梯度可能需要对所有求和函数的梯度进行昂贵的求值。当训练集庞大且不存在简单公式时,评估梯度之和变得非常昂贵,因为评估梯度需要评估所有求和函数的梯度。为了节省每次迭代的计算成本,随机梯度下降在每一步都采样了求和函数的子集。这在大规模机器学习问题的情况下非常有效。 以上信息描述的是测试数据?这与batch_sizekeras中相同(每个梯度更新的样本数)吗?

2
什么是神经网络中的嵌入层?
在许多神经网络库中,都有“嵌入层”,例如Keras或Lasagne中。 尽管阅读了文档,但我不确定我是否了解它的功能。例如,在Keras文档中说: 将正整数(索引)转换为固定大小的密集向量,例如。[[4],[20]]-> [[0.25,0.1],[0.6,-0.2]] 知识渊博的人可以解释它的作用以及何时使用吗? 编辑:关于文档中的粘贴,没有太多可从文档中粘贴,因此是我的问题。我不了解它所做的转换,也不知道为什么要使用它。 无论如何,这是在Keras中解释的方式: 嵌入 keras.layers.embeddings.Embedding(input_dim,output_dim,init ='uniform',input_length = None,weights = None,W_regularizer = None,W_constraint = None,mask_zero = False)将正整数(索引)转换为固定大小的密集向量,例如。[[4],[20]]-> [[0.25,0.1],[0.6,-0.2]] 输入形状:2D张量,形状为:(nb_samples,sequence_length)。输出形状:具有以下形状的3D张量:(nb_samples,sequence_length,output_dim)。参数: input_dim:int> =0。词汇量,即。输入数据中出现1+最大整数索引。output_dim:int> =0。密集嵌入的尺寸 这就是千层面的解释: 单词嵌入层。输入应为整数类型Tensor变量。 参数:传入:一个Layer实例或一个元组 送入该层的层,或预期的输入形状。 input_size:整数 不同嵌入的数量。最后的嵌入将具有索引input_size-1。 output_size:整数 每个嵌入的大小。 W:Theano共享变量,表达式,numpy数组或可调用 嵌入矩阵的初始值,表达式或初始化程序。这应该是形状为(input_size,output_size)的矩阵。有关更多信息,请参见lasagne.utils.create_param()。 例子 >>> from lasagne.layers import EmbeddingLayer, InputLayer, get_output >>> import theano >>> x = T.imatrix() …

3
示例:使用glmnet获得二进制结果的LASSO回归
我开始与使用的涉猎glmnet与LASSO回归那里我感兴趣的结果是二分。我在下面创建了一个小的模拟数据框: age <- c(4, 8, 7, 12, 6, 9, 10, 14, 7) gender <- c(1, 0, 1, 1, 1, 0, 1, 0, 0) bmi_p <- c(0.86, 0.45, 0.99, 0.84, 0.85, 0.67, 0.91, 0.29, 0.88) m_edu <- c(0, 1, 1, 2, 2, 3, 2, 0, 1) p_edu <- c(0, 2, 2, …
77 r  self-study  lasso  regression  interpretation  anova  statistical-significance  survey  conditional-probability  independence  naive-bayes  graphical-model  r  time-series  forecasting  arima  r  forecasting  exponential-smoothing  bootstrap  outliers  r  regression  poisson-distribution  zero-inflation  genetic-algorithms  machine-learning  feature-selection  cart  categorical-data  interpretation  descriptive-statistics  variance  multivariate-analysis  covariance-matrix  r  data-visualization  generalized-linear-model  binomial  proportion  pca  matlab  svd  time-series  correlation  spss  arima  chi-squared  curve-fitting  text-mining  zipf  probability  categorical-data  distance  group-differences  bhattacharyya  regression  variance  mean  data-visualization  variance  clustering  r  standard-error  association-measure  somers-d  normal-distribution  integral  numerical-integration  bayesian  clustering  python  pymc  nonparametric-bayes  machine-learning  svm  kernel-trick  hyperparameter  poisson-distribution  mean  continuous-data  univariate  missing-data  dag  python  likelihood  dirichlet-distribution  r  anova  hypothesis-testing  statistical-significance  p-value  rating  data-imputation  censoring  threshold 

9
我应该使用什么算法来检测时间序列的异常?
背景 我在网络运营中心工作,我们监视计算机系统及其性能。要监视的关键指标之一是当前连接到我们服务器的访问者/客户数量。为了使其可见,我们(Ops团队)收集了诸如时间序列数据之类的指标并绘制了图表。Graphite允许我们做到这一点,它有一个非常丰富的API,我可以用它来构建警报系统,以便在突然(主要是)突然下降和其他更改发生时通知我们的团队。目前,我已基于avg值设置了一个静态阈值,但是由于白天和一周中的不同负载(季节性因素),它不能很好地工作(存在很多假阳性)。 看起来像这样: 实际数据(一个度量标准的示例,时间范围为15分钟;第一个数字是用户数,第二个-时间戳): [{"target": "metric_name", "datapoints": [[175562.0, 1431803460], [176125.0, 1431803520], [176125.0, 1431803580], [175710.0, 1431803640], [175710.0, 1431803700], [175733.0, 1431803760], [175733.0, 1431803820], [175839.0, 1431803880], [175839.0, 1431803940], [175245.0, 1431804000], [175217.0, 1431804060], [175629.0, 1431804120], [175104.0, 1431804180], [175104.0, 1431804240], [175505.0, 1431804300]]}] 我要完成的工作 我创建了一个Python脚本,该脚本接收最近的数据点,将它们与历史平均值进行比较,并在发生突然变化或下降时发出警报。由于季节性因素,“静态”阈值无法正常运行,脚本会生成误报警报。我想提高警报算法的准确性,使其在不不断调整警报阈值的情况下工作。 我需要什么建议和发现的东西 通过谷歌搜索,我发现我正在寻找用于异常检测的机器学习算法(无监督算法)。进一步的调查表明,其中有很多,很难理解哪种情况适用于我的情况。由于我的数学知识有限,我无法阅读复杂的学者论文,并且正在寻找对该领域的初学者来说简单的东西。 我喜欢Python并且对R有点熟悉,因此很高兴看到这些语言的示例。请推荐一本好书或文章,这将有助于我解决问题。谢谢您的时间,请原谅我这么长时间的描述 有用的链接 类似问题: 时间序列和异常检测 使用Python进行时间序列异常检测 时间序列异常 时间序列异常检测算法 小波在基于时间序列的异常检测算法中的应用 我应该使用哪种算法? …

1
如何分割数据集以进行交叉验证,学习曲线和最终评估?
分割数据集的合适策略是什么? 我要求反馈对以下方法(不是像个别参数test_size或n_iter,但如果我用X,y,X_train,y_train,X_test,和y_test适当的,如果顺序是有道理的): (从scikit-learn文档扩展此示例) 1.加载数据集 from sklearn.datasets import load_digits digits = load_digits() X, y = digits.data, digits.target 2.分为训练和测试集(例如80/20) from sklearn.cross_validation import train_test_split X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0) 3.选择估算器 from sklearn.svm import SVC estimator = SVC(kernel='linear') 4.选择交叉验证迭代器 from sklearn.cross_validation import ShuffleSplit cv = ShuffleSplit(X_train.shape[0], n_iter=10, test_size=0.2, random_state=0) 5.调整超参数 …

5
神经网络中多类别,多标签分类任务的损失函数是什么?
我正在训练一个神经网络,以将一组对象分类为n类。每个对象可以同时属于多个类(多类,多标签)。 我读到,对于多类问题,通常建议使用softmax和分类交叉熵代替mse作为损失函数,并且我或多或少地了解了为什么。 对于我的多标签问题,使用softmax当然是没有意义的,因为每种类别的概率都应该彼此独立。因此,我的最后一层就是S型单元,将其输入压缩到每个类的概率范围为0..1。 现在我不确定应该使用什么损失函数。观察分类交叉熵的定义,我认为它不适用于此问题,因为它将仅考虑应为1的神经元输出,而忽略其他神经元的输出。 二进制交叉熵听起来更合适,但是我只看到它曾经针对单个输出神经元的二进制分类问题提到过。 我正在使用python和keras进行培训,以防万一。

9
R和Python在数据科学方面如何互补?
在许多教程或手册中,叙述似乎暗示R和python作为分析过程的补充组件共存。但是,对我而言,这两种语言似乎在做同样的事情。 所以我的问题是,这两种语言是否真的有专门的细分市场,还是使用一种或另一种只是个人喜好?
54 r  python  software 

10
使用Python进行机器学习
我正在考虑使用Python库进行机器学习实验。到目前为止,我一直依靠WEKA,但总体上还是很不满意。这主要是因为我发现对WEKA的支持不太好(很少有例子,文档稀疏,而社区支持在我的经验中不够理想),并且发现自己处在棘手的情况下没有任何帮助。我考虑此举的另一个原因是因为我真的很喜欢Python(我是Python的新手),并且不想回到Java编码中。 所以我的问题是,还有什么 全面 可扩展性(10万个功能,1万个示例)和 很好的受支持的库,可以在那里用Python进行ML? 我对进行文本分类特别感兴趣,因此想使用一个库,该库具有良好的分类器集合,功能选择方法(信息增益,Chi-Sqaured等)以及文本预处理功能(词干,停用词删除) ,tf-idf等)。 到目前为止,根据过去和其他地方的电子邮件线索,我一直在研究PyML,scikits-learn和Orange。关于我提到的上述三个指标,人们的感受如何? 还有其他建议吗?


5
如何解释SVM功能权重?
我试图解释通过拟合线性SVM给出的可变权重。 (我正在使用scikit-learn): from sklearn import svm svm = svm.SVC(kernel='linear') svm.fit(features, labels) svm.coef_ 我在文档中找不到任何具体说明如何计算或解释这些权重的信息。 体重的迹象与上课有关系吗?


6
为什么我会得到100%准确性的决策树?
我的决策树准确性达到100%。我究竟做错了什么? 这是我的代码: import pandas as pd import json import numpy as np import sklearn import matplotlib.pyplot as plt data = np.loadtxt("/Users/Nadjla/Downloads/allInteractionsnum.csv", delimiter=',') x = data[0:14] y = data[-1] from sklearn.cross_validation import train_test_split x_train = x[0:2635] x_test = x[0:658] y_train = y[0:2635] y_test = y[0:658] from sklearn.tree import DecisionTreeClassifier tree = …

4
数据有两个趋势。如何提取独立的趋势线?
我有一组数据,这些数据不是以任何特定的方式排序的,但是在绘制时显然具有两个不同的趋势。由于两个系列之间有明显区别,因此简单的线性回归在此实际上并不足够。是否有一种简单的方法来获取两个独立的线性趋势线? 作为记录,我使用Python,并且对编程和数据分析(包括机器学习)相当满意,但在绝对必要的情况下愿意跳到R。

1
时态网络中的链路异常检测
我碰到了一篇使用链接异常检测来预测趋势主题的论文,并且发现它非常有趣:该论文是“通过链接异常检测在社交流中发现新兴主题”。 我想将其复制到不同的数据集上,但是我对如何使用它们的方法并不熟悉。假设我有六个月的一系列节点网络快照。节点具有长尾度分布,大多数节点只有几个连接,而有些则有很多。新节点将在此时间段内出现。 我如何实现本文中使用的顺序折算归一化的最大似然计算来检测我认为可能是爆发的先兆的异常链接?还有其他更合适的方法吗? 我在理论上和实践上都在问。如果有人可以指出我用python或R实现该方法的方法,那将非常有帮助。 任何人?我知道你们那里的聪明人有一些开始思考的答案,

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.