数据科学

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

2
xgBoost中的成对排名模型如何拟合?
据我所知,要训练学习对模型进行排名,您需要在数据集中包含三件事: 标签或相关性 组或查询ID 特征向量 例如,Microsoft Learning to Rank数据集使用此格式(标签,组ID和功能)。 1 qid:10 1:0.031310 2:0.666667 ... 0 qid:10 1:0.078682 2:0.166667 ... 我正在尝试利用GBM进行成对排名的xgBoost。他们有一个排名任务的示例,该任务使用C ++程序在上述Microsoft数据集上学习。 但是,我正在使用他们的Python包装器,似乎无法找到可以在其中输入组ID的地方(qid上述)。我可以仅使用功能和相关性分数来训练模型,但是我感觉自己缺少一些东西。 这是一个示例脚本。 gbm = XGBRegressor(objective="rank:pairwise") X = np.random.normal(0, 1, 1000).reshape(100, 10) y = np.random.randint(0, 5, 100) gbm.fit(X, y) ### --- no group id needed??? print gbm.predict(X) # should be in …
14 search  ranking  xgboost  gbm 


3
Keras的model.predict函数的输出是什么意思?
我建立了一个LSTM模型来预测Quora官方数据集上的重复问题。测试标签为0或1。1表示问题对重复。使用建立模型后model.fit,我将model.predict在测试数据上使用模型进行测试。输出是一个值数组,如下所示: [ 0.00514298] [ 0.15161049] [ 0.27588326] [ 0.00236167] [ 1.80067325] [ 0.01048524] [ 1.43425131] [ 1.99202418] [ 0.54853892] [ 0.02514757] 我只显示数组中的前10个值。我不明白这些值是什么意思,每个问题对的预计标签是什么?


4
Gensim Word2Vec实现中的时期数
Word2Vec实现中有一个iter参数gensim gensim.models.word2vec.Word2Vec类(句子=无,大小= 100,alpha = 0.025,窗口= 5,min_count = 5,max_vocab_size =无,sample = 0,seed = 1,workers = 1,min_alpha = 0.0001,sg = 1,hs = 1,否定= 0,cbow_mean = 0,hashfxn =,iter = 1,null_word = 0,trim_rule = None,sorted_vocab = 1) 指定时期数,即: iter =语料库上的迭代次数(时期)。 有谁知道这是否有助于改进语料库模型? 有什么理由将iter默认设置为1?增加No不会有太大影响。时代? 是否有关于如何设置否的科学/经验评估。时代? 与分类/回归任务不同,网格搜索方法不会真正起作用,因为矢量是以无监督方式生成的,而目标函数只是通过分层softmax或负采样进行。 是否有一个早期停止机制来缩短否。向量收敛后的历元数?分层softmax或负采样目标可以收敛吗?

3
熊猫数据框到DMatrix
我试图在scikit学习中运行xgboost。而且我只使用Pandas将数据加载到dataframe中。我应该如何在xgboost中使用pandas df。我对运行xgboost算法所需的DMatrix例程感到困惑。

4
无需人工数据库的AlphaGo(以及其他使用强化学习的游戏程序)
我不是该主题的专家,我的问题可能很幼稚。它源于一篇文章,旨在了解AlphaGo计划中使用的强化学习的功能和局限性。 AlphaGo程序的构建除其他外(蒙特卡洛对树木的探索等),是从庞大的人类围棋游戏数据库中训练出来的神经网络,然后通过发布其版本来增强神经网络。多次针对自己进行编程。 现在我不知道会发生什么事情,我们试图建立一个没有人类数据库的程序,即从Go的基本程序开始,只知道规则和一些探索树木的方法,然后与自己竞争以改善其神经网络。经过多次对抗之后,我们会达成一个能够与最优秀的人类选手竞争或击败的程序吗?如果是这样,那么需要多少游戏(数量级)?还是相反,这样的程序会融合到更弱的玩家身上吗? 我认为尚未进行实验,因为AlphaGo太新了。但是,答案可能对专家来说是显而易见的。否则,任何有根据的猜测都会使我感兴趣。 对于“简单”游戏,也可以问同样的问题。如果我们使用与AlphaGo大致相同的强化学习技术,但不使用人类数据库,则对于Chess程序,我们最终会获得一个能够击败最优秀的人的程序吗?如果是这样,速度有多快?已经尝试过了吗?或者,如果不是国际象棋,跳棋,或更简单的游戏呢? 非常感谢。





1
使用随机森林采样多少个特征
引用“统计学习的要素”的维基百科页面显示: 通常,对于具有特征的分类问题 ,每个分割中都使用特征。⌊ √ppp⌊ p–√⌋⌊p⌋\lfloor \sqrt{p}\rfloor 我知道这是一个相当有根据的猜测,并且可能已得到经验证据的证实,但是还有其他原因导致人们选择平方根吗?那里有统计现象吗? 这是否有助于减少误差的方差? 回归和分类是否相同?

1
XGBRegressor与xgboost.train的巨大速度差异?
如果我使用以下代码训练模型: import xgboost as xg params = {'max_depth':3, 'min_child_weight':10, 'learning_rate':0.3, 'subsample':0.5, 'colsample_bytree':0.6, 'obj':'reg:linear', 'n_estimators':1000, 'eta':0.3} features = df[feature_columns] target = df[target_columns] dmatrix = xg.DMatrix(features.values, target.values, feature_names=features.columns.values) clf = xg.train(params, dmatrix) 它会在大约1分钟内完成。 如果我使用Sci-Kit学习方法训练模型: import xgboost as xg max_depth = 3 min_child_weight = 10 subsample = 0.5 colsample_bytree = 0.6 objective = …

1
将int的pandas列转换为timestamp数据类型
我有一个数据框,其中除其他外,包含一列自1970-1-1以来经过的毫秒数。我需要将此int列转换为时间戳数据,因此我可以通过将timestamp列系列添加到一个完全由1970-1-1组成的datetime值的序列中,最终将其转换为datetime数据列。 我知道如何将一系列字符串转换为日期时间数据(pandas.to_datetime),但是我找不到或想出任何解决方案将整列整数转换为日期时间数据或时间戳数据。

5
scikit-learn随机森林的功能重要性显示出很高的标准偏差
我正在使用scikit-learn随机森林分类器,并且想要绘制功能重要性,例如在本示例中。 但是,从某种意义上说,我的结果是完全不同的,在某种意义上,特征重要性标准差几乎总是大于特征重要性本身的(见附图)。 可能会有这种行为,或者我在绘制图形时犯了一些错误? 我的代码如下: import matplotlib.pyplot as plt import numpy as np import pandas as pd from sklearn.ensemble import RandomForestClassifier clf = RandomForestClassifier() clf.fit(predictors.values, outcome.values.ravel()) importance = clf.feature_importances_ importance = pd.DataFrame(importance, index=predictors.columns, columns=["Importance"]) importance["Std"] = np.std([tree.feature_importances_ for tree in clf.estimators_], axis=0) x = range(importance.shape[0]) y = importance.ix[:, 0] yerr = …

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.