Scikit learn SKL分类器与AUC方法ROC-AUC得分的差异

我分别从sklearn的RandomForestClassifier和ROC_曲线AUC方法中获得不同的ROC-AUC分数 以下代码使我的ROC-AUC(即gs.best_score_)为0.878: def train_model(mod = None, params = None, features = None, outcome = ...outcomes array..., metric = 'roc_auc'): gs = GridSearchCV(mod,

Scikit learn 精度、召回率、F1指标不包括标签sklearn

我有一个用于NER任务的分类器,由于'O'标签比所有其他标签都多,我想在度量计算中排除它 我想用sklearn软件包计算macro和micro分数。宏分数可以使用precision\u recall\u fscore\u support计算,因为它分别返回每个标签的precision、recall、F1和support 我可以使用sklearn软件包计算和micro分数吗?答案非常简单。函数的label参数确定要在分数计算中包括哪些标签。它还与宏,微平均值相结合

Scikit learn 当p>;N

众所周知,当变量数(p)大于样本数(n)时,最小二乘估计量是不确定的 在sklearn中,我收到以下值: In [30]: lm = LinearRegression().fit(xx,y_train) In [31]: lm.coef_ Out[31]: array([[ 0.20092363, -0.14378298, -0.33504391, ..., -0.40695124, 0.08619906, -0.08108713]]) In [32]: xx.shape

Scikit learn 为什么不学习';s距离度量类有余弦距离吗?

我试图用余弦距离得到KNN,但看起来度量参数不采用余弦距离。中只有以下指标可用。为什么呢 用于实值向量空间的度量: 标识符类名args距离函数 “欧几里德”欧几里德立场 平方米(总和((x-y)^2)) “曼哈顿”曼哈顿立场 总和(| x-y |) “切比雪夫”切比雪夫距离 总和(最大值(x-y) “minkowski”minkowski距离p和(| x-y | ^p)^(1/p) “wminkowski”wminkowski距离p,w和(w*| x-y | ^p)^(1/p) “seuclid

Scikit learn scikit学习:有没有一种方法可以提供一个对象作为预测分类器功能的输入?

我计划在生产中使用sgdclassizer。其思想是在一些训练数据上训练分类器,使用cPickle将其转储到.pkl文件中,然后在脚本中重用它。然而,某些高基数字段本质上是分类的,并转化为一个热矩阵表示,可创建约5000个特征。现在,我为predict得到的输入只有其中一个特性,其余的都是零。当然,它还将包括除此之外的其他数字特征。从文档中可以看出,predict函数需要一个数组作为输入。是否有任何方法可以将输入转换为predict函数所期望的格式,而不必在每次训练模型时存储字段 更新 假设我的

Scikit learn 双CPU机器的sklearn和Tensorflow

我正在考虑为机器学习构建一台双CPU机器。我目前的装备中已经有一个快速GPU,但我的DDR3限制在32GB,我有一个i7-4790k,我计划升级到双E5 2683 v3 我需要的sklearn和网格搜索的CPU计算能力。Sklearn在2个cpu上的工作方式与在1个cpu上的工作方式相同吗?当n_jobs=-1时,它会使用两个CPU上的所有内核吗 在我的GPU上训练时,tensorflow是否只在一个CPU上工作?如果我只是在TF网站上复制并粘贴MNIST for experts教程,它会同时使

Scikit learn 增量主成分分析

我从来没有使用过sklearn中存在的增量PCA,我对它的参数有点困惑,无法找到很好的解释 我看到构造函数中有batch\u size,但是,当使用partial\u fit方法时,您可以再次只传递一部分数据,我发现以下方法: n = df.shape[0] chunk_size = 100000 iterations = n//chunk_size ipca = IncrementalPCA(n_components=40, batch_size=1000) for i in range(

Scikit learn 使用不可见数据测试转储分类器

我训练了一个分类器,然后把它甩了又甩了它的矢量器。现在我想通过加载分类器和矢量器,用看不见的数据测试它。有人能帮忙吗?退房: 首先从文件中加载矢量器: from sklearn.externals import joblib vectorizer = joblib.load('your_vectorizer.pkl') clf = joblib.load('your_classifier.pkl') 然后,它的工作原理与您将其转储到pickle文件之前相同。即: vectorized_data

Scikit learn 为什么只有父节点';在导出的决策树中标记的s边

我有一个经过训练的DecisionTreeClassifier实例,我实际上对底层决策树本身的谓词感兴趣。因此我需要一种干净的方法来遍历这棵树 因为获得可遍历表示的唯一官方方法是使用scikit的export_graphviz函数导出到graphviz/dot文件。之后,我可以使用networkx和pydot的组合来解析和分析树的图形表示 但是 我的特定点文件的内容如下: digraph Tree { node [shape=box] ; 0 [label="X[0] <= 15.0\

Scikit learn 时间序列数据聚类算法的推荐

我不熟悉聚类分析,正在使用Python sklearn.cluster模块分析我的数据。到目前为止我运气不好,所以我想请你推荐我。我的数据包括几个世纪内特定日期的事件计数(更具体地说,是教堂登记册中记录的洗礼、婚姻或葬礼的数量)。因此,我的数据实际上可以表示为一个简单的整数向量:[5,0,0,0,1,0,0,2,0,1…],其中表示每天,但事件计数可能为零。实际上,我想确定记录保存中可能存在的差距,我想我可以对事件进行聚类,然后查看聚类之间的差距。这并不像报告连续日期之间的间隔是否超过某个阈值那

Scikit learn scikit学习kmeans群集溢出错误

在查找KMeans弯头时,它显示溢出错误 elbow=[] for i in range(30): model = KMeans(n_clusters=i) model.fit(feature_matrix) elbow.append(abs(model.score(feature_matrix))) 它给出了溢出错误这可能是因为您从大量集群开始i=0。 使用函数range,可以从0开始 Kmeans(nclusters=0)将失败,因为它将尝试计算log(0)

Scikit learn 如何修复';名称';交叉验证&x27;未定义';python中的错误

我正在尝试运行XGBClassifier参数调优,并在这行代码之后出现“name‘cross_validation’not defined”错误: kfold\u 5=交叉验证.kfold(n=len(X),shuffle=True,n\u folds=numFolds) 可能我没有导入相应的库?首先,获取您的版本: import sklearn sklearn.__version__ scikit学习版本0.17之后,交叉验证.KFold已迁移到模型选择.KFold 如果您有0.17版本,

Scikit learn sklearn模型预测的优化(如随机森林回归器)

是否有人在模型上使用过任何优化模型 我想做的是根据列车数据拟合模型,并使用该模型尝试找到模型预测最大值的最佳参数组合 例如,简化代码: import pandas as pd df = pd.DataFrame({ 'temperature': [10, 15, 30, 20, 25, 30], 'working_hours': [10, 12, 12, 10, 30, 15], 'sales': [4, 7, 6, 7.3, 10, 8] }) from sklea

Scikit learn 参数具有弹性值误差的交叉Val分数

我试图使用cross\u val\u score()函数和嵌套交叉验证在python中实现一个简单的弹性网络回归,但它不允许我传递参数。它一直在为我的l1_比率声明一个无效参数的ValueError,我不明白为什么给定它在0和1之间 ValueError: Invalid parameter l1_ratio for estimator Pipeline(steps=[('preprocessor', ColumnTransformer(remainder='p

Scikit learn 无法导入';自训练分类器&x27;

SelfTrainingClassifier是0.24版的新版本(请参阅) 您可以使用import-sklearn查看当前版本;sklearn.show_versions() 您可以使用pip安装更新您的版本--升级scikit learn或conda安装-c conda forge scikit learn,具体取决于您以前版本的安装方式。欢迎使用SO。请花一分钟看看如何正确格式化代码和错误消息(这次为您完成)。此外,这是一个纯粹的scikit学习问题,与机器学习、深度学习或人工智能无关,敬请

Scikit learn 决策树不平衡数据:一片叶子中数据高度集中

我使用一个简单的决策树进行分类。数据集是一个不平衡的数据集,有30k行。 使用的软件包:sklearn 我使用predict_probab函数,然后绘制决策树。该模型有8片叶子(试过预修剪和后修剪)。50%的数据被分为7个叶,而剩下的50%则被分为一个叶。有没有一种方法可以瞄准这片叶子并将其进一步分支 我尝试的 我将50%的数据集分离出来,放在一片叶子中,并为其分别创建了一个规则。然而,我想知道这种方法是否有意义。如果是的话,我有没有办法把这些规则结合起来 谢谢

Scikit learn 将X.toarray反转为sklearn中的计数向量器

我在这里提供以下文档: 假设我已经有了一个术语频率矩阵,如X.toarray()中给出的,但我没有使用CountVectorizer来获得它 我想对该矩阵应用TfIDF。有没有一种方法可以让我使用一个计数数组+一个字典,并将这个函数的一些逆函数作为构造函数来得到一个fit_变换的X 我在找 >>> print(X.toarray()) [[0 1 1 1 0 0 1 0 1] [0 2 0 1 0 1 1 0 1] [1 0 0 1 1 0 1 1 1] [0 1 1

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 不平衡类度量和scikit学习

在scikit learn中是否有处理不平衡班级的标准方法 sk learn的乐趣之一是有一个一致的界面 然而,当类是不平衡的(这似乎是一个非常常见的用例)时,情况并非如此:IMO one不想要分类,而是一个介于0和1之间的连续变量,这样您就可以计算auc_分数(或类似的东西) 因此,我可以在logistic和其他一些分类器上进行auc_评分(y,cf.predict_probas(X)),但我看不出为什么我不能对任何决策函数(如RidgeClassifier…等)进行基本相同的操作,即改变阈值

Scikit learn 使用GridSearchCV调整GBRT超参数

我正在运行GridSearchCV以找到GradientBoostingRegressionor的最佳参数 给出的教程是使用MSE进行评分 gs_cv = GridSearchCV(est, param_grid, scoring='mean_squared_error', n_jobs=4).fit(X_train, y_train) 是否可以使用其他自己定义的评分,如均方根对数误差(RMSLE)来获得最佳超参数 def rmsle(predicted, actual, size):

Scikit learn 无法在scikit学习0.16中导入最近邻居

Python 3.4.3 v3.4.3:9b73f1c3e601,2015年2月23日,02:52:03 [GCC 4.2.1苹果公司在达尔文建造5666.3] 有关详细信息,请键入帮助、版权、信用证或许可证 import sklearn sklearn.__version__ '0.16.1' from sklearn.neighbors import NearestNeighbors Traceback (most recent call last): File "<stdin&

Scikit learn 如何提取决策树';scikit学习中的s节点

我想提取决策树的详细信息,如阈值、基尼…您可以以格式导出决策树,并对其执行任何操作,没有人强迫您将其可视化: iris.dot文件现在包含: digraph Tree { node [shape=box] ; 0 [label="X[3] <= 0.8\ngini = 0.6667\nsamples = 150\nvalue = [50, 50, 50]"] ; 1 [label="gini = 0.0\nsamples = 50\nvalue = [50, 0, 0]"] ; 0 -&

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 计算管道logistic回归预测sklearn中的概率

我有一个包含3个特性和3个类的数据框架,我将其分为X_-train、Y_-train、X_-test和Y_-test,然后使用PCA、StandardScaler和Logistic回归运行Sklearn的管道。我希望能够直接从LR权重和原始数据计算概率,而不使用预测概率,但不知道如何计算,因为我不确定管道X_测试是如何通过PCA和StandardScaler进入逻辑回归的。在不使用PCA和StandardScaler拟合方法的情况下,这是否现实?任何帮助都将不胜感激 到目前为止,我已经: pca

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

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

Scikit learn 如何使用LDA为主题建模获取每个文档的主题概率

我使用scikit learn LDA生成LDA模型,然后我可以得到主题术语。我想知道如何获得每个文档中每个主题的概率 在拟合模型后,使用LatentDirichletAllocation类的transform方法。它将返回文档主题分发 如果使用for scikit learn的潜在Dirichlet分配,则可以通过在代码后面附加以下行来访问文档主题分发: doc_topic_dist = lda.transform(tf) 这里,lda是经过训练的lda模型,tf是文档词矩阵。在拟合模型后,

Scikit learn Sagemaker-随机砍伐森林-特征规范化?预处理?

我很难理解RCF算法,尤其是它如何预期数据或应完成的预处理?例如,我有大约500K记录的以下数据/特征(带有示例值): 我的RCF模型的结果(针对57个特征(数量、30个国家和26个类别)的500K记录进行培训)非常关注数量特征(例如,所有异常都在1000.00左右,绝对不会因国家或类型而发生变化) 另外,我还规范化了amount字段,结果也不是很好。事实上,我可以放心地说,结果很糟糕,很明显,我在这方面遗漏了一些东西 总的来说,我正在寻找一些关于正确使用功能的指导(同样-1个金额字段和2个分

Scikit learn sklearn MultiLabelBinarizer()的问题

从我的dataframe x_train开始,我想谈谈“流派”专栏。有1000多种不同的类型,但当我使用函数multilabelbinarizer时,它只报告31列,并且查看类它们没有真正的意义,在帮助页面上,它建议不要使用列表,而是使用数组,正如我在示例中所做的,但仍然没有给我36158 x 1388矩阵。我错过了什么 x_train: movie_id year synopsis genres

Scikit learn 创建生成器后从多标签二值化器获取标签

我一直在遵循下面这篇文章中关于多标签图像分类的教程: 然后我尝试应用本文中的步骤: 在第2篇文章的第3步中,作者写了以下内容 #安装多个LabelBinarizer mlb = MultiLabelBinarizer() mlb.fit(df['tags'].values.tolist()) # The helper function def multilabel_flow_from_dataframe(data_generator, mlb): for x, y in data_g

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 Sklearn:使用OneVsRestClassifier和单独构建每个分类器之间的区别

据我所知,多标签问题可以通过一对所有方案来解决,对于该方案,Scikit learn实现了OneVsRestClassifier作为分类器上的包装器,如svm.SVC。我想知道如果我真的训练会有什么不同,比如说我们有一个多标签问题,有n个类,每个标签有n个单独的二进制分类器,然后分别对它们进行评估 我知道这就像是一种“手动”实现一对一的方式,而不是使用包装器,但是这两种方式实际上是不同的吗?如果是,它们有什么不同,比如在执行时间或分类器的性能方面 没有区别。对于多标签分类,sklearn one

Scikit learn 随机森林回归器的特征选择

我试图从sklearn训练一个随机森林回归者。我想训练的功能有不同的类型,数字连续、数字分类、文本分类(姓名/国籍)、纬度和经度 我想知道的是,给定所有的特性,如何确定最有用的特性集来训练我的随机森林回归器?首先,在数据上运行随机森林模型 rf= RandomForestRegressor() rf.fit(train_data,train_labels) 然后使用特征重要性属性了解特征的重要性,从中可以过滤出特征 print(rf.feature_importances_) 然后再次在选定

Scikit learn 特征选择与预测

我有X和Y数据 from sklearn.feature_selection import RFECV from sklearn.metrics import accuracy_score from sklearn.model_selection import cross_val_predict, KFold from sklearn.preprocessing import StandardScaler from sklearn.ensemble import RandomForestClas

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