Questions tagged «scikit-learn»

Scikit-learn是一个Python模块,包含用于机器学习,数据挖掘和数据分析的简单有效的工具。它基于NumPy,SciPy和matplotlib构建。它根据3条款BSD许可进行分发。

1
如何使用keras处理多类分类中的字符串标签?
我是机器学习和keras的新手,现在正在使用keras处理多类图像分类问题。输入的是带标签的图像。经过一些预处理后,训练数据在Python列表中表示为: [["dog", "path/to/dog/imageX.jpg"],["cat", "path/to/cat/imageX.jpg"], ["bird", "path/to/cat/imageX.jpg"]] “狗”,“猫”和“鸟”是类标签。我认为应该使用一站式编码解决此问题,但是我对如何处理这些字符串标签不是很清楚。我已经尝试过sklearn的LabelEncoder(): encoder = LabelEncoder() trafomed_label = encoder.fit_transform(["dog", "cat", "bird"]) print(trafomed_label) 输出是[2 1 0],这与我对[[1,0,0],[0,1,0],[0,0,1]]之类的东西的期望输出不同。可以通过一些编码来完成,但是我想知道是否有某种“标准”或“传统”方式来处理它?

4
提高python中t-sne实现的速度以处理海量数据
我想对将近100万个具有200个维度的向量进行降维doc2vec。我使用TSNE从执行sklearn.manifold模块它和主要问题是时间复杂度。即使使用method = barnes_hut,计算速度仍然很低。有时甚至耗尽了内存。 我正在具有130G RAM的48核处理器上运行它。是否有一种方法可以并行运行它或利用大量资源来加快此过程。

1
文本聚类算法
我有一个问题,就是将大量句子按其含义分组。当您有很多句子并想按其含义对它们进行分组时,这类似于一个问题。 建议使用什么算法来做到这一点?我不知道簇的数量(随着更多数据的到来,簇也可以改变),通常用什么特征来表示每个句子? 我现在正在尝试使用最简单的功能,将单词列表和句子之间的距离定义为: (A和B是句子A和B中的相应单词集) 真的有道理吗? 我正在尝试将scikit库中的Mean-Shift算法应用于此距离,因为它不需要预先提供多个簇。 如果有人会建议解决问题的更好方法/方法,将不胜感激,因为我还是这个话题的新手。

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 

5
在机器学习中合并稀疏和密集的数据以提高性能
我有可预测的稀疏特征,也有一些也可预测的密集特征。我需要将这些功能结合在一起,以提高分类器的整体性能。 现在,当我尝试将它们组合在一起时,稠密特征往往比稀疏特征更占主导地位,因此与仅具有稠密特征的模型相比,AUC仅改善了1%。 有人遇到过类似的问题吗?非常感谢您的投入,有点卡住。我已经尝试了许多不同的分类器,分类器的组合,特征转换以及使用不同算法的处理。 先谢谢您的帮助。 编辑: 我已经尝试了评论中给出的建议。我观察到的是,对于几乎45%的数据,稀疏特征的性能确实很好,只有稀疏特征的AUC约为0.9,而对于其余稠密特征,AUC约为0.75的性能很好。我尝试将这些数据集分离出来,但得到的AUC为0.6,因此,我不能简单地训练模型并确定要使用的功能。 关于代码段,我已经尝试了很多东西,以至于我不确定要分享什么:(

2
我们应该在工作流中的哪里处理丢失的数据?
我正在构建一个工作流,用于从一个非常大的数据库(这里是通过SQL和的Vertica)中提取的数据创建机器学习模型(在我的情况下,使用Python pandas和sklearn软件包)pyodbc,该过程中的关键步骤包括估算缺失预测值。在单个分析或统计平台(Python,R,Stata等)中,这很简单,但是我很好奇在多平台工作流程中该步骤的最佳位置。 在Python中使用sklearn.preprocessing.Imputer类,使用pandas.DataFrame.fillna方法或手动进行此操作非常简单(取决于所使用的插补方法的复杂性)。但是由于我要在亿万个记录中的数十个或数百个列中使用它,所以我想知道是否存在一种更有效的方法来提前通过SQL直接进行此操作。除了在像Vertica这样的分布式平台上执行此操作的潜在效率之外,这还具有使我们能够创建用于构建“完整”表版本的自动化管道的额外好处,因此我们不需要填写新的表集每次我们要运行模型时,都会从头开始缺少值。 我还没有找到很多指导,但是我想我们可以: 为每个不完整的列创建一个替代值表(例如,平均值/中位数/众数,整体或按组) 将替换值表与原始表连接起来,为每行和不完整的列分配一个替换值 如果可用,使用一系列case语句获取原始值,否则使用替代值 这是在Vertica / SQL中做的合理的事情,还是有充分的理由不打扰而只是在Python中处理它?如果是后者,是否有充分的理由在大熊猫而不是sklearn或相反的情况下这样做?谢谢!

6
对几个连续变量进行对数转换的原因是什么?
我一直在做分类问题,并且阅读了很多人的代码和教程。我注意到的一件事是,许多人采用np.log或log连续变量,例如loan_amount或applicant_income等。 我只想了解其背后的原因。它有助于提高我们的模型预测准确性。它是强制性的吗?还是背后有逻辑? 如果可能的话,请提供一些解释。谢谢。

1
RandomForestClassifier OOB评分方法
scikit-learn中的随机森林实现是否使用平均精度作为其评分方法来估计袋装样本的泛化误差?文档中未提及,但score()方法报告平均准确度。 我有一个高度不平衡的数据集,并且我在网格搜索中使用ROC的AUC作为评分标准。有没有办法告诉分类器对OOB样本也使用相同的评分方法?

5
句子相似度预测
我正在寻求解决以下问题:我有一组句子作为我的数据集,并且我希望能够键入一个新句子,并找到该新句子与数据集中最相似的句子。一个示例如下所示: 新句子:“ I opened a new mailbox” 基于数据集的预测: Sentence | Similarity A dog ate poop 0% A mailbox is good 50% A mailbox was opened by me 80% 我已经读到余弦相似度可以用来解决与tf-idf配对的这类问题(RNN不应对基本方法带来重大改进),或者word2vec也可以用于相似的问题。那些在这种特定情况下实际可行吗?是否有其他技术/算法可以解决此问题(最好使用Python和SKLearn,但我也愿意学习TensorFlow)?

2
SelectKBest如何工作?
我正在看本教程:https : //www.dataquest.io/mission/75/improving-your-submission 在第8节中,找到最佳功能,它显示了以下代码。 import numpy as np from sklearn.feature_selection import SelectKBest, f_classif predictors = ["Pclass", "Sex", "Age", "SibSp", "Parch", "Fare", "Embarked", "FamilySize", "Title", "FamilyId"] # Perform feature selection selector = SelectKBest(f_classif, k=5) selector.fit(titanic[predictors], titanic["Survived"]) # Get the raw p-values for each feature, and transform from p-values into scores scores …

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

1
具有高基数分类特征的特征重要性用于回归(数字依赖变量)
我试图使用随机森林中的特征重要性来对回归问题执行一些经验性特征选择,该回归问题中所有特征都是分类的,并且其中许多特征具有许多级别(大约100-1000)。假设一键编码会为每个级别创建一个虚拟变量,那么功能的重要性是针对每个级别的,而不是针对每个功能(列)。汇总这些功能重要性的好方法是什么? 我考虑过对某个功能的所有级别进行求和或得出平均重要性(可能前者会偏向具有更高级别的那些功能)。关于这个问题有参考吗? 还有什么可以减少功能数量的呢?我知道套索组,找不到任何易于使用的scikit-learn。


1
使用scikit-learn在随机森林中使用特征重要性进行特征选择
我已经使用scikit-learn绘制了随机森林中的特征重要性。为了改善使用随机森林的预测,如何使用图信息删除特征?即,如何根据绘图信息发现某个特征是无用的还是随机森林性能的下降甚至更差?该图基于属性feature_importances_,我使用分类器sklearn.ensemble.RandomForestClassifier。 我知道还有其他用于特征选择的技术,但是在这个问题中,我想重点介绍如何使用特征feature_importances_。 此类功能重要性图的示例:

1
我应该使用多少个LSTM细胞?
是否有关于我应使用的LSTM电池的最小,最大和“合理”数量的经验法则(或实际规则)?具体来说,我与TensorFlow和property 有关的BasicLSTMCell有关num_units。 请假设我有以下定义的分类问题: t - number of time steps n - length of input vector in each time step m - length of output vector (number of classes) i - number of training examples 例如,训练示例的数量应该大于: 4*((n+1)*m + m*m)*c c单元数在哪里?我基于此:如何计算LSTM网络的参数数量?据我了解,这应该给出参数的总数,该总数应少于训练示例的数量。
12 rnn  machine-learning  r  predictive-modeling  random-forest  python  language-model  sentiment-analysis  encoding  machine-learning  deep-learning  neural-network  dataset  caffe  classification  xgboost  multiclass-classification  unbalanced-classes  time-series  descriptive-statistics  python  r  clustering  machine-learning  python  deep-learning  tensorflow  machine-learning  python  predictive-modeling  probability  scikit-learn  svm  machine-learning  python  classification  gradient-descent  regression  research  python  neural-network  deep-learning  convnet  keras  python  tensorflow  machine-learning  deep-learning  tensorflow  python  r  bigdata  visualization  rstudio  pandas  pyspark  dataset  time-series  multilabel-classification  machine-learning  neural-network  ensemble-modeling  kaggle  machine-learning  linear-regression  cnn  convnet  machine-learning  tensorflow  association-rules  machine-learning  predictive-modeling  training  model-selection  neural-network  keras  deep-learning  deep-learning  convnet  image-classification  predictive-modeling  prediction  machine-learning  python  classification  predictive-modeling  scikit-learn  machine-learning  python  random-forest  sampling  training  recommender-system  books  python  neural-network  nlp  deep-learning  tensorflow  python  matlab  information-retrieval  search  search-engine  deep-learning  convnet  keras  machine-learning  python  cross-validation  sampling  machine-learning 

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.