Scikit learn scikit-随机森林分类器查询

我无法理解使用scikit的这两个步骤是否相似: 1) 计算重要性为True的RandomForestClassifier,并手动选择返回的前10个特征,以进一步创建包含10个特征的新训练集,并进行训练和进一步预测 2) RandomforestClassifier,最大特征=10计算重要性=True,进一步使用rf.fit变换(训练,目标)和进一步的rf.fit(训练,目标)max\u特征=10意味着从整个集合中选择10个特征的新随机子集作为拆分的候选。换句话说,每次都会考虑10个不同的特征。

Scikit learn scikit learn如何存储分类器?

有谁能给我一个关于sklearn如何在内存中存储分类器的小解释吗? 我想知道它是否存储了一个函数或一个带有模式和标签的大矩阵或其他表示形式。您想知道的sklearn中的具体内容是什么?存储分类器、回归模型或任何其他机器学习模型意味着您需要存储可以预测新给定输入的参数 在线性模型的情况下,它可以主要是特征的系数,例如您所看到的 如果模型是一个支持向量,那么它将是一组支持向量,因此它是一个矩阵。根据型号,您需要存储更改的内容 但是我不知道你说的存储函数是什么意思。任何函数都是获取输入、对输入进行计算

Scikit learn 用python对大型数据矩阵进行集群?

我想聚集150万种化合物。这意味着有1.5 x 150万个距离矩阵 我想我可以使用pyTables生成这样一个大的表,但是现在——有了这样一个表,我将如何对它进行集群 我想我不能只是把pyTables对象传递给scikit学习集群方法之一 是否有任何基于python的框架可以利用我的大表并使用它做一些有用的事情(lie集群)?也许是分布式的?我认为主要的问题是内存。1.5 x 1.5百万x 10B(1个元件尺寸)>20TB 您可以使用bigdata数据库,如pyTables、Hadoop和Map

Scikit learn Sklearn OneClassSVM无法处理大数据集(0xC0000005)

我正在使用OneClassSVM进行异常值检测 clf = svm.OneClassSVM(kernel='rbf', nu=k, tol=0.001) clf.fit(train_x) 但是,它遇到了以下错误。 流程已完成,退出代码为-1073741819 0xC0000005 数据大小约为20MBtrain_x,这对我来说不是很大。 我电脑的内存是8GB。 但是,如果我减小文件大小,它就起作用了。这种行为是不一致的。 有时它起作用了,否则就不起作用了 以前有人有过这个问题吗 谢谢

Scikit learn 如何更改随机林用于从单个树做出决策的函数?

随机森林使用“大量的决策树在训练时输出类,这是单个树的类(分类)模式” 是否有一种方法可以代替使用作为模式的类,在原始树生成的输出上运行另一个随机林 额外问题:这是个坏主意,有什么原因吗?(我相信人们以前会想到这一点)我认为这只是一个性能选项,您的想法听起来不错,但没有更好的“随机性”,但计算速度可能较慢。您可以访问拟合的随机林实例的估计器属性中的单个决策树 您甚至可以重新采样该属性(它只是一个决策树对象的Python列表),以添加或删除树,并查看对结果林预测质量的影响。>是否有方法在结果树上运

Scikit learn 访问GridSearch中最佳估计器的矢量器使用的词汇表

我不知道把它放在标题里 这就是我试图做的:我使用GridSearch和管道来训练分类器。我想看看最佳估计器所使用的计数向量器的词汇表.items() 现在,在运行GridSearch之后,我正在这样做: classifier = gs_clf.best_estimator_ vect = classifier.named_steps["vec"] data = vect.fit_transform(x_train) vocab = = vect.vocabulary_.i

Scikit learn scikit学习分类器,停止工作,关于如何调试的建议

我正在RandomForestClassifier上进行网格搜索,我的代码一直在工作,直到我更改了特性,突然代码生成以下错误(在line classifier.fit) 我没有更改任何代码,但将功能维度从16降到了8。我完全不知道我应该调查什么。这个错误意味着什么 错误: multiprocessing.pool.RemoteTraceback: """ Traceback (most recent call last): File "/home/zqz/Programs/anaconda

Scikit learn 可更新最近邻搜索

我正试图为最近邻搜索应用程序提出一个好的设计。这有点类似于这个问题: 在我的例子中,这将是在Python中,但主要的一点是,当新数据出现时,必须更新模型/索引。我现在正在和他玩,但我不认为这是一个很好的配合 应用程序的目标是: 用户输入一个查询,然后将显示现有数据集中的n个(可能固定为5个)最近邻。对于这一步,sklearn的这种搜索结构会有所帮助,但在添加新记录时必须重新生成。此外,这是第一次每次查询发生1次ste,因此与“立即”相比,可能会有点“慢”,如2-3秒 然后,用户可以单击其中一条

Scikit learn 如何从应用于多类问题的LogisticRegressionCV的输出中选择C

该问题与“sklearn LogisticRegressionCV是否使用最终模型的所有数据”相关()。答案是cristal关于LogisticRecgressionCV在二元分类中如何工作,特别是如何选择C:“对于C的每个值,对提供的数据进行交叉验证,其中LogisticRecgressionCV将适用()在当前折叠的训练数据上,并在测试数据上评分。所有折叠的测试数据中的分数将被平均,这将成为当前C的分数。这将针对您提供的所有C值进行,并将选择平均分数最高的C。“。 我的问题是…在多类情况下,

Scikit learn 如何通过/跳过管道取决于特定条件

我有以下scikit学习管道用于一些数据预处理 如果数据帧中有分类特征,我想提取特征并运行SimpleImputer;如果没有这样的功能(即dataframe['Categorical']不存在),我希望它只是“跳过”/通过管道并继续下一步 如何做到这一点 Pipeline ([ ('extract', extract_feature(dataframe['categoricals]), ('fill', SimpleImputer(strategy='constant', fill_value

Scikit learn 为所有功能提供一个缩放器,还是为每个功能提供一个缩放器?

我有一个超过30个功能的时间序列。对于scikit的预处理,了解您通常为每个功能使用一个定标器,还是为所有应标准化/规范化的功能使用一个定标器?始终为每个功能使用一个定标器。这将确保保留值并仅缩放 示例 #数据 特征1特征2 1 1 2 2 5 3 10 5 对所有要素使用一个缩放器将根据所有数据点的最小值和最大值缩放数据。这将导致以下结果 #一个用于所有功能的定标器 特征1特征2 .1 .1 .0

Scikit learn 为什么在GaussianNB[scikit learn]中使用对数概率估计?

我目前正在使用scikit learn的软件包 我注意到我可以选择几种不同的方式返回分类结果。返回分类的一种方法是使用predict_log_proba方法 为什么我会选择使用predict\u log\u proba与predict\u proba与predict? predict只为您提供每个示例的课程 predict\u proba给出每个类的概率,而predict只取概率最大的类 predict\u log\u probability提供概率的对数,这通常更方便,因为概率可能变得非常非常

Scikit learn sklearn:稀疏数据上的回归模型?

python的scikit learn是否有任何能够很好地处理稀疏数据的回归模型 我四处摸索,发现了“稀疏线性回归”模块,但它似乎过时了。(我认为,scikit learn非常古老,当时被称为“scikits-learn”。大多数scikit学习回归模型(线性,如Ridge,Lasso,ElasticNet或非线性,如使用随机森林回归器)支持密集和稀疏输入数据scikit学习的最新版本(0.16.0是撰写本文时最新的稳定版本) 编辑:如果不确定,请检查感兴趣类别的fit方法的文档字符串

Scikit learn 如何获得PCA中所有极端方差所需的分量数量?

我试图得到需要用于分类的组件数量。我已经阅读了一个类似的问题和scikit文件: 然而,这仍然没有解决我的问题。我所有的PCA组件都非常大,当然我可以选择所有组件,但如果我这样做,PCA将毫无用处 我还阅读了scikit learn中的PCA库 它表明L: 如果n_components=='mle',则使用Minka的mle 猜测尺寸如果0

Scikit learn 计算目标字符串与字符串列表之间余弦相似性的最佳方法-Python

我有一个目标字符串,比如说target='apple',我有一个候选字符串列表,比如说candidate\u list=['orange'、'banana'、'apple1'、'菠萝']。我正在计算目标之间的余弦相似性,并使用以下代码迭代候选列表中的每个字符串 def calculate_cosine(c, h): vec = CountVectorizer() label_dictionary = vec.fit([c, h]) c_vector = label_dictio

Scikit learn 混淆矩阵检验情绪分析模型

我正在使用NLTK测试情绪分析模型。我需要在分类器结果中添加混淆矩阵,如果可能,还需要精度、召回率和F-度量值。到目前为止我只知道准确度。影评数据有pos和neg标签。然而,为了训练分类器,我使用的“featuresets”的格式与通常的(句子、标签)结构不同。在通过“featuresets”训练分类器后,我不确定是否可以使用sklearn中的混淆矩阵 首先,您可以对所有测试值进行分类,并将预测结果和黄金结果存储在列表中 然后,您可以使用nltk.ConfusionMatrix test_res

Scikit learn scikit学习中的平衡随机林(python)

我想知道在最新版本的scikit学习包中是否有平衡随机林(BRF)的实现。BRF用于数据不平衡的情况。它与普通RF一样工作,但对于每个自举迭代,它通过欠采样来平衡患病率等级。例如,给定两个类N0=100,N1=30个实例,在每次随机抽样时,它从第一个类中抽取(替换)30个实例,从第二个类中抽取相同数量的实例,即在平衡数据集上训练一棵树。了解更多信息 RandomForestClassifier()确实有“class_weight=”参数,该参数可能被设置为“balanced”,但我不确定它是否与

Scikit learn sklearn中的凝聚聚类

我有一些数据,还有这些数据点的成对距离矩阵。我想使用凝聚聚类对它们进行聚类。我读到,在sklearn中,我们可以将“预计算”作为亲和性,我希望它是距离矩阵。但我找不到任何使用预先计算的亲和力和自定义距离矩阵的示例。 任何帮助都将不胜感激 让我们调用距离矩阵D agg = AgglomerativeClustering(n_clusters=5, affinity='precomputed', linkage = 'average') agg.fit_predict(D) # Returns c

Scikit learn 交叉验证中如何计算灵敏度和特异性

如何计算上述代码中的特异性。该代码计算精度和召回率。回忆也称为敏感性。建立一个计算特异性的函数,然后将其作为可调用的评分传递。如何做到这一点?有内置的功能吗 scoring=['recall', 'precision'] print("-----------------------------------------LR------------------------- --------") clf = LogisticRegression() scores = cross_validate(

Scikit learn 使用更多的n-gram阶数如何降低多项式朴素贝叶斯分类器的精度?

我正在用nltk和sklearn构建一个文本分类模型,并在sklearn的20个新闻组数据集中对其进行训练(每个文档大约有130个单词) 我的预处理包括删除停止字和柠檬化标记 接下来,在我的管道中,我将其传递给tfidfVectorizer(),并希望操纵矢量器的一些输入参数以提高精度。我读到过n-grams(通常,n小于提高了精度,但当我使用tfidf中的ngram_range=(1,2)和ngram_range=(1,3)使用multinomialNB()分类器对矢量器输出进行分类时,精度会

Scikit learn sklearn验证曲线中的多个参数

我试图在sklearn中使用validation_曲线函数 train_scores, test_scores = validation_curve(DecisionTreeClassifier(), X_train, y_train, param_name="max_depth", scoring="f1", param_range=list(range(5,15,2)), cv=5) 是否有一种方法可以传递

Scikit learn 如何知道NLP模型中与特定类相关的单词?

我使用逻辑回归算法和TF-IDF矢量器训练了“消费者投诉分类”的NLP模型。我想知道我的模型与特定类关联的单词。我在找这样的东西- 类1=[“帮助我的模型识别输入文本属于该类的单词列表”我想你需要的是与一个类相关的最重要的单词(或更好的标记)。因为通常所有标记都会以某种方式与所有类“关联”。因此,我将用以下方法回答您的问题: 假设由TfidfVectorizer生成的令牌(或单词)存储在X\u列中,标签位于y\u列中,您训练的模型如下: from sklearn.linear_model imp

Scikit learn 如何使用sklearn获取在LDA中生成每个主题的文档

嗨,我需要检索哪些文档(文档id)使用sklearn在潜在Dirichlet分配中生成了每个主题 我正在使用数据库来存储语料库 例如,我有表格语料库: 语料库=(文档id,文本) 我在语料库上运行LDA 我需要检索: 专题1 由doc_id=(ID3、ID9、ID12等)生成 专题2 由doc_id=(ID2、ID9、ID66等)生成 主题K 由文档id(d1,d2,…)生成 我可以这样做吗?一旦LDA获取语料库并将其放入弓中,文档id丢失,我只能检索文档的序列号,而不是数据库中的文档id 我能

Scikit learn 加快支持向量机评分中的交叉验证

我想得到准确度、平均准确度、F1、准确度、召回率和roc auc分数 我确实意识到,使用下面的代码,我会得到平均精度,问题是运行此代码时,显示结果大约需要20分钟,是否有更好的方法可以在更短的时间内获得上面的所有分数 clf\u svm\u 2\u scores\u avg\u precision=cross\u val\u scores(clf\u svm\u 2,np.array(x),data['link',cv=5,score='average\u precision')交叉验证通常很长

Scikit learn BaggingClassifier能否在Sklearn中手动定义多个基估计量?

我试图使用Sklearn中的BaggingClassifier来定义多个基估计量。根据我的理解,有些东西可能与此类似 clf = BaggingClassifier(base_estimator=[SVC(), DecisionTreeClassifier()], n_estimators=3, random_state=0) 但是这里的BaggingClassifier并没有将列表作为它的基本估计量。 我假设我可以切换到StackingRegressor(estimators=)手动定义多个

Scikit learn 如何用新的学习算法扩展scikit学习中的集成方法

我有一个新的决策树集成回归算法需要实现,我会 如果可以的话,我想在基于Python的scikit学习包提供的基础设施上进行构建。我想创建一种新型的基本决策树,以及一种将它们结合起来进行集成回归预测的新方法 scikit学习的文档重点是使用,而不是扩展。我已经查看了现有集成方法的代码,但是使用了一些相当微妙的Python fu,这使得很难知道从哪里开始。有人知道解释如何使用自定义类扩展scikit的文档吗?或者有这种简单扩展的例子吗?(它可以在任何模块上;它不一定是集合。) 谢谢。你的意思是你想推

Scikit learn 我如何在没有培训的情况下获得k-means的分数?

我正在脚本中运行MiniBatchKMeans,并输出我得到的集群中心。现在在另一个脚本中,我想计算这些集群中心的测试集的分数。我尝试过这样做: mbk = MiniBatchKMeans(n_clusters=k, init=cluster_centers) print mbk.score(X) 但我得到了这个例外 AttributeError: Model has not been trained yet. 如何在不训练模型的情况下获得k-means的分数?您必须恢复clusterer的

Scikit learn 基于logistic回归的特征选择

我正在使用逻辑回归进行特征选择(在一个包含1930388行和88个特征的数据集上)。如果我在保留的数据上测试模型,准确率略高于60%。响应变量是均匀分布的。我的问题是,如果模型的性能不好,我能考虑它所赋予的特性作为实际的重要特征吗?或者我应该尝试提高模型的准确性,尽管我的最终目标不是提高准确性,而是只获取重要的功能sklearn的GridSearchCV有一些非常简洁的方法来为您提供最佳的功能集。例如,考虑下面的代码 pipeline = Pipeline([ ('vect', Tfid

Scikit learn 如何用随机林分类不平衡类避免过度拟合

我陷入了一个数据科学问题。 我试图使用随机森林预测未来的一些类。 我的特征是分类的和数字的。 我的课程不均衡。 当我试穿时,分数看起来很好,但交叉验证很糟糕。 我的模型一定太合适了 这是我的代码: features_cat = ["area", "country", "id", "company", "unit"] features_num = ["year", "week"] classes = ["type"] print("Data",len(data_forest)) print(da

Scikit learn RandomForestsClassifier是否具有“决策函数”?

sklearn中的SVC有一个decision\u函数函数,但为什么随机林没有呢?其次,我如何为RandomForestsClassifier模拟决策\u函数 是的,它有一个决策功能。 该函数直接编码到随机树的森林中 简单地说,学习者使用这个简单的决策函数策略: 规则a):森林(集合)对结果进行投票 规则b):每个随机树包含一系列决策(由节点表示) 规则c):每个节点都包含一个或多个简单条件,基于这些条件,决策过程根据示例特征向量输入值的指定值从根节点向终端叶移动得更远 规则d):终端叶包含一个

Scikit learn 凯拉斯与合奏

我正在构建集成,例如使用SKlearn进行投票,使用brew进行堆叠。然而,我认为Keras包装器不能正常工作 当KerasClassifier中的一个元素出现以下错误时,构建我收到的投票分类器: TypeError: cannot create 'sys.flags' instances 我得到的是: AttributeError: 'Sequential' object has no attribute 'classes_' 我如何将Keras与合奏结合使用?是否必须更改框架?尝试将Ke

Scikit learn 有没有一种方法可以在一类SVM上执行网格搜索超参数优化

有没有办法使用GridSearchCV或任何其他内置sklearn函数为OneClassSVM分类器找到最佳超参数 我目前所做的是,使用以下列方式执行搜索: Gamma和nu值定义为: gammas = np.logspace(-9, 3, 13) nus = np.linspace(0.01, 0.99, 99) 函数,用于探索所有可能的超参数并找到最佳参数: clf = OneClassSVM() results = [] train_x = vectorizer.fit_transf

Scikit learn &引用;numpy.ndarray和#x27;对象没有属性';获得“支持”;在Scikit学习中运行SelectKBest后出现错误消息

我遇到了一个与这个老问题相关的问题: 尝试使用“get_support()”获取所选功能时,我收到错误消息: numpy.ndarray对象没有属性get\u support 我将非常感谢你的帮助 杰夫我想我找到了出错的原因。我在fit()或fit_transform()之后的结果上使用了“get_support()”,这导致了错误消息 我应该在选择器本身上使用“get_support()”(但仍然需要先使用选择器执行fit()或fit_transform() 谢谢 杰夫如果不进行试衣,就无法获

Scikit learn Sklearn模型在小数据集上返回零权重

我目前正试图用SKL来学习国际间人口停滞与幸福的关系。我已经用熊猫准备并清理了数据集,但由于某些原因,我尝试的任何模型都无法训练。我的数据专栏之一是国家,所以我使用pandas get_dummies函数来解释将字符串输入模型的原因。我的训练和测试变量的形状如下:(617,67),(617,),(151,67),(151,) 我的数据集是否太小而无法进行训练?假人对模特来说太多了吗?非常感谢您提供的任何帮助。您的数据很小,但这取决于您如何从中提取有用信息。您没有显示在67个功能中,有多少是使用假

Scikit learn sci工具包';s verbose发出一个信号,可以捕获该信号并用于更新PyQt中的进度条

我正在尝试为RandomForest预测器构建GUI,我希望有一个进度条来显示构建和预测过程 目前,只要进程在运行,我就可以在QLabel中运行gif,但我想知道是否可以跟踪实际进度。我读过关于跟踪stdout信号的子进程的文章,但我还没有找到调用任何子进程函数(Popen、run、check_输出)的参数 如果子流程是要走的路,那么我应该使用哪些参数?或者是否有其他方法可以利用verbose发出的信号

Scikit learn LDA协方差矩阵与计算的协方差矩阵不匹配

我希望更好地理解scikit learn的LDA对象返回的协方差属性 我确信我遗漏了一些东西,但我希望它是与输入数据相关联的协方差矩阵。但是,当我将.convariace_u与numpy.cov()返回的协方差矩阵进行比较时,我得到了不同的结果 谁能帮我理解我错过了什么?感谢并乐意提供更多信息 请找一个简单的例子来说明下面的差异 import numpy as np from sklearn.discriminant_analysis import LinearDiscriminantAnaly

Scikit learn sklearn精度\回忆\曲线和阈值

我想知道sklearn是如何决定在精确回忆曲线中使用多少阈值的。这里还有一个帖子: . 它提到了我发现这个例子的源代码 import numpy as np from sklearn.metrics import precision_recall_curve y_true = np.array([0, 0, 1, 1]) y_scores = np.array([0.1, 0.4, 0.35, 0.8]) precision, recall, thresholds = precision_rec

Scikit learn 列车测试中的分层参数\u拆分与分层HuffleSplit

在sklearn的train\u test\u split函数中使用stratifiy参数与StratifiedShuffleSplit函数之间有什么区别?他们不是做同样的事吗 这两个模块执行不同的操作 train\u test\u split,顾名思义,用于在单个训练和单个测试子集中拆分数据,stratify参数允许以分层方式进行此操作 另一方面,StratifiedShuffleSplit为交叉验证提供拆分;从: 分层随机分组交叉验证程序 提供列车/测试索引,以分割列车/测试集中的数据 注意

Scikit learn 无先验的高斯朴素贝叶斯

有没有一种方法可以修改GaussianNB()类来进行预测,而不考虑先验知识?我得到的预测显然偏向于具有最大先验知识的类。这对于我的用例来说并不理想 我想解决这个问题的另一种方法是将所有类的优先级设置为相同。这可能吗?我没有意识到这个功能是通过更新内置到GaussianNB()中的。对于任何想知道的人,您可以通过按类传递权重数组来设置优先级作为参数。您可以使用priors参数将类优先级设置为您希望的任何值,如中所示-如果您费心发布答案(甚至是您自己的问题),请详细和具体;如果你提到的是prior

Scikit learn 如何在sci工具包学习中找到LDA决策边界

我试图用sci工具包学习LDA分类器绘制决策边界 我知道您可以使用transform方法转换多变量数据,将数据投影到第一个组件行(两类情况)。如何获取充当分类轴的第一个组件上的值?这就是,作为决策边界的值 谢谢 LDA对$Cov_{between}/Cov_{within}$执行PCA或类似PCA的操作。分类枢轴只是$Cov_{between}/Cov_{inthein}$的前n-1个特征向量 特征矩阵存储在lda.scalings\中,因此第一个分量是lda.scalings\的第一个向量。它

Scikit learn sklearn GridSearchCV、SelectKBest和SVM

我正在尝试通过我编写的函数golub制作一个使用特征选择的分类器,golub根据SelectKBest的要求返回两个np数组。我想把它和一个支持向量机分类器联系起来,这个分类器使用线性和,并对k和C的可能组合进行优化。然而,我迄今为止所做的尝试没有成功,我不知道为什么。代码如下: import numpy as np from sklearn import cross_validation from sklearn import svm from sklearn.feature_sele

Scikit learn 执行Optunity时出错

从获取代码后,我遇到了一个错误: “ValueError:包含多个元素的数组的真值不明确。请使用a.any()或a.all()” 有什么问题吗。有人能帮我吗 下面是代码 导入选项 导入optunity.metrics 将numpy作为np导入 #k近邻 从sklearn.neighbors导入KNeighborsClassifier #支持向量机分类器 从sklearn.svm导入SVC #朴素贝叶斯 从sklearn.naive_bayes导入GaussianNB #随机森林 从sklear

Scikit learn 使用scikit从连续数据预测值

我是scikit新手,需要学习如何基于多个连续数据列预测值。这里我有几个数据列,它们有如下连续的数据。(列名仅作为示例参考) 我需要做的是根据输入上述数据创建的模型预测可乐的价值。我只看到对预测值进行分类的例子。如果给出了ColB、ColC、ColD、ColE值中的任何/全部,如何获得实际值 有人能帮我了解一下如何使用scikit吗?首先,我将数据转换为csv文件,以便使用pandas。 csv是 示例: import pandas as pd from sklearn.linear_model

  1    2   3   4   5   6  ... 下一页 最后一页 共 22 页