似乎暗示neg_log_loss评分使用log_loss作为记分员。这个问题试图澄清引擎盖下正在发生的事情,公认的答案是负对数损耗等于-对数损耗。然而,随附的示例表明情况并非如此
scoring=“neg\u log\u loss”和scoring=make\u scorer(log\u loss)之间的关系是什么?这种明显的不连续性使我认为neg_log_损失是在损失中使用概率而不是预测。如何修改下面的代码,使每个方法返回相同的结果
将numpy作为np导入
从sklearn.linear_
我正在研究一维时间序列。我想看看一个简单的高斯模型通过BIC和AIC对我的数据的拟合程度。我想我应该做的是获得均方误差(MSE),然后用它计算BIC和AIC
但是,我不知道如何获得MSE。更准确地说,我不确定如何获得要输入到scikit学习函数mean_squared_error()中的yhat(即相应的预测y)。有可能吗
我需要一个SVM作为多标签分类器,所以我决定使用OneVsRestClassifier包装器。然而,问题出现了,训练集变得非常不平衡:对于一个给定的班级,负面的例子比正面的多得多。这可以通过class_weight参数来解决,但如果我在OneVsRestClassifier包装的分类器中使用它,我会得到一个错误:
from sklearn.svm import LinearSVC
from sklearn.multiclass import OneVsRestClassifier
weight
我使用LinearSVC作为决策树分类器的预处理步骤。我经营LinearSVC
然后我做变换(X)。我注意到功能的数量从35个减少到了9个。我想知道实际选择了哪些功能
我知道默认情况下,转换(X)与threshold='mean'一起工作。有人能告诉我一个例子,它如何决定是否保留该功能
这是我的女朋友
数组([[-2.45022173e-01,-8.61032928e-02,-2.39513401e-03,
-2.07443644e-02、2.49547244e-03、-3.14133367e-
GridSearchCV似乎有一个“cv”参数,默认为将输入的数据集拆分为训练集和验证集。如果我想手动输入一个培训和验证集,我将如何执行此操作?您可以使用该类
从0.16开始提供。好吧,这不再是交叉验证。但您可能仍然希望使用GridSearchCV的便利性进行模型选择。
此示例允许使用scikit learn对图像进行分类:
但是,重要的是,所有图像都具有相同的大小(宽度和高度,如注释中所述)。
如何修改此代码以允许对不同大小的图像进行分类?您需要定义自己的特征提取
在上面的示例中,每个像素都表示一个特征。如果您的图像大小不同,您可以做的最简单(但肯定不是最好)的事情就是将所有图像填充到最大图像的大小,例如,使用白色像素
这里介绍如何向图像添加边界。您需要定义自己的特征提取
在上面的示例中,每个像素都表示一个特征。如果您的图像大小不同,您可以做的最简单(但肯定不
我正在尝试使用DBSCAN sklearn实现进行异常检测。它适用于小型数据集(500 x 6)。但是,当我尝试使用大型数据集(180000 x 24)时,它会遇到内存问题。我能做些什么来克服这个问题吗
from sklearn.cluster import DBSCAN
import pandas as pd
from sklearn.preprocessing import StandardScaler
import numpy as np
data = pd.read_csv("data
我使用word2vec对文本进行矢量化,然后使用scikit learn对文本进行聚类。聚类后,如何获得最靠近每个聚类中心的前5个或10个单词?我能够获取集群中的所有单词,但无法获取最近的单词。当我使用tf-idf矢量器时,这是直截了当的,因为tf-idf中的每个功能都映射到一个单词,但word2vec却不是这样
下面是我如何使用word2vec表示k-means的
model = gensim.models.Word2Vec.load('w2v.mdel')
word_vectors = v
标签: Scikit Learn
random-forestlarge-datagrid-searchprecision-recall
这是我的第一个问题,我需要帮助!我自己也在通过实验来寻找答案,但我希望社区里的人能帮上忙
这是我在大学的论文,所以任何帮助都将不胜感激
我将尽可能地总结:
我正在使用Scikit学习分类器,并尝试使用GridSearchCV对其进行调整/CV,以形成未来使用Keras/Tensorflow的基线。
我目前的问题在于RandomForestClassifier/GridSearchCV。
我正在使用大量数据。来自Kaggle的信用卡欺诈数据
数据不平衡,因此我使用SMOTE进行过采样,使0类和1
我使用sklearn高斯混合模型算法(GMM)对我的数据(75000,3)进行了聚类。我有4个集群。我的数据中的每一点都代表了一个分子结构。现在我想得到每个团簇最具代表性的分子结构,我知道是团簇的质心。到目前为止,我已经尝试使用gmm.means uu属性定位集群正中心的点(结构),但是该确切点并不对应于任何结构(我使用numpy.where)。我需要获得最接近质心的结构的坐标,但在模块()的文档中没有找到这样做的函数。如何获得每个集群的代表性结构
非常感谢您的帮助,如有任何建议,我们将不胜感激
我使用scikit学习集成分类器进行分类。我有单独的训练和测试数据集。当我使用相同的数据集并使用机器学习算法进行分类时,我获得了一致的精度。不一致性仅适用于集成分类器。我甚至将random_state设置为0
对于同一个模型,您通常会发现不同的结果,因为每次在训练期间执行模型时,训练/测试分割都是随机的。通过将种子值赋予序列/测试分割,可以复制相同的结果
train, test = train_test_split(your data , test_size=0.3, random_state
我正在尝试在20news group上运行分类演示,我在这里下载py文件()并像往常一样运行python代码,但出现以下错误,即存在网络连接超时错误,我有点困惑,因为我可以从提供的URL()下载数据文件,有人知道如何解决此问题吗?我是否可以使用手动下载的数据文件
环境:
Python 3.6
Ananconda 5.0.1引用自:
sklearn.datasets.fetch_20newsgroups功能是一种数据获取/缓存功能,可从原始的20个新闻组网站下载数据存档,提取~/scikit\u
sklearn中FeatureUnion()和ColumnTransformer()的区别是什么
如果我想要构建一个包含混合数据类型(分类、数字、非结构化文本)的功能的监督模型,并且需要组合单独的管道,那么应该使用哪种方法
资料来源:
来源:根据sklearn文档:
FeatureUnion:连接多个transformer对象的结果。该估计器将变压器对象列表与输入数据并行应用,然后将结果串联起来。这对于将多个特征提取机制组合到单个转换器中非常有用
ColumnTransformer:将转换器应用
我正在使用sci工具包中的DecisionTreeClassifier学习并获得以下树:
if 'Salary' <= 1216.2154586:
if 'Age' <= 25.55487:
leaf 1
else:
leaf 2
else:
leaf 3
如果“Salary”是一个小的澄清-是分裂算法进行了切割,修剪部分随后出现,它仅用于通过删除一些节点来减少树的深度
如何调整多类分类器,使其在某些类中比在其他类中更精确(如果训练数据集包含数量相等的两个类)。我想根据班级管理精确的体重。
例如:
5节课,但我不希望第一节课和第二节课的预测比其他课更准确。
附笔。:
我使用的是随机森林分类器。SVC目前不合适。此问题已在此处解决,谢谢我以前看到过。
在做一门课程时,我被我认为是一个小问题所困扰。
我想通过SelectKBest找出最重要的功能(我将k从2,4,6,8变为2,4,6,8)
我加载数据
data_dict = pickle.load(open("final_project_dataset.pkl", "r") )
my_dataset = data_dict
data = featureFormat(my_dataset, feature_combo, sort_keys = True)
labels, features = t
我对sklearn.linear\u model
事实上,我已经将我的数据分为训练集和验证集,RidgeCV的文档说明参数cv可以是一个合适的训练/测试分割。因此,我写了以下内容:
m = linear_model.RidgeCV(cv=zip(x_validation, y_validation))
m.fit(x_train, y_train)
但它不起作用
Python抛出以下错误
IndexError: arrays used as indices must be of integer
我有一个程序可以完美地处理已知的数据集,比如威斯康星州的乳腺癌数据集。我创建了一个新颖的数据集,其中包括100个城市的当前气压和股票价格的未来走势。所以大约100维加上分类器是-1或1。大约有350个数据实例。该算法的准确率约为80%
我的问题是,当我输入旧数据进行预测时,它只预测1,而不是-1。当训练数据包含-1分类器时,情况也是如此。任何想法都非常感谢 KNN对n个最近邻居进行投票。所以当n=5时,你需要3个邻居投-1票。如果-1很少出现,并且-1没有聚集在一起,这可能永远不会发生。建议您也
标签: Scikit Learn
logistic-regressiongradient-descenthyperparameters
我有一个定义了一组参数的模型(warm\u start=True)
和往常一样,我调用LogisticRegression.fit(X\u-train,y\u-train)并在之后使用模型预测新的结果
假设我更改了一些参数,例如,C=100,并使用相同的训练数据再次调用.fit方法
理论上,第二次,我认为.fit比warm\u start=False的模型需要更少的计算时间。然而,从经验上看,事实并非如此
请帮助我理解warm\u start参数的概念
另外:我还为一个实验实现了sgdclas
我创建了一个单类支持向量机,用于检测振动数据中的异常情况,以便进行状态监测
我的想法是将其作为扩展系统的基础。我想对检测到的异常进行聚类,并询问用户对这些聚类的输入,这样我不仅可以检测到异常,还可以对它们进行分类
有没有什么算法可以让我在检测到具有相当高确定性的聚类后增加SVM中的类数?使用SVM完成此任务是一个好主意?考虑另一个模型,如神经网络(Basic MLP P体系结构)。它们能够固有地执行多类分类
您可以做的是,首先使用两个输出节点对数据进行训练,一个用于无检测,另一个用于类。在最后
我试图通过使用MLP学习一些正弦函数。不幸的是,结果严重依赖于随机种子。
如何调整MLPREGESSOR,使结果对随机种子的依赖性降低
代码:
输出:
np.random.seed(0)
MSE train: 0.00167560534562
np.random.seed(1)
MSE train: 0.0050531872206
np.random.seed(2)
MSE train: 0.00279393534973
np.random.seed(3)
MSE train: 0.002242
我使用sklearn.linear\u model.LinearRegression
我们把它叫做model
我有一个X_1,X_2,…,X_n
我所做的就是一个接一个地预测它们,比如:
列表中X_i的:
模型预测(X_i)
有没有更快的方法?也许我可以把所有的X_I连接在一起,然后一次预测它们?假设X1。。。XN是numpy数组,您可以这样对它们进行操作:
X = np.concatenate((X1, X2, X3), axis=0)
然后将此数组传递给fit/predict您可以使用
在我的项目中,我使用三维MRI数据,其中第四维代表不同的对象(我使用这个软件包)。我正在使用sklearn.decomposition.PCA从数据中提取给定数量的主成分。现在我想在一张大脑图像上分别绘制这些成分,也就是说,我想用我提取的成分(在本例中为2)以不同的颜色显示一张大脑图像
下面是使用OASIS数据集的示例代码,可通过以下方式下载:
使用nilearn.input_data.NiftiMasker掩蔽,它将我的4维数据转换为2维数组(n_主题x n_体素)
使用StandardSca
我现在正在学习StandardScaler。然而,我不明白转换到底是做什么的。在API文档中,它只是说“通过居中和缩放来执行标准化”,有人能解释一下吗?如果您单击右侧的[source],您可以看到。从第796行到第807行,您将看到
if sparse.issparse(X):
if self.with_mean:
raise ValueError(
"Cannot center sparse matrices: pass `with_m
在sklearn.gaussian_process.kernels.DotProduct的函数中,函数定义为:
# line 2049
K = np.inner(X, Y) + self.sigma_0 ** 2
而梯度是
# line 2054
K_gradient[..., 0] = 2 * self.sigma_0 ** 2
为什么不是下面的
K_gradient[..., 0] = 2 * self.sigma_0
我正在做一个生物特征识别的分类问题。我将测试集中的每个探针与图库中的欧几里德距离进行比较
每次我运行代码都会得到不同的结果。如果我删除定标器,我总是得到相同的结果
为什么定标器会产生不同的值?(差别很小,有时可以识别10个以上的探针,有时可以识别10个以下的探针)。感谢所有回答的人
scaler = StandardScaler()
training_walks_matrix = load('training_imputeZero.npy')
training_scaled = scaler.f
我正在训练一个关于scikit学习中二进制分类问题的随机森林分类器。我想最大化模型的auc分数。我知道这在0.13稳定版本中是不可能的,但在0.14前沿版本中是可能的
我试过了,但结果似乎更糟:
ic = RandomForestClassifier(n_estimators=100, compute_importances=True, criterion='entropy', score_func = auc_score);
这是作为模型的参数使用还是仅在gridsearchCV中使用
如果
ngram_范围在countvectorizer和TFidf矢量器等矢量器中有何用途。我的意思是ngram_范围(1,1)是指单位格。ngram_范围(1,2)和(2,2)的含义是什么?ngram_范围(1,2)表示单格图和双格图,(2,2)仅表示双格图。。
你不觉得这个数字足够精确吗
要提取的不同n克的n值范围的上下限。n的所有值,因此min_n是一个非常晚的评论,但Andreas在这里的第一句话提供了一个完美的例子,可以帮助新手快速学习,因此如果将这样的例子添加到文档字符串中,将使新手的生活
我对scikit和SVM方法都是新手。为了检测异常值,我的数据集与scikit learn OneClassSVM配合得很好;我使用观察训练OneClassSVM,所有这些都是“内联线”,然后使用predict()在我的测试数据集上生成二进制内联线/离群线预测
然而,为了继续我的分析,我想得到与测试集中每个新观察相关的概率。例如,成为与每次新观测相关的异常值的概率。我注意到scikit learn中的其他分类方法提供了通过参数probability=True来计算这一点的能力,但OneClass
我想在多个处理器上并行使用sklearn.grid\u search.GridSearchCV()。这是我第一次这样做,但我的初步测试表明它似乎是有效的
我试图理解部分文档:
n_作业:int,默认值1
要并行运行的作业数
pre_dispatch:int或string,可选
控制并行处理期间调度的作业数
执行。减少此数字有助于避免数据爆炸
调度的作业数超过CPU所能调度的作业数时的内存消耗
过程此参数可以是:
无,在这种情况下,所有工作都会立即创建并
产卵。用于轻量级和快速运行的作业,以避免
我是新来的xgboost,我试图通过与传统的gbm进行比较来学习如何使用它。但是,我注意到xgboost比gbm慢得多。例如:
from sklearn.model_selection import KFold, GridSearchCV
from sklearn.ensemble import GradientBoostingRegressor
from xgboost import XGBRegressor
from sklearn.datasets import load_boston
i
学习:
输入样本的预测类概率计算为
森林中树木的平均预测类概率
我的问题是:有没有办法提取每个预测概率的均方误差
例如,一个人应该有来自每棵树的预测概率,但我找不到如何预测
编辑:
这是用于predict\u proba功能的sklearn代码:
def predict_proba(self, X):
"""Predict class probabilities for X.
The predicted class probabilities of an input sample
我想对我的数据集中10个特征中的3个分类特征进行编码。我使用来自的预处理执行以下操作:
from sklearn import preprocessing
cat_features = ['color', 'director_name', 'actor_2_name']
enc = preprocessing.OneHotEncoder(categorical_features=cat_features)
enc.fit(dataset.values)
但是,我无法继续,因为我遇到以下错误:
我偶然发现了这个问题(当我使用K-fold来训练海量数据时)
我遇到的问题与这个问题类似。但是,当我收到“未找到权重中指定的类标签0”警告时,我甚至无法获得模型(内核是线性的)
可以从中复制x、y和w
下面是我的代码和错误:
>>> clf = SVC(C=0.5,class_weight='balanced',kernel='linear')
>>> clf.fit(x, y, sample_weight=w)
warning: class label 0
我想在sklearn中通过PCA将图像的维数从(480640,3)降到(1512)。因此,我将图像重塑为(1921600)。然后,我执行pca以降低维度。但它改为(1,1),而不是(1512)
有谁能告诉我如何缩小单个图像的尺寸?谢谢,这是意料之中的事
PCA是一种统计程序,使用正交变换将可能相关变量的一组观察值转换为一组线性不相关变量值,称为主成分(有时称为主要变化模式)
在形状(1921600)上拟合PCA意味着它是一个具有921600特征的样本
:
n_组件==min(n_样本,n_特征)
我正在运行LBP算法,根据纹理特征对图像进行分类。分类方法为sklearn.svm包中的LinearSVC
通过SVM获取直方图并进行拟合,但有时直方图的长度会因图像的不同而不同
示例如下:
from skimage import feature
from scipy.stats import itemfreq
from sklearn.svm import LinearSVC
import numpy as np
import cv2
import cvutils
import csv
imp
嗨,我想知道是否有人知道如何将下面的scikit学习版本0.17代码翻译成版本0.20
from sklearn.gaussian_process import GaussianProcess
gp = GaussianProcess(corr='cubic', theta0=1e-2, thetaL=1e-4, thetaU=1E-1,
random_start=100)
xfit = np.linspace(0, 10, 1000)
yfit, MS
我是数据科学新手,曾与Keras LSTM合作,但没有成功。
每次计算r2分数都会得到0.0。
因此,在谷歌搜索之后,我找到了下面的scikit学习示例[1],作为数据科学的新手,我有一些示例,我正在努力理解以下几点:
他们为什么应用exp和log1p
python中是否有一种方法或假设测试技术可以知道我应该对数据应用哪种转换,以便在LSTM中获得更好的结果
为什么他们要在整个数据集上应用它,然后分割用于训练和测试?考虑到顺序应该保存转换函数并在以后的测试中使用它?(不确定在这种情况下如何操作)
我使用f_classif确定我的特征得分:
def select_feature_anova(x,y,data):
anova = feature_selection.f_classif(x, y)
threshold = 10
# How to build x_new?
将x转换为x\u new的最简单方法是什么,以便只包含分数高于阈值的功能?此外,我想排除得分为Nan的特征,我们可以根据F分数过滤特征
试试这个
从sklearn.feature\u选择导入f\
我想将MultiLabelBinarizer的逆_变换应用于单个样本,例如:
labels = ['Architektur & Garten',
'Ganzheitliches Bewusstsein',
'Glaube & Ethik',
'Kinderbuch & Jugendbuch',
'Künste',
'Literatur & Unterhaltung'
已创建的KDTree的信息位于数据数组、绑定数组、节点_数据数组和idx数组中。我想知道如何仅使用这些数组中的信息来查找最接近给定输入点的某个叶节点的点?我只想了解使用这些数组的总体情况,而不是使用一些内置函数,如查询等
所以在每个节点数组中有4个值:开始索引,结束索引,is叶,半径。使用start_索引、end_索引和idx_数组,我可以从树中找到属于某个叶节点的点的索引。现在我想知道bound_数组的含义是什么?我知道,对于每个树\节点,在绑定\数组中都有上下限,但是如何使用这些值从树的根\
我可以限制scikit学习超参数优化的GridSearchCV/RandomizedSearchCV迭代中每个步骤的时间吗
谢谢据我所知,这在sklearn是不可能的
我正在尝试在Google colab上运行auto sklearn。我已成功安装AutoSklearn,但在运行以下代码时出现错误:
输入:
import autosklearn.classfication
输出:
---------------------------------------------------------------------------
IncorrectPackageVersionError Traceback (most rec
在scikit learn中是否有任何内置的蛮力功能选择方法?即,彻底评估输入特征的所有可能组合,然后找到最佳子集。我熟悉“递归特性消除”类,但我对逐个评估输入特性的所有可能组合特别感兴趣 否,未实现最佳子集选择。最简单的方法是自己写。这应该让你开始:
from itertools import chain, combinations
from sklearn.cross_validation import cross_val_score
def best_subset_cv(estimato
我想使用scikit learn对每个特征子集执行嵌套网格搜索和交叉验证的递归特征消除。从RFECV文档中可以看出,使用estimator\u params参数支持这种类型的操作:
estimator_params : dict
Parameters for the external estimator. Useful for doing grid searches.
但是,当我尝试将超参数网格传递给RFECV对象时
from sklearn.datasets import make
考虑以下用例(这完全是从James等人的统计学习入门中抄袭而来)
您试图根据各种个人数据预测信用卡所有者是否会违约。您使用的是线性判别分析(或者,就本问题而言,二次判别分析)
你想让你的评估者优先考虑真阳性率而不是假阳性率。也就是说,正确识别即将发生的违约比预测无法实现的违约更重要
在sklearn.lda.lda和/或sklearn.qda.qda类中是否有此设置?我认为也许用class_previor命名的参数构建它们是合适的,但这似乎不被接受。您可以使用lda.predict_proba更
当我使用scikit learn时,我得到了两组不同的p值
predKbest= SelectKBest(sklearn.feature_selection.f_regression, k=i).fit(X_train, y_train)
predKbest.pvalues_
及
在相同的数据X_列和y_列上。它们应该是不同的p值吗 SelectKBest将根据您输入的测试,按重要性选择前i个变量:Fischer或Chi2
F_回归用于回归,而chi2用于分类,所以很奇怪的是,您将这两种方法
这是线性回归模型交叉验证的代码。正如你所看到的,最好的分数是0.7,但是我如何才能检索到具有最好分数的模型的参数(系数)
from sklearn.model_selection import cross_val_score
clf = linear_model.LinearRegression()
scores = cross_val_score(clf, data_f[features], data_f['temperature'], cv=5)
scores
这就是结果
array(
Sklearn 20开发人员有一个新功能-Sklearn.compose.TransformedTargetRegressor。考虑使用它与SkPult.MydioStult.GrdSeaScCv.
pipelines = {
'P0_baseline': {
'tuned_parameters': {
'feature_encoder__handle_unknown': ['ignore'],
'DecisionTreeR
我一直在从事一个项目,其中使用了许多分类算法,除高斯朴素贝叶斯(Gaussian Naive Bayes)的准确率接近48%外,大多数都给出了令人满意的结果。我打算将支持向量机和高斯朴素贝叶斯结合在一个算法中,以获得更高的精度,但找不到这样做的方法。
如果有人能帮我解决这个问题 我建议调查有关“集成学习”的文献
集成学习是机器学习的一个领域,使用多个分类器(专家)生成(使用投票方法)最终决策
为了提高模型的稳定性,我建议使用在原始训练集的不同版本上训练的“最佳”分类器的几个实例(打包/引导聚合)
上一页 1 2 ...
15 16 17 18 19 20 21 ...
下一页 最后一页 共 40 页