数据科学

数据科学专业人员,机器学习专家以及有兴趣了解该领域的人员的问答

3
处理定期增加的功能集
我正在研究欺诈检测系统。在此领域中,经常会出现新的欺诈行为,因此必须不断向模型中添加新功能。 我想知道(从开发过程的角度来看)处理它的最佳方法是什么?仅将新特征添加到特征向量中并重新训练分类器似乎是一种幼稚的方法,因为将花费太多时间来重新学习旧特征。 我正在考虑为每个功能(或几个相关功能)训练一个分类器,然后将这些分类器的结果与一个整体分类器组合在一起。这种方法有什么缺点吗?如何为整体分类器选择算法?

2
神经网络的外汇市场预测
我想使用ANN自动交易货币,最好是USD / EUR或USD / GBP。我知道这很困难,可能并不简单。我已经看过一些论文并做了一些实验,但是没有多大运气。我想从专家那里获得建议,以完成这项工作。 这是我到目前为止所做的: 我得到了2013年7月的逐笔价格数据。它具有买/卖/卖量/卖量。 提取所有时间段中从12PM到14PM的所有刻度。 根据此数据,创建一个数据集,其中每个条目依次包含n个出价值。 使用该数据来训练具有n-1个输入的ANN,输出是预测的第n个出价。 ANN具有n-1个输入神经元,(n-1)* 2 + 1个隐藏神经元和1个输出神经元。输入层具有线性TF,隐藏层具有对数TF,输出层具有线性TF。 先用n-125再用10进行反向传播训练网络。 对于这两个n,MSE均未跌破0.5,并在完整训练期间保持在该值。假设这可能是由于时间序列完全是随机的,我使用R包在数据集(pacf)上找到了部分自相关。这仅给出了2和3个滞后的非零值。 问题1:这到底是什么意思? 然后,我使用hurst指数来评估随机性。在R中,hurst(值)显示的值大于0.9。 问题2:应该几乎是随机的。它的值应该接近0.5吗? 我重复了n = 3的ANN训练。ANN经过培训,能够为MSE获得相当低的价值。但是,此ANN的计算输出与第(n-1)个出价值相差不大。看起来ANN会将最后一个出价作为下一个出价!我尝试了不同的网络结构(所有多层感知器),不同的训练参数等,但结果是相同的。 问题3:如何提高准确性?除了反向传播,还有其他训练方法吗?


4
气体消耗异常值检测-神经网络项目。结果不好
我试图通过建立神经网络模型来检测一些荷兰建筑物的能源消耗中的异常值。我的成绩很差,但找不到原因。 我不是专家,所以我想问你我可以改进什么,我做错了什么。这是完整的描述:https : //github.com/denadai2/Gas-consumption-outliers。 神经网络是具有反向传播的FeedFoward网络。如此处所述,我将数据集拆分为一个包含41'000行,9个要素的“小型”数据集,并尝试添加更多要素。 我训练了网络,但结果为14.14 RMSE,因此它无法很好地预测气体消耗,因此我无法连续运行良好的异常值检测机制。我发现在某些论文中,即使他们预测了每日或每小时的用电量,也存在诸如MSE = 0.01的误差。 我可以改善什么?我究竟做错了什么?你能看一下我的描述吗?

4
学习R中的序数回归?
我正在做一个项目,需要资源来使我快速入门。 数据集是关于30个左右变量的大约35000个观测值。大约一半的变量是类别变量,有些变量具有许多可能的值,即,如果将类别变量拆分为虚拟变量,则将有30多个变量。但是最大数量仍然可能达到几百个。(n> p)。 我们要预测的响应是5级(1,2,3,4,5)的序数。预测变量是连续的和分类的,每个变量的大约一半。到目前为止,这些是我的想法/计划:1.将响应视为连续并运行香草线性回归。2.运行名义和有序逻辑和概率回归3.使用MARS和/或另一种非线性回归 我熟悉线性回归。Hastie和Tibshirani对火星有足够的描述。但是当涉及到序数logit / probit时,我却茫然无措,尤其是在变量如此多且数据集很大的情况下。 到目前为止,r包glmnetcr似乎是我最好的选择,但是文档不足以让我知道我要去的地方。 我在哪里可以了解更多?

1
什么是最有效的数据索引技术
众所周知,有一些数据索引技术,被著名的索引应用程序使用,例如Lucene(对于Java)或Lucene.NET(对于.NET),MurMurHash,B + Tree等。对于No-Sql / Object面向数据库(我尝试使用C#编写/试用),您建议使用哪种技术? 我读到有关MurMurhash-2的信息,特别是v3的评论说Murmur非常快。Lucene.Net对此也有很好的评论。但是,它们的内存占用量一般如何?是否有任何有效的解决方案比Lucene或Murmur占用更少的空间(当然,如果更快的话更可取)?还是应该编写特殊的索引结构以获得最佳结果? 如果我尝试编写自己的索引,那么是否存在可接受的良好索引编制规模,例如数据节点的1%或数据节点的5%?任何有用的提示将不胜感激。

5
博士课程资格
Yann LeCun在其AMA中提到,他认为拥有博士学位对于在顶级公司找到工作非常重要。 我拥有统计学硕士学位,本科是经济学和应用数学,但现在我正在研究ML博士课程。大多数程序都说没有绝对必要的CS课程。但是我倾向于认为大多数被接受的学生至少具有非常强的CS背景。我目前担任数据科学家/统计员,但我的公司将为课程付费。我应该在本地大学上一些入门软件工程课程,以使自己成为更强大的候选人吗?对于从CS领域以外申请博士学位课程的人,您还有什么其他建议? 编辑:我每天都参加一些MOOC(机器学习,推荐系统,NLP)和代码R / python。我在统计语言方面有很多编码经验,并且每天都要执行ML算法。我对我可以放在应用程序上的东西更加关注。
10 education 

2
Neo4j与RDBMS执行时间的比较是否正确?
背景:以下是《图形数据库》一书,其中涵盖了《Neo4j in Action》一书中提到的性能测试: 图中的关系自然形成路径。查询或遍历图涉及以下路径。由于数据模型的本质是面向路径的,因此大多数基于路径的图数据库操作与数据的布局方式高度一致,从而使其极为高效。Partner和Vukotic在他们的《行动中的Neo4j》一书中使用关系存储和Neo4j进行了实验。 比较结果表明,图数据库比关联存储要快得多。Partner和Vukotic的实验试图在社交网络中查找朋友的朋友,最大深度为5。给定随机选择的任何两个人,是否存在连接他们的路径(最多五个关系)?对于包含1,000,000人(每个人约有50个朋友)的社交网络,结果强烈表明,图数据库是连接数据的最佳选择,如表2-1所示。 表2-1。在关系数据库中查找扩展的朋友与Neo4j中的有效查找 Depth RDBMS Execution time (s) Neo4j Execution time (s) Records returned 2 0.016 0.01 ~2500 3 30.267 0.168 ~110,000 4 1543.505 1.359 ~600,000 5 Unfinished 2.132 ~800,000 关系数据库和图形数据库在两个方面(朋友的朋友)都表现良好,足以让我们考虑在在线系统中使用它们。虽然Neo4j查询的运行时间是关系查询的三分之二,但最终用户几乎不会注意到两者之间的毫秒差。但是,到了深度三(朋友的朋友)时,很明显关系数据库不再能够在合理的时间范围内处理查询:完成这三十秒将是完全不可接受的用于在线系统。相比之下,Neo4j的响应时间却相对平稳:执行查询只需几分之一秒,对于在线系统而言绝对足够快。 在深度四处,关系数据库表现出严重的延迟,这使其几乎对在线系统毫无用处。Neo4j的时间安排也略有恶化,但此处的延迟处于响应型在线系统可接受的范围之内。最后,在深度五处,关系数据库仅花费很长时间才能完成查询。相反,Neo4j在大约两秒钟内返回结果。在深度5处,它几乎渗入整个网络,这是我们的朋友:对于许多实际的用例,我们可能会调整结果和时间安排。 问题是: 这是一种合理的测试,可以模拟在社交网络中除了可以找到的东西以外的其他东西吗?(例如,实际的社交网络通常具有大约50个朋友的节点;对于社交网络,“ 富人致富 ”模型似乎更自然,尽管可能是错误的。) 不管模拟的自然性如何,是否有任何理由相信结果不正确或无法再现?
10 databases  nosql  neo4j 

3
R的内存限制是什么?
在审阅“ 应用预测模型 ”时,审阅者指出: 我对统计学习(SL)教学法的一种批评是,在评估不同的建模技术时缺乏计算性能方面的考虑。SL着重于引导和交叉验证以优化/测试模型,因此计算量很大。再加上诸如装袋和增强之类的技术中所嵌入的重新采样,您就可以在大型数据集的有监督学习中拥有计算能力。实际上,R的内存约束对模型的大小施加了相当严格的限制,可以通过性能最佳的方法(如随机森林)来拟合模型的大小。尽管SL在针对小型数据集校准模型性能方面做得很好,但了解大型数据的性能与计算成本的关系一定会很不错。 R的内存约束是什么,它们是否对可以通过性能最佳的方法(例如随机森林)拟合的模型大小施加严格限制?
10 apache-hadoop  r 

4
为什么在使用库时很难授予效率?
任何小型数据库处理都可以通过Python / Perl / ...脚本轻松解决,该脚本使用该语言本身的库和/或实用程序。但是,在性能方面,人们倾向于使用C / C ++ /低级语言。根据需求量身定制代码的可能性似乎就是这些语言吸引BigData的原因-涉及内存管理,并行性,磁盘访问甚至低级优化(通过C / C ++级别的汇编构造)。 当然,这样的好处是没有代价的:编写代码,有时甚至是重新发明轮子,可能是非常昂贵/累赘的。尽管有很多可用的库,但是人们倾向于在需要授予性能时自行编写代码。是什么使性能断言在处理大型数据库时无法使用库? 例如,考虑一个企业,该企业会不断爬网网页并解析收集到的数据。对于每个滑动窗口,对提取的数据运行不同的数据挖掘算法。为什么开发人员会放弃使用可用的库/框架(用于爬网,文本处理和数据挖掘)?使用已经实现的东西不仅可以减轻对整个过程进行编码的负担,还可以节省大量时间。 一次拍摄: 是什么使自己编写代码成为性能的保证? 为什么在必须确保高性能的情况下依赖框架/库会有风险吗?

3
如何对24,000个类别的类别进行编码?
我目前正在研究基因组学的逻辑回归模型。我想作为协变量包括的输入字段之一是genes。大约有24,000个已知基因。在计算生物学中,这种程度的可变性具有许多功能,因此需要成千上万个样本。 如果我LabelEncoder()那些24K基因 然后OneHotEncoder()他们... 24,000列是否会使我的keras培训时间对于2.2 GHz四核i7 CPU不合理? 如果是这样,我可以采用其他方法进行编码吗? 我应该以某种方式尝试将模型的一部分专用于此功能吗? 这是否意味着我需要24K输入节点?



2
如何检测图像是否被照相购物?
我想检查JPG文件是否被操纵来更改内容。 我认为不是photoshop的: 播种 旋转中 (缩放) 影像解析度 智能手机可能会自动进行更改 我考虑的photoshopping: 在旧图像的顶部添加新图像 更改图像一部分的文本 如何自动检查? (并且:是否有现成的库?)

4
PCA是否被视为机器学习算法
我知道主成分分析是一种降维技术,即给定10个输入特征,它将产生较少数量的独立特征,这些特征是原始特征的正交和线性变换。 是PCA由本身视为学习算法或它是一个数据预处理步骤。

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.