统计和大数据

对统计,机器学习,数据分析,数据挖掘和数据可视化感兴趣的人的问答

1
稀疏的训练集是否会对SVM产生不利影响?
我正在尝试使用SVM将消息分类为不同的类别。我已经从训练集中汇编了一些理想的单词/符号列表。 对于表示消息的每个矢量,我将相应行设置为1是否存在该单词: “语料库”是:[玛丽,小羊羔,星星,闪烁] 第一条消息:“玛丽有只小羊羔”-> [1 1 1 0 0] 第二条消息:“闪烁的小星星”-> [0 1 0 1 1] 我认为这在SVM中是相当常见的设置,但是我的问题是,如果集合中包含成千上万个单词,那么实际上每条消息仅显示1-2个单词会怎样?我的训练向量集的线性相关性是否会对算法的收敛能力产生不利影响?

2
保留语义的领域不可知特征工程?
特征工程通常是机器学习的重要组成部分(在2010年赢得了KDD杯冠军的过程中被大量使用)。但是,我发现大多数功能工程技术要么 破坏基本功能的任何直观含义,或 是特定于特定领域甚至特定类型的功能。 前者的经典示例是主成分分析。在我看来,主题专家将拥有的有关功能的任何知识都将通过将这些功能转换为主要组件而被破坏。 将其与将日期转换为“月中的某天”和“星期几”的特征的简单技术进行对比。潜在的含义仍然保留在新功能中,但是显然,此特定技术仅适用于日期,不适用于任意功能。 是否有任何标准的要素工程技术体系都没有破坏基本要素的含义,同时又适用于任意领域(或至少各种各样的领域)?

2
将机器学习应用于DDoS过滤
在斯坦福大学的机器学习课程中, Andrew Ng提到了将ML应用于IT。一段时间后,当我在站点上获得中等大小的DDoS(大约2万个bot)时,我决定使用简单的神经网络分类器与之抗衡。 我已经在大约30分钟的时间内编写了这个python脚本:https : //github.com/SaveTheRbtz/junk/tree/master/neural_networks_vs_ddos 它采用pyBrain,并采取3个nginx的日志作为输入,其中两个来训练神经网络: 很好的查询 与坏人 和一个日志进行分类 来自错误的查询 0.0.0.0 - - [20/Dec/2011:20:00:08 +0400] "POST /forum/index.php HTTP/1.1" 503 107 "http://www.mozilla-europe.org/" "-" ...好的... 0.0.0.0 - - [20/Dec/2011:15:00:03 +0400] "GET /forum/rss.php?topic=347425 HTTP/1.0" 200 1685 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9) Gecko/2008052906 Firefox/3.0" ...它构造了一个字典: ['__UA___OS_U', '__UA_EMPTY', '__REQ___METHOD_POST', '__REQ___HTTP_VER_HTTP/1.0', …


2
预测多个目标或类别?
假设我正在建立一个预测模型,在该模型中我试图预测多个事件(例如,掷骰子和掷硬币)。我熟悉的大多数算法都只能使用一个目标,因此我想知道是否存在针对此类问题的标准方法。 我看到两个可能的选择。也许最幼稚的方法是将它们简单地视为两个不同的问题,然后组合结果。但是,当两个目标不是独立的(在许多情况下它们可能非常依赖)时,这将带来严重的缺陷。 对我来说,更明智的方法是合并目标属性。因此,在骰子和硬币的情况下,我们将具有状态(等)。但是,这可能导致复合目标中的状态/类的数量变得相当大(很快,如果我们有2个骰子,等等)。此外,在一个属性是分类属性而另一个属性是数字属性的情况下,这似乎很奇怪(例如,如果预测温度和降水类型)。6⋅2=126⋅2=126\cdot 2=12(1,H),(1,T),(2,H)(1,H),(1,T),(2,H)(1, H), (1, T), (2, H) 有没有标准的方法来处理这类事情?另外,是否有专门设计的学习算法来处理此问题?

2
调整p值以进行自适应顺序分析(用于卡方检验)?
我想知道哪些统计文献与以下问题有关,甚至可能有关于如何解决该问题的想法。 想象以下问题: 对于某些疾病,我们有4种可能的治疗方法。为了检查哪种治疗更好,我们进行了一次特殊的试验。在试验中,我们从没有受试者开始,然后一个接一个地将更多受试者输入试验。每个患者随机分配到4种可能的治疗方法之一。治疗的最终结果是“健康”或“仍然生病”,我们可以立即知道该结果。这意味着,在任何给定的点上,我们都可以创建一个2 x 4的列联表,说明我们有多少受试者属于哪种治疗/最终结果。 在任何时候,我们都可以检查列联表(例如,使用卡方检验),以查看这4种可能的治疗方法之间在统计学上是否存在不同的治疗方法。如果其中一个比较好,那么其余所有-我们将停止试验并选择它作为“优胜者”。如果某个试验被证明比其他三个试验都更糟,我们将把他从试验中删除,并停止提供给将来的患者。 但是,这里的问题是我如何针对可以在任何给定点执行测试,测试之间存在相关性以及过程的自适应性质操纵过程的事实来调整p值。例如,如果发现某些治疗方法“不好”)?


2
SVM,变量交互和训练数据拟合
我有2个一般/更多理论问题。 1)我很好奇在建立预测模型时SVM如何处理变量交互。例如,如果我有两个特征f1和f2,并且目标取决于f1,f2,并说f1 * f2(或某些函数h(f1,f2)),则SVM是否适合(不仅适用于OOS,甚至适用于训练数据)在仅包括f1和f2的特征中包括f1,f2和h(f1,f2)时是否有所改善?SVM算法处理特征交互吗?SVM如何尝试在更高维度的空间中创建超平面,但似乎并不确定。 2)在将SVM拟合训练数据时,如果具有足够的功能并找到最佳参数(通过蛮力搜索或其他方法),SVM会总是琐碎地拟合训练数据吗?不知道我的措词是否正确,但是基本上,如果功能中有足够的方差/噪声,SVM是否总是100%适合训练数据?相反,如果SVM无法100%拟合训练数据,这是否意味着某些影响目标变量的信息(或其他功能)并未在数据中捕获? 谢谢 小澄清。我指的是内核SVM

1
平均绝对误差的名称类似于Brier分数?
昨天的问题是确定模型的准确性,该模型估计事件的概率使我对概率评分感到好奇。 的石南木得分 是均方误差度量。类似的平均绝对错误性能是否测量 也有名字吗1N∑i=1N(predictioni−referencei)21N∑i=1N(predictioni−referencei)2\frac{1}{N}\sum\limits _{i=1}^{N}(prediction_i - reference_i)^2 1N∑i=1N|predictioni−referencei|1N∑i=1N|predictioni−referencei|\frac{1}{N}\sum\limits _{i=1}^{N}|prediction_i - reference_i|

1
确定估计事件概率的模型的准确性
我正在为一个具有两个结果a和b的事件建模。我创建了一个模型,该模型估计a或b发生的可能性(即模型将计算a发生的可能性为40%,b发生的可能性为60%)。 根据模型的估算,我在试验结果方面有大量记录。我想量化模型使用此数据的准确性-这有可能吗?


3
计算从连续分布中采样的数据模式
拟合连续分布采样数据的“模式”的最佳方法是什么? 由于该模式在技术上是不确定的(对吗?),以便进行连续分配,所以我真的在问“您如何找到最普遍的价值”? 如果您假设父分布是高斯分布,则可以对数据进行分箱,然后发现模式是计数最大的分箱位置。但是,如何确定垃圾箱大小?有健壮的实施方案可用吗?(即对异常值具有鲁棒性)。我使用python/ scipy/ numpy,但我可以轻松进行翻译R。

3
用于多层建模的说明性数据集和分析
我最近参加了有关多级建模的入门课程。我们使用的大多数数据集和示例均来自社会科学。我刚刚在生物统计学部门进行了为期2周的实习,他们希望我在医院之间以及5年以上的高死亡率的紧急情况下,开展有关患者结局水平变化的项目,以应对这种情况。时间跨度。我将从下周开始实习,我希望能找到一本书或在线资源,其中已经进行了类似的分析(最好是使用R,Stata或MLwiN),最好是它们可以为读者提供数据集。任何链接将是最欢迎的。 编辑:我将使用详细记录患者住院治疗所有已记录方面的数据集。感兴趣的主要结果是入院后30天内死亡。


2
未配对的t检验需要哪些正态假设?他们什么时候见面?
如果我们希望进行配对的t检验,则要求(如果我理解正确的话)是匹配的度量单位之间的平均差应正态分布。 在成对的t检验中,即铰接式(AFAIK)要求匹配的度量单位之间的差异将呈正态分布(即使两个比较组中每个组的分布均不呈正态)。 但是,在不成对的t检验中,我们不能谈论匹配的单位之间的差异,因此我们要求两组的观察值是正常的,以使它们的均值差异是正常的。这引出我的问题: 两个非正态分布是否有可能使它们的均值之差呈正态分布?(因此,据我所知,满足了我们对它们执行未配对t检验的必要要求)。 更新:(谢谢大家的回答)我看到我们正在寻找的一般规则确实是均值的差将是正常的,由于CLT,这似乎是一个很好的假设(在足够大的n下)。对于这对于不成对的t检验如何起作用,这对我来说是令人惊奇的(不足为奇,仅是令人惊奇的),但对于单样本t检验,效果却不佳。这是一些R代码来说明: n1 <- 10 n2 <- 10 mean1 <- 50 mean2 <- 50 R <- 10000 # diffs <- replicate(R, mean(rexp(n1, 1/mean1)) - mean(runif(n2, 0, 2*mean2))) # hist(diffs) P <- numeric(R) MEAN <- numeric(R) for(i in seq_len(R)) { y1 <- rexp(n1, 1/mean1) y2 <- runif(n2, 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.