Questions tagged «feature-selection»

选择用于进一步建模的属性子集的方法和原理




1
为什么xgboost比sklearn GradientBoostingClassifier快得多?
我正在尝试通过50个具有100个数字特征的示例训练一个梯度提升模型。XGBClassifier我的机器43秒内把手500棵树,而GradientBoostingClassifier只处理10棵(!)以1分2秒:(我没有理会试图种植500棵树,因为它会需要几个小时。我使用的是相同的learning_rate,并max_depth设置, 见下文。 是什么使XGBoost如此之快?它是否使用了sklearn家伙不知道的用于梯度增强的新颖实现方式?还是“偷工减料”并种植浅树? ps我知道这个讨论:https : //www.kaggle.com/c/higgs-boson/forums/t/10335/xgboost-post-competition-survey,但是那里找不到答案... XGBClassifier(base_score=0.5, colsample_bylevel=1, colsample_bytree=1, gamma=0, learning_rate=0.05, max_delta_step=0, max_depth=10, min_child_weight=1, missing=None, n_estimators=500, nthread=-1, objective='binary:logistic', reg_alpha=0, reg_lambda=1, scale_pos_weight=1, seed=0, silent=True, subsample=1) GradientBoostingClassifier(init=None, learning_rate=0.05, loss='deviance', max_depth=10, max_features=None, max_leaf_nodes=None, min_samples_leaf=1, min_samples_split=2, min_weight_fraction_leaf=0.0, n_estimators=10, presort='auto', random_state=None, subsample=1.0, verbose=0, warm_start=False)
29 scikit-learn  xgboost  gbm  data-mining  classification  data-cleaning  machine-learning  reinforcement-learning  data-mining  bigdata  dataset  nlp  language-model  stanford-nlp  machine-learning  neural-network  deep-learning  randomized-algorithms  machine-learning  beginner  career  xgboost  loss-function  neural-network  software-recommendation  naive-bayes-classifier  classification  scikit-learn  feature-selection  r  random-forest  cross-validation  data-mining  python  scikit-learn  random-forest  churn  python  clustering  k-means  machine-learning  nlp  sentiment-analysis  machine-learning  programming  python  scikit-learn  nltk  gensim  visualization  data  csv  neural-network  deep-learning  descriptive-statistics  machine-learning  supervised-learning  text-mining  orange  data  parameter-estimation  python  pandas  scraping  r  clustering  k-means  unsupervised-learning 


4
XGBoost是否自己处理多重共线性?
我目前在具有21个功能(从大约150个功能的列表中选择)的数据集上使用XGBoost,然后对其进行一次热编码以获得〜98个功能。这98个功能中的一些功能有些多余,例如:变量(功能)也显示为B一种一种A和C乙一种乙一种\frac{B}{A}。C一种C一种\frac{C}{A} 我的问题是: 增强决策树如何(如果?)处理多重共线性? 如果不处理,多重共线性的存在将如何影响预测? 据我了解,该模型正在学习一棵以上的树,而最终预测是基于诸如单个预测的“加权总和”之类的。因此,如果这是正确的,那么增强决策树应该能够处理变量之间的相互依赖性。 另外,在相关说明中-XGBoost中的可变重要性对象如何工作?

3
如何对未知特征执行特征工程?
我正在参加kaggle比赛。数据集包含约100个要素,所有要素都是未知的(就其实际表示而言)。基本上,它们只是数字。 人们正在对这些功能执行许多功能工程。我想知道一个人究竟能对未知的特征执行特征工程吗?有人可以帮助我理解这一点,以及一些有关如何对未知特征执行特征工程的提示吗?

2
文字分类:结合不同种类的功能
我要解决的问题是将短文本分为多个类别。我目前的方法是使用tf-idf加权词频,并学习一个简单的线性分类器(逻辑回归)。这相当有效(测试集上的宏F-1约为90%,训练集上接近100%)。一个大问题是看不见的单词/ n-gram。 我正在尝试通过添加其他功能(例如,使用分布相似性(由word2vec计算)计算出的固定大小的矢量)或示例中的其他分类功能来改进分类器。我的想法是仅从单词袋中将功能添加到稀疏输入功能中。但是,这会导致测试和训练集的性能变差。附加功能本身可以在测试装置上提供大约80%的F-1,因此它们不是垃圾。扩展功能也没有帮助。我目前的想法是,这类功能与(稀疏的)单词功能组合得不太好。 所以问题是:假设附加功能提供了附加信息,那么将它们合并的最佳方法是什么?是否可以训练单独的分类器并将它们组合在一起以进行某种整体工作(这可能会有一个缺点,即无法捕获不同分类器的特征之间的交互)?我还应该考虑其他更复杂的模型吗?

4
关于功能数量与实例数量的任何“经验法则”吗?(小数据集)
我想知道,在特征数量与观察数量之间是否有启发式方法?显然,如果特征数量等于观测值数量,则模型将过拟合。通过使用稀疏方法(LASSO,弹性网),我们可以删除一些特征以简化模型。 我的问题是(理论上):在我们使用度量来评估模型选择之前,是否存在将最佳特征数量与观察数量相关联的经验观察? 例如:对于每个类中有20个实例的二进制分类问题,要使用的特征数量是否有上限?

5
扩大seaborn热图
我corr()用原始df 创建了df。该corr()DF出来70×70,这是不可能的可视化热图... sns.heatmap(df)。如果我尝试显示corr = df.corr(),则表格不适合屏幕,并且我可以看到所有相关性。它是打印整个df大小而不管其大小还是控制热图大小的方法吗?
17 visualization  pandas  plotting  machine-learning  neural-network  svm  decision-trees  svm  efficiency  python  linear-regression  machine-learning  nlp  topic-model  lda  named-entity-recognition  naive-bayes-classifier  association-rules  fuzzy-logic  kaggle  deep-learning  tensorflow  inception  classification  feature-selection  feature-engineering  machine-learning  scikit-learn  tensorflow  keras  encoding  nlp  text-mining  nlp  rnn  python  neural-network  feature-extraction  machine-learning  predictive-modeling  python  r  linear-regression  clustering  r  ggplot2  neural-network  neural-network  training  python  neural-network  deep-learning  rnn  predictive-modeling  databases  sql  programming  distribution  dataset  cross-validation  neural-network  deep-learning  rnn  machine-learning  machine-learning  python  deep-learning  data-mining  tensorflow  visualization  tools  sql  embeddings  orange  feature-extraction  unsupervised-learning  gan  machine-learning  python  data-mining  pandas  machine-learning  data-mining  bigdata  apache-spark  apache-hadoop  deep-learning  python  convnet  keras  aggregation  clustering  k-means  r  random-forest  decision-trees  reference-request  visualization  data  pandas  plotting  neural-network  keras  rnn  theano  deep-learning  tensorflow  inception  predictive-modeling  deep-learning  regression  sentiment-analysis  nlp  encoding  deep-learning  python  scikit-learn  lda  convnet  keras  predictive-modeling  regression  overfitting  regression  svm  prediction  machine-learning  similarity  word2vec  information-retrieval  word-embeddings  neural-network  deep-learning  rnn 

2
如何选择神经网络的特征?
我知道这个问题尚无明确答案,但让我们假设我有一个庞大的神经网络,其中包含大量数据,并且我想在输入中添加新功能。“最佳”方法是使用新功能测试网络并查看结果,但是有没有方法可以测试该功能是否异常有用?像相关度量(http://www3.nd.edu/~mclark19/learn/CorrelationComparison.pdf)等?

5
特征选择与特征提取。什么时候使用?
特征提取和特征选择从本质上减少了数据的维数,但是如果我对的话,特征提取还使数据更可分离。 哪种技术会比其他技术更受青睐?何时使用? 我当时在想,因为特征选择不会修改原始数据及其属性,所以我假设在要培训的特征不变的情况下很重要,因此您将使用特征选择。但是我无法想象你为什么想要这样的东西。

3
如何结合分类和连续输入特征进行神经网络训练
假设我们有两种输入功能,即分类输入和连续输入。分类数据可以表示为单热码A,而连续数据只是N维空间中的向量B。似乎仅使用concat(A,B)并不是一个好选择,因为A,B是完全不同的数据。例如,与B不同,A中没有数字顺序。因此,我的问题是如何组合这两种数据,或者是否有任何常规方法来处理它们。 实际上,我提出了一个朴素的结构,如图所示 如您所见,前几层用于将数据A更改(或映射)到连续空间中的某个中间输出,然后将其与数据B合并,形成连续空间中新的输入要素,供以后的层使用。我不知道这是合理的还是仅仅是“试错”的游戏。谢谢。

4
如何指定重要属性?
假设一组由许多数据源组成的结构松散的数据(例如Web表/链接的打开数据)。数据后面没有通用的模式,每个数据源都可以使用同义词属性来描述值(例如“国籍”与“ bornIn”)。 我的目标是找到一些“重要”属性,以某种方式“定义”它们描述的实体。因此,当我为这样的属性找到相同的值时,我将知道这两个描述很可能是关于同一实体(例如同一个人)的。 例如,属性“ lastName”比属性“国籍”更具区分性。 我怎样才能(统计地)找到比其他更重要的属性? 一个简单的解决方案是获取每个属性值的平均IDF,并将其作为属性的“重要性”因素。一种类似的方法是计算每个属性出现多少个不同的值。 我已经在机器学习中看到了术语“特征”或“属性选择”,但是我不想丢弃其余的属性,我只是想给最重要的属性赋予更高的权重。

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

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.