数据科学

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

4
邮政地址模糊匹配怎么办?
我想知道当邮政地址的格式不同或其中一个拼写错误时如何匹配邮政地址。 到目前为止,我已经找到了不同的解决方案,但是我认为它们已经过时并且效率不高。我确信存在一些更好的方法,因此,如果您有供我阅读的参考文献,那么我相信这是一个可能使多个人感兴趣的主题。 我找到的解决方案(示例在R中): Levenshtein距离,它等于将一个单词转换为另一个单词时必须插入,删除或更改的字符数。 agrep("acusait", c("accusait", "abusait"), max = 2, value = TRUE) ## [1] "accusait" "abusait" 音素的比较 library(RecordLinkage) soundex(x<-c('accusait','acusait','abusait')) ## [1] "A223" "A223" "A123" 使用拼写校正器(最终是像Peter Norvig那样的贝叶斯校正器),但我猜它在地址上不是很有效。 我考虑过使用Google的建议,但同样,在个人邮政地址上效率也不高。 您可以想象使用机器学习监督方法,但是您需要存储用户拼写错误的请求,这对我来说不是一个选择。

1
可以在T-SNE可视化中将更近的点视为更相似吗?
我从欣顿的论文中了解到,T-SNE在保持本地相似性方面做得很好,在维护全球结构(集群化)方面做得很好。 但是我不清楚在2D t-sne可视化中出现的点是否可以假定为“更相似”的数据点。我正在使用具有25个功能的数据。 例如,观察下面的图像,我是否可以假定蓝色数据点与绿色数据点更相似,特别是最大的绿色点群集?或者,以不同的方式询问,是否可以假设蓝点与最近的群集中的绿色点比其他群集中的红色点更类似于绿色点?(忽略带红色簇中的绿色点) 当观察其他示例时,例如在sci-kit上学习的示例流形学习中,可以假定这一点是正确的,但是我不确定统计学上是否正确。 编辑 我已经手动计算了与原始数据集的距离(平均成对欧几里得距离),而可视化实际上代表了关于数据集的比例空间距离。但是,我想知道从t-sne的原始数学公式中得出的结果是否完全可以接受,而不仅仅是巧合。


2
使用属性来分类/集群用户配置文件
我有一个用户从网站购买产品的数据集。 我具有的属性是用户ID,用户的地区(州),产品的类别ID,产品的关键字ID,网站的关键字ID和产品的销售金额。 目的是使用产品和网站的信息来识别用户的身份,例如“年轻的男性玩家”或“待在家里的妈妈”。 我附上了一个示例图片,如下所示: 产品共有1940个唯一类别和13845个唯一关键字。对于该网站,有13063个唯一关键字。整个数据集非常庞大,因为这是每日的记录数据。 我正在考虑聚类,因为它们是无监督的,但是这些id是没有数字含义的有序数字。然后我不知道如何应用该算法。我也在考虑分类。如果我根据购买的产品的销售额添加一列类。我认为群集是更可取的。我不知道在这种情况下应该使用哪种算法,因为关键字id的尺寸可能会超过10000(每个产品可能有很多关键字,网站也是如此)。我需要在该项目中使用Spark。 有人可以帮我一些想法或建议吗? 非常感谢!

2
快速的k均值算法,例如10 ^ 10分?
我正在寻找在一组10维点上进行k均值聚类的方法。问题是:有10 ^ 10分。 我只是在寻找最大群集的中心和大小(假设10到100个群集);我不在乎每个点最终会聚在什么簇上。专门使用k均值并不重要;我只是在寻找类似的效果,任何近似的k均值或相关算法都很好(minibatch-SGD表示,...)。由于GMM在某种意义上与k均值存在相同的问题,因此在相同大小的数据上执行GMM也很有趣。 在这种规模下,对数据进行二次采样可能不会显着改变结果:使用第1/10000个数据样本查找相同的前10个聚类的几率非常高。但是即使那样,这仍然是一个10 ^ 6的问题,超出了易处理的范围。

1
Ruby的机器学习库
是否有相对完善的Ruby机器学习库(包括用于有监督和无监督学习的各种算法),经过严格测试并有据可查的文档?我喜欢Python的scikit-learn,它提供了令人难以置信的文档,但是客户更喜欢用Ruby编写代码,因为这是他们所熟悉的。 理想情况下,我正在寻找一个库或一组库,它们像scikit和一样numpy,可以实现各种数据结构,例如稀疏矩阵以及学习者。 我们需要做的一些例子是使用SVM进行二进制分类,并实现一揽子单词模型,我们希望将其与任意数值数据连接起来,如本StackOverflow帖子所述。

2
不平衡数据的二进制分类模型
我有一个具有以下规格的数据集: 训练193,176个样本的数据集,具有2,821个阳性 包含82,887个样本和673个阳性样本的测试数据集 有10个功能。 我想执行一个二进制分类(0或1)。我面临的问题是数据非常不平衡。在对数据进行归一化和缩放以及一些特征工程并使用几种不同的算法之后,这些是我可以实现的最佳结果: mean square error : 0.00804710026904 Confusion matrix : [[82214 667] [ 0 6]] 即只有6个正确的正面命中率。这是使用逻辑回归。这是我尝试过的各种方法: 不同的算法,例如RandomForest,DecisionTree,SVM 更改参数值以调用函数 一些基于直觉的要素工程以包含复合要素 现在,我的问题是: 我该怎么做才能增加正面的点击次数? 在这种情况下,如何确定是否存在过度拟合?(我曾尝试绘图等。) 在什么时候可以得出结论,也许这可能是我所能做到的最佳选择?(考虑到673中只有6个匹配项,这似乎很可悲) 有没有办法使正样本实例更重,从而提高模式识别能力并导致更多匹配? 哪些图形化图可以帮助检测离群值或关于哪种模式最适合的直觉? 我将scikit-learn库与Python一起使用,并且所有实现都是库函数。 编辑: 以下是一些其他算法的结果: 随机森林分类器(n_estimators = 100) [[82211 667] [ 3 6]] 决策树: [[78611 635] [ 3603 38]]

4
用高度偏向的数据集训练树组合有什么意义?
我有一个高度偏向的二进制数据集-否定类的示例比肯定类多1000倍。我想在此数据上训练树合奏(例如超随机树或随机森林),但是很难创建包含足够的正类示例的训练数据集。 采取分层抽样方法以规范阳性和阴性样本数量的含义是什么?换句话说,例如人为地增加(通过重采样)训练集中肯定的班级示例的数量是一个坏主意吗?

4
寻找例如基础架构堆栈/工作流程/管道
我试图了解现实世界中所有“大数据”组件如何一起发挥作用,例如hadoop,monogodb / nosql,storm,kafka等……我知道这是用于不同的类型,但我想了解更多有关它们在应用程序中的交互的信息,例如,为应用程序,网络应用程序,在线商店思考机器学习。 我有访问者/会话,交易数据等并存储;但是,如果我想即时提出建议,则无法在我拥有的一些大型日志数据库上运行慢的地图/归约工作。在哪里可以了解有关基础架构方面的更多信息?我认为我可以自己使用大多数工具,但是将它们相互插入似乎是一种艺术。 有公开的例子/用例等吗?我知道各个管道在很大程度上取决于用例和用户,但是仅示例对我来说可能非常有用。

1
梯度增强树可以满足任何功能吗?
对于神经网络,我们具有通用逼近定理,该定理指出神经网络可以逼近的紧子集上的任何连续函数。[RñRnR^n 梯度增强树有类似的结果吗?由于您可以继续添加更多分支,这似乎是合理的,但是我找不到关于该主题的任何正式讨论。 编辑:我的问题似乎非常类似于 回归树可以连续预测吗?,尽管可能不会问完全相同的问题。但是请参阅该问题进行相关讨论。

1
如何沿着侧面图像添加非图像特征作为CNN的输入
我正在训练一个卷积神经网络以对雾条件下的图像进行分类(3类)。但是,对于约150.000张图像中的每张图像,我还具有四个可用的气象变量,这些变量可能有助于预测图像的类别。我想知道如何将气象变量(例如温度,风速)添加到现有的CNN结构中,从而有助于分类。 我已经想到的一种方法是在CNN旁边创建另一个(小型)前馈神经网络,然后在密集层将CNN层的输出和非图像神经网络的隐藏层彼此连接。 我能想到的第二种方法就是将这些要素与致密层接触。但是,在这种情况下,非图像变量(我认为)只能进行线性预测。 还有其他(更好)的方法可以将非图像特征包括在模型中吗?考虑到我拥有的数据量,什么是明智的选择呢? 我还有一个问题是,在使用这些非图像特征进行训练时,是否应该解冻卷积层?Resnet-18的这些层(在ImageNet上初始化为预先训练的)已经使用图像进行了微调。我的猜测是,我应该使它们保持冻结状态,并且仅解冻稠密层,因为只有在这种情况下,非图像特征才与图像特征“接触”(在CNN的较早版本中才出现)。如果我错了,请这样说!

3
ImageNet中是否有人类?有没有与人类有关的课程?
如果我查看Internet上Imagenet类的众多资源之一,就找不到一个与人类有关的类(不,收割者不是一个收割者,但这就是我所知的爸爸长腿,一种蜘蛛:-)。那怎么可能?我想至少有预期person类,甚至更具体的东西,例如man,woman,toddler等之类的没有。为什么?难道飞翡丽和她的团队有意识地选择不具有人的图像数据库?我看错文件了吗?为了解决这个问题,我们可以考虑ImageNet2014年以后的版本。

5
机器学习入门数学书籍
我是一位计算机科学工程师,没有统计学或高级数学背景。 我正在学习Raschka和Mirjalili撰写的《Python机器学习》一书,但是当我试图理解机器学习的数学时,我无法理解一位朋友向我推荐的《统计学习的要素》这本书。 您知道用于机器学习的更简单的统计资料和数学书籍吗?如果不这样做,我应该怎么走?

1
使用多个时间序列的RNN
我正在尝试使用时间序列作为输入来创建神经网络,以便根据每个序列的类型对其进行训练。我读到,使用RNN可以将输入分为几批,然后将时间序列的每个点都用于单个神经元,并最终训练网络。 我正在尝试做的是使用多个时间序列作为输入。因此,例如,您可能会收到来自两个传感器的输入。(因此有两个时间序列),但是我想同时使用它们以得到最终结果。 另外,我也不打算预测时间序列的未来值,而是要根据所有这些值进行分类。 我应该如何解决这个问题? 有没有办法使用多个时间序列作为RNN的输入? 我应该尝试将时间序列汇总为一个吗? 还是我应该只使用两个不同的神经网络?如果最后一种方法是正确的,那么如果时间序列的数量增加了,这是否也不会占用大量计算机资源呢?
14 time-series  rnn 

1
如何在朴素贝叶斯分类器计算中处理零因子?
如果我有一个训练数据集,并且在上面训练了一个朴素贝叶斯分类器,并且我的属性值的概率为零。如果以后要预测新数据的分类,该如何处理?问题是,如果计算中为零,则整个乘积将变为零,无论我得到多少其他值(也许会找到其他解决方案)。 例: P(x|spam=yes)=P(TimeZone=US|spam=yes)⋅P(GeoLocation=EU|spam=yes)⋅ ... =0.004P(x|spam=yes)=P(TimeZone=US|spam=yes)⋅P(GeoLocation=EU|spam=yes)⋅ ... =0.004P(x|spam=yes) = P(TimeZone = US | spam=yes) \cdot P(GeoLocation = EU | spam = yes) \cdot ~ ... ~ = 0.004 P(x | s p a m = n o )= P(T我中号ë žø Ñ Ë = û小号| spam=no)⋅ P(g ^ Ë ö 大号Ô Ç …

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.