数据科学

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

3
如何使大型混淆矩阵更易于阅读?
我最近发布了369个类的数据集(link)。我对它们进行了一些实验,以了解分类任务的难度。通常,如果有混淆矩阵来查看所犯错误的类型,我会喜欢它。但是,一个矩阵并不实用。369 × 369369×369369 \times 369 有没有办法提供有关大型混淆矩阵的重要信息?例如,通常有很多0并不是那么有趣。是否可以对类进行排序,以使大多数非零条目都位于对角线附近,以便允许显示作为完整混淆矩阵一部分的多个矩阵? 这是一个大混淆矩阵的例子。 野外的例子 EMNIST的图6 看起来不错: 很容易看到很多情况。但是,这些只有班级。如果使用,而不是只有一列的整个页面,这可能可能是3倍之多,但也仍然只有3 ⋅ 26 = 78类。甚至没有接近369类HASY或1000种ImageNet。2626263 ⋅ 26 = 783⋅26=783 \cdot 26 = 78 也可以看看 我对CS.stackexchange的类似问题

2
为什么学习率导致我的神经网络的权重急剧上升?
我正在使用tensorflow编写简单的神经网络以进行一些研究,并且在训练时遇到“ nan”权重的许多问题。我尝试了许多不同的解决方案,例如更改优化器,更改丢失,数据大小等,但无济于事。最后,我注意到学习速度的变化使我的体重产生了难以置信的变化。 使用.001(我认为是非常保守的)的学习率,最小化函数实际上将成倍地增加损失。一个世纪之后,损失可能从数千个跃升至一万亿个,然后达到无穷大('nan')。当我将学习率降低到.0001时,一切正常。 1)为什么单个数量级会产生这种影响? 2)为什么最小化函数实际上会执行与其功能相反的操作,并使损失最大化?在我看来,无论学习速度如何,都不应该发生这种情况。

2
word2vec中单词向量的特征
我正在尝试进行情绪分析。为了将单词转换为单词向量,我使用了word2vec模型。假设我的所有句子都在名为“句子”的列表中,并且将这些句子传递给word2vec,如下所示: model = word2vec.Word2Vec(sentences, workers=4 , min_count=40, size=300, window=5, sample=1e-3) 由于我对词向量不敏感,因此我有两个疑问。 1-将特征数量设置为300定义了单词向量的特征。但是这些功能意味着什么?如果此模型中的每个单词都由1x300 numpy数组表示,那么这300个功能对该单词表示什么? 2-在上述模型中,以“样本”参数表示的向下采样实际上有什么作用? 提前致谢。

1
如何使用匿名可缩放的数字预测变量来处理numer.ai竞争?
Numer.ai已经存在了一段时间,并且在网络上似乎只有很少的帖子或其他讨论。 系统不时更改,今天的设置如下: 训练(N = 96K)和测试(N = 33K)具有21个特征的数据,这些特征具有[0,1]中的连续值和二进制目标。 数据是干净的(无缺失值),每2周更新一次。您可以上传预测(在测试集上)并查看对数损失。测试数据的一部分甚至是实时数据,您都会获得良好预测的报酬。 我想讨论的是: 由于功能完全是匿名的,我认为我们无法进行太多的功能工程。所以我的方法很机械: 灵感来自于这个我使用的分类算法过滤掉哪些适合我的测试数据最好的训练数据。 找出一些不错的预处理 训练好的分类算法 建立他们的合奏(堆叠,..)。 具体问题: 关于步骤1:您有使用这种方法的经验吗?假设我对火车样本属于测试的概率(通常低于0.5)进行排序,然后取最大的K概率。您将如何选择K?我尝试使用15K ..但主要是为了在第3步中加快训练速度而设置了一个小的训练数据集。 关于步骤2:数据已经为0,1比例。如果我应用任何(类似于PCA的)线性变换,那么我将打破这一规模。如果您有这样的数值数据并且不知道实际上是什么,那么您将在预处理中尝试什么。 PS:我知道,因为numer.ai付钱给人们讨论这可以帮助我赚钱。但这是公开的,这将对那里的所有人有所帮助... PPS:当今的排行榜有一个有趣的模式:对数损失为0.64xx的前两名,然后是0.66xx的第三名,然后大多数预测指标达到0.6888x。 因此,似乎只有很小的顶尖领域,并且有很多中等成功的人(包括我)。

1
通过随机森林和线性回归得出的特征重要性不同
应用套索对特征进行排名并得到以下结果: rank feature prob. ================================== 1 a 0.1825477951589229 2 b 0.07858498115577893 3 c 0.07041793111843796 请注意,数据集具有3个标签。不同标签的功能等级相同。 然后将随机森林应用于相同的数据集: rank feature score =================================== 1 b 0.17504808300002753 6 a 0.05132699243632827 8 c 0.041690685195283385 请注意,排名与套索产生的排名有很大不同。 如何解释差异?是否暗示基础模型固有地是非线性的?

3
在神经网络中选择正则化方法
训练神经网络时,至少有四种方法可以使网络规范化: L1正则化 L2正则化 退出 批量归一化 当然还有权重共享和减少连接数之类的其他事情,从严格意义上讲,这可能不是正则化。 但是,如何选择使用哪些正则化方法呢?是否有比“仅尝试一切,看看有什么用”的更原则的方法?

3
哪一种(如果有的话)机器学习算法被认为是可解释性和预测之间的良好折衷?
描述诸如梯度增强机器或神经网络之类的算法的机器学习教科书经常评论说这些模型擅长预测,但这是以丧失可解释性或可解释性为代价的。相反,单决策树和经典回归模型被标记为擅长解释,但是与更复杂的模型(例如,随机森林或SVM)相比,(相对)较差的预测准确性。是否存在公认的代表两者之间良好权衡的机器学习模型?是否有任何文献列举算法的特征以使它们可以解释?(此问题以前是在交叉验证中提出的)

3
在用户只能看到所有项目的一小部分的情况下,什么样的推荐引擎?
我想向文档管理系统添加推荐功能。它是一台用于存储大多数公司文档的服务器。员工浏览Web界面,然后单击以下载(或在线阅读)他们想要的文档。 每个员工只能访问所有文档的一部分: 我的目标:向员工推荐其队友最近打开的文档,或者作为他们刚刚打开的文档的附件的电子表格,或者他们可能想要阅读的任何内容。 有许多公开数据的推荐引擎(所有Netflix用户都可以观看所有电影),但是这里的情况很特殊:每个员工只拥有全部文档的一小部分的权限,而在Netflix中,任何用户都可以访问所有电影。 示例:Employee1可以读取DocumentA,但不能读取DocumentB。Employee2可以读取,而Employee3则不能读取。 当然,我不能向员工推荐她/他无权访问的文档。此外,我想我应该仅在有权访问文档的员工的背景下考虑文档的普及程度。为了使事情变得更加复杂,员工有时会从一个项目转移到另一个项目,这会影响他们可以访问的文档。 这种问题有名字吗? 能否在不降低精度/效率的情况下将其减少到更常见的问题? 如果没有,哪种方法对这种问题会很好? 注意:类似Netflix的推荐引擎还不够好。如果只有10名员工(包括我在内)可以访问,则具有50个视图的文档应突出显示,而如果有100000名员工可以访问,则不应突出显示。 如果需要,这里有一些具体的数据:每个公司平均有1000名员工,大约10000个文档,一个员工每天点击大约5个文档。每个项目平均有10名员工可以访问它,并且有大约100个文档。每个员工平均并行进行5个项目。

2
基准数据集以进行协作过滤
我想测试一种用于协同过滤的新算法。典型的用例是根据类似于特定用户的用户偏好来推荐电影。 研究人员经常使用哪些常见的基准数据集来测试其算法?我知道在计算机视觉中人们经常使用MNIST或CIFAR,但我还没有找到用于协作过滤的类似数据集。

3
从Scikit-Learn中的Random Forest Regressor导出权重(公式)
我使用Scikit Learn in Python(Random Forest Regressor)训练了一个预测模型,我想以某种方式提取每个功能的权重,以创建一个用于手动预测的excel工具。 我发现的唯一东西是,model.feature_importances_但无济于事。 有什么办法可以实现? def performRandomForest(X_train, y_train, X_test, y_test): '''Perform Random Forest Regression''' from sklearn.ensemble import RandomForestRegressor model = RandomForestRegressor() model.fit( X_train , y_train ) #make predictions expected = y_test predicted = model.predict( X_test ) #summarize the fit of the model mse = np.mean(( predicted - …

1
SVM和铰链丢失之间有什么关系?
我和我的同事正在努力解决逻辑回归和SVM之间的差异。显然,他们正在优化不同的目标函数。SVM是否像说它是一个区分性分类器那样简单,可以简单地优化铰链损耗?还是比这更复杂?支持向量如何发挥作用?松弛变量呢?为什么不能像拥有乙状脑激活功能的深层神经网络那样拥有深层的SVM?



2
如何模拟用户在亚马逊上的购买行为?
在我们的数据科学最后课程项目中,我们提出了以下建议: 给 Amazon Reviews数据集,我们计划提出一种算法(该算法大致基于Personalized PageRank),该算法确定将广告投放到Amazon的战略位置。例如,亚马逊上有数百万种产品。数据集使您了解哪些产品相关,哪些产品组合在一起,一起查看等。(我们可以使用还查看和购买的信息构建图表),还为您提供与每种产品相关的评论14年。使用所有这些信息,我们将在亚马逊上对产品进行评分/排名。现在,您是Amazon上的供应商,希望提高其产品页面的访问量。我们的算法可帮助您确定图表中的战略位置,您可以在其中放置广告,从而获得最大流量。 现在,我们教授的问题是,在没有实际用户的情况下,您将如何验证算法?我们说- 我们可以为一组固定的用户建模。与第一跳或第五跳相比,某些用户更频繁地跟踪also_bought并also_viewed链接到第三跳。那里的用户行为是正态分布的。其他一些用户几乎无法超越第一跳。这组用户的行为呈指数分布。 我们的教授说-无论用户遵循什么发行方式,用户都在使用相似产品的链接进行导航。您的排名算法还考虑了b / w 2个相似度产品对产品进行排名。因此,使用此验证算法有点cheating。带有其他一些用户行为,这些行为更逼真且与算法正交。 关于如何模拟用户行为的任何想法?我很乐意提供有关该算法的更多详细信息。

3
情感分析教程
我正在尝试理解情绪分析以及如何使用任何语言(R,Python等)应用它。我想知道互联网上是否有适合我学习的教程。我用谷歌搜索,但是我不是很满意,因为它们不是教程,而是更多的理论。我想要理论和实际的例子。

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.