数据科学

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

3
如何导出Jupyter笔记本的一个单元格?
我目前正在使用Jupyter笔记本/进行原型设计。我想在独立的iPython shell 上运行一些代码。 现在,我导出我的iPython代码(文件->下载为),然后在我的iPython中执行它(使用%run)。它可以工作,但是我只想导出一个单元格或一组单元格。因此,我只能运行在Jupyter笔记本中修改的内容。
10 ipython  jupyter 

2
如何规范化神经网络和决策林的数据
我有一个包含20000个样本的数据集,每个样本都有12种不同的功能。每个样本都在类别0或1中。我想训练一个神经网络和一个决策林来对样本进行分类,以便我可以比较结果和这两种技术。 我偶然发现的第一件事是数据的正确规范化。一个特征是在范围,另外一个在[ 30 ,40 ]和有一个特点,大多采用值8和有时7.因此,正如我在不同的来源读取,输入数据的适当的归一化对于神经网络至关重要。我发现,有许多可能的方法可以对数据进行规范化,例如:[0,106][0,106][0,10^6][30,40][30,40][30,40] 最小-最大归一化:输入范围被线性变换到间隔(或可替代[ - 1 ,1 ],关系?)[0,1][0,1][0,1][−1,1][−1,1][-1,1] Z-分数标准化:该数据被变换为具有零均值和单位方差: ynew=yold−meanVar−−−√ynew=yold−meanVary_{new}=\frac{y_{old}-\text{mean}}{\sqrt{\text{Var}}} 我应该选择哪种归一化?决策林是否也需要规范化?通过Z-Score归一化,我的测试数据的不同功能不在同一范围内。这可能是个问题吗?是否应该使用相同的算法对每个功能进行归一化,以便我决定对所有功能使用Min-Max还是对所有功能使用Z-Score? 是否有组合,其中数据被映射到,并且还具有零平均值(这将意味着该数据的非线性变换,并因此在方差和输入数据的其他特征的改变)。[−1,1][−1,1][-1,1] 我感到有点迷茫,因为我找不到可以回答这些问题的参考资料。


3
如何在Python中对相同的值进行分组并计算其频率?
刚开始使用Python分析的新手,请谨慎:-)我找不到该问题的答案-抱歉,如果它已经在其他地方以其他格式回答了。 我有一个零售商店的交易数据的数据集。变量及其说明如下: section:商店的部分,str; prod_name:产品名称,str; 收据:发票编号,整数; 出纳员,出纳员的编号,整数; 成本:物料的成本,浮动; 日期,格式为MM / DD / YY,为str; 时间,格式为HH:MM:SS,为str; 收据对于单笔交易中购买的所有产品具有相同的价值,因此可用于确定单笔交易中购买的平均数量。 最好的方法是什么?我本质上是想使用groupby()按收据变量相同的出现来对收据变量进行分组,以便创建直方图。 在pandas DataFrame中处理数据。 编辑: 以下是一些带有标头的示例数据(prod_name实际上是一个十六进制数字): section,prod_name,receipt,cashier,cost,date,time electronics,b46f23e7,102856,5,70.50,05/20/15,9:08:20 womenswear,74558d0d,102857,8,20.00,05/20/15,9:12:46 womenswear,031f36b7,102857,8,30.00,05/20/15,9:12:47 menswear,1d52cd9d,102858,3,65.00,05/20/15,9:08:20 从该样本集中,我希望获得一个直方图,该直方图显示两次出现的收据102857(因为该人在一项交易中购买了两件物品)和一次出现的收据102856和102858。注意:我的数据集并不庞大,大约一百万行。

1
HOW TO:深度神经网络权重初始化
给定艰巨的学习任务(例如高维,固有的数据复杂性),深度神经网络变得难以训练。为了缓解许多问题,可以采取以下措施: 规范化&&精选质量数据 选择其他训练算法(例如RMSprop而不是Gradient Descent) 选择较陡峭的渐变成本函数(例如,交叉熵而不是MSE) 使用不同的网络结构(例如,卷积层而不是前馈层) 我听说有一些聪明的方法可以初始化更好的权重。例如,您可以选择更好的幅度:Glorot和Bengio(2010) 对于S形单位:对具有的Uniform(-r,r)进行采样r=6Nin+Nout−−−−−−√r=6Nin+Noutr = \sqrt{\frac{6}{N_{in} + N_{out}}} 或双曲正切单元:对的Uniform(-r,r)进行采样r = 4 6ñ我ñ+ NØ ü Ť------√r=46Nin+Noutr =4 \sqrt{\frac{6}{N_{in} + N_{out}}} 有什么一致的方法可以更好地初始化权重?

3
建立机器学习模型以根据环境数据预测农作物产量
我有一个数据集,其中包含一个农场10年(2005年-2014年)的温度,降水和大豆产量的数据。我想根据此数据预测2015年的收益。 请注意,该数据集具有温度和降水量的每日值,但每年只有1个值,因为农作物的收获是在农作物生长季节结束时进行的。 我想建立一个回归模型或其他基于机器学习的模型来预测2015年的产量,该模型基于回归模型/其他模型,该模型是通过研究前几年的产量,温度和降水之间的关系得出的。 我熟悉使用scikit-learn进行机器学习。但是,不确定如何表示此问题。这里最棘手的部分是温度和降水是每天的,但产量仅为每年1个值。 我该如何处理?

1
XGBoost线性回归输出不正确
我是XGBoost的新手,请原谅我的无知。这是python代码: import pandas as pd import xgboost as xgb df = pd.DataFrame({'x':[1,2,3], 'y':[10,20,30]}) X_train = df.drop('y',axis=1) Y_train = df['y'] T_train_xgb = xgb.DMatrix(X_train, Y_train) params = {"objective": "reg:linear"} gbm = xgb.train(dtrain=T_train_xgb,params=params) Y_pred = gbm.predict(xgb.DMatrix(pd.DataFrame({'x':[4,5]}))) print Y_pred 输出为: [ 24.126194 24.126194] 如您所见,输入数据只是一条直线。所以我期望的输出是[40,50]。我在这里做错了什么?

1
提供用户产品肯定(点击数据)。如何生成否定(无点击数据)?
在推荐器中,很常见的是我们拥有带有标签的用户产品数据,例如“点击”。为了学习模型,我需要单击和不单击数据。 生成最简单的方法是获取在点击数据中找不到的用户产品对。但是,这可能会产生误导。例: user1, product1 (click) user2, product2 (click) user2, product3 (click) user3, product2 (click) 我可以将user1与product1以外的所有产品一起使用,并将它们标记为“ no_click”,依此类推。但是,事实可能并非如此。如果显示了product2,则user1可能会单击product2。但是仅仅因为向他展示了其他产品集-他没有机会决定点击/不点击product2。 那么如何解决一元数据问题呢?

2
测试数据的功能少于训练数据时该怎么办?
假设我们正在预测商店的销售量,而我的培训数据具有两组功能: 关于带有日期的商店销售的一项(“商店”字段不是唯一的) 一种关于商店类型(此处的“商店”字段是唯一的) 所以矩阵看起来像这样: +-------+-----------+------------+---------+-----------+------+-------+--------------+ | Store | DayOfWeek | Date | Sales | Customers | Open | Promo | StateHoliday | +-------+-----------+------------+---------+-----------+------+-------+--------------+ | 1 | 5 | 2015-07-31 | 5263.0 | 555.0 | 1 | 1 | 0 | | 2 | 5 | 2015-07-31 | 6064.0 | 625.0 …

2
科学家如何提出使用正确的隐马尔可夫模型参数和拓扑?
我了解如何在基因组序列(例如寻找基因)中使用隐马尔可夫模型。但是我不明白如何提出一个特定的马尔可夫模型。我的意思是,模型应具有多少个状态?有多少种可能的过渡?模型应该有一个循环吗? 他们怎么知道他们的模型是最优的? 他们是否想像出10种不同的模型,对这10种模型进行基准测试并发布最佳模型?

1
word2vec需要多少训练数据?
我想比较不同来源提到的同一单词之间的差异。也就是说,作者在使用诸如“民主”之类的定义不清的单词时有何不同。 一个简短的计划是 以提及“民主”一词的书籍为纯文本 在每本书中,替换democracy为democracy_%AuthorName% word2vec在这些书上训练模型 计算之间的距离democracy_AuthorA,democracy_AuthorB和“民主”的其他提及重新标记 因此,每个作者的“民主”都有自己的载体,用于比较。 但是,似乎word2vec需要远远超过几本书(每个重新标记的单词仅在一部分书中出现)来训练可靠的向量。在官方网页推荐数据集,包括数十亿字。 我只是想问一问word2vec,如果有的话,一个作者的书集的子集应该有多大?

1
目标函数和输出层激活函数之间的联系有多灵活?
在许多神经网络软件包中,将目标函数与输出层中的激活函数配对以使其最小化似乎是标准的。 例如,对于用于回归的线性输出层,具有平方误差目标函数是标准的(通常是唯一的选择)。另一个常见的配对是逻辑输出和对数损失(或交叉熵)。还有一个是softmax和多对数丢失。 使用符号表示激活前的值(权重之和乘以来自上一层的激活),表示激活,表示用于训练的地面真理,表示输出神经元的索引。一个ÿ 我žžz一个一个aÿÿy一世一世i 线性激活带有平方误差1一个一世= z一世一个一世=ž一世a_i=z_i1个2∑∀ 我(y一世− a一世)21个2∑∀一世(ÿ一世-一个一世)2\frac{1}{2} \sum\limits_{\forall i} (y_i-a_i)^2 乙状结肠激活与对数损耗/交叉熵目标 -Σ∀我(ÿ我*升Ô克(一我)+(1-Ÿ我)*升Ô克(1-一个我))一个一世= 11 + e- ž一世一个一世=1个1个+Ë-ž一世a_i = \frac{1}{1+e^{-z_i}}− ∑∀ 我(y一世* 升ø 克(一个一世)+ (1 − y一世)* l o g(1−ai))−∑∀i(yi∗log(ai)+(1−yi)∗log(1−ai))-\sum\limits_{\forall i} (y_i*log(a_i) + (1-y_i)*log(1-a_i)) Softmax激活与多类对数丢失目标ai=ezi∑∀jezjai=ezi∑∀jezĴa_i = \frac{e^{z_i}}{\sum_{\forall j} e^{z_j}}− ∑∀ 我(y一世* 升ø 克(一个一世))-∑∀一世(ÿ一世∗升ØG(一个一世))-\sum\limits_{\forall i} (y_i*log(a_i)) 这些是我所知道的,我希望有很多我还没有听说过。 似乎只有输出和目标在[0,1]范围内时,对数损失才会起作用,并且数值上稳定。因此,尝试使用具有logloss目标函数的线性输出层可能没有意义。除非有一个更通用的logloss函数可以处理超出范围的值?ÿÿy 但是,尝试使用平方误差目标的S型输出看起来并不那么糟糕。它应该稳定并且至少收敛。 我了解这些配对背后的某些设计是,它使得的公式-其中是目标函数的值-易于向后传播。但是,仍然有可能使用其他配对来找到该导数。此外,还有许多其他激活函数在输出层中并不常见,但可行的是,例如,并且不清楚可以应用什么目标函数。δËδžδËδž\frac{\delta E}{\delta z}ËËEtanh …

1
使用R构建决策树时,是否需要规范化数据?
因此,本周我们的数据集具有14个属性,每列具有非常不同的值。一列的值小于1,而另一列的值从三到四个整数。 上周我们学习了归一化,似乎您应该对数据具有非常不同的值进行归一化。对于决策树,情况是否相同? 我对此不确定,但归一化会影响来自同一数据集的结果决策树吗?似乎不应该,但是...
10 r  beginner 

3
本体论和语义网死了吗?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 3年前关闭。 语义网死了吗?本体论死了吗? 我正在为我的论文制定一个工作计划,该论文是“通过一套针对湿地周围利益群体的本体论的知识库”。我一直在为此进行研究和开发本体,但是我仍然不清楚很多事情。本体的建模语言是什么? 哪种本体论方法更好?OTK还是方法论? 是否有任何程序可以像 Cratilo是一款用于分析文本语料库和提取研究领域特定术语的软件(由Antioquia大学哲学研究所的Jorge Antonio Mejia,Francisco Javier Alvarez和John AlbeiroSánchez教授开发)。它可以对文本进行词法分析,识别出现在文本中的频率和位置的单词。通过识别过程,Crazylus识别了文本中的所有单词,并建立了数据库,成为对工作的分析草稿。还有其他类似工具吗? Cratilo找到的术语可以用于创建知识库吗? 可用于此类事物的现有开放语义框架是什么? 是否有自动创建RDF,OWL和XML的软件?尾巴如何工作?耶拿 芝麻?

1
给定前一卷积层的增量项和权重,如何计算卷积层的增量项?
我正在尝试训练具有两个卷积层(c1,c2)和两个隐藏层(c1,c2)的人工神经网络。我正在使用标准的反向传播方法。在反向遍历中,我根据前一层的误差,前一层的权重以及相对于当前层的激活函数的激活梯度来计算层(δ)的误差项。更具体地说,第l层的增量看起来像这样: delta(l) = (w(l+1)' * delta(l+1)) * grad_f_a(l) 我能够计算c2的梯度,该梯度连接到常规层中。我只是将h1的权重乘以它的增量。然后,我将该矩阵重塑为c2输出的形式,将其与激活函数的梯度相乘就完成了。 现在,我有了c2的增量项-这是大小为4D的矩阵(featureMapSize,featureMapSize,filterNum,patternNum)。此外,我具有c2的权重,它们是大小为3D的矩阵(filterSize,filterSize,filterNum)。 有了这两个项以及c1激活的梯度,我想计算c1的增量。 长话短说: 给定前一个卷积层的增量项和该层的权重,我如何计算卷积层的增量项?

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.