我正在与sklearn合作实现KNN。虽然我的输入数据有大约20个特性,但我相信其中一些特性比其他特性更重要。有没有办法:
在“培训”KNN学习者时,为每个特征设置特征权重
了解有无预处理数据的最佳权重值
另一方面,我理解KNN通常不需要训练,但由于sklearn使用KDTrees实现它,因此必须从训练数据生成树。然而,这听起来像是把KNN变成了一个二叉树问题。是这样吗
谢谢。kNN只是基于距离函数。当你说“特性二比其他特性更重要”时,通常意味着特性二的差异值得,比如说,其他特性的10倍差异。实
我是scikit的新手。
在Scikit KMeans中,我找不到使用预计算距离矩阵的示例。
有谁能用一个更好的例子来说明这一点吗 Scikit learn不允许您传入自定义(预计算)距离矩阵。它可以预先计算欧几里德距离矩阵来加速这个过程,但如果不破解源代码,就无法使用自己的距离矩阵。对于这样一个开放式问题来说,这是一个错误的站点。请查看我们的帮助文件,看看这里需要和不需要什么类型的问题。除非你破解代码,否则你不能。由于速度的原因,K-均值与欧几里得距离相联系。
我有一个问题,即二元逻辑回归(使用scikit learn python=2.7)分类预测错误/相反的类的准确性很高。也就是说,在拟合模型后,每个类别的预测分数和预测概率非常一致,但总是属于错误类别。我无法共享数据,但我的方法的一些伪代码是:
X = np.vstack((cond_1, cond_2)) # shape of X = 200*51102
y = np.concatenate([np.zeros(len(cond_1)), np.ones(len(cond_2)])
scls
我已经开始使用scikit学习决策树,到目前为止效果很好,但我需要做的一件事是检索叶节点的样本Y值集,特别是在运行预测时。给定一个输入特征向量X,我想知道叶节点上对应的Y值的集合,而不仅仅是回归值,它是这些值的平均值(或中值)。当然,人们希望样本平均值有一个小的方差,但我确实希望提取Y值的实际集合,并进行一些统计/创建一个PDF。我使用过这样的代码
打印决策树,但“值”的输出是表示平均值的单个浮点。我有一个较大的数据集,因此将叶大小限制在例如100,我想访问这100个值…另一个解决方案是使用sk
我想开发一个模型,可以对客户旅程的二进制性质进行分类(1表示旅程是通过购买完成的,0表示没有购买(“jrn_类型”列)。旅程由通道组成,如下图所示(1到7列)
哪种模型最适合数据?Naive Bayes是一种简单但有效且常用的机器学习分类器。它是一种概率分类器,在贝叶斯设置中使用最大后验决策规则进行分类。根据您的数据,您最好使用Naive Bayes模型。
逻辑回归总是一个很好的备用方法,决策树会对数据进行分类,但不会像朴素贝叶斯那样。
最后,我建议您使用交叉验证方法验证您的模型,以确保您已经
在Python2.7.3下的Ubuntu12.04中,我是
正在尝试使用安装scikit-learn-0.14.1
“安装前测试软件包”。第一步
(python setup.py build_ext--inplace)从开始到完成OK
参见[]处的输出
然而,测试步骤(nosetests-sklearn/)并不是那么好。
它以22个错误和9个测试失败而结束。
参见[]处的输出
如果我是对的,这个问题可能与atlas图书馆有关。
我正在使用我自己构建的图书馆blas lapack atlas
安装
我刚刚将sklearn中的对数损失应用于逻辑回归:
我的代码如下所示:
def perform_cv(clf, X, Y, scoring):
kf = KFold(X.shape[0], n_folds=5, shuffle=True)
kf_scores = []
for train, _ in kf:
X_sub = X[train,:]
Y_sub = Y[train]
#Apply 'log_loss' as a
我有一个文本分类问题,我有两种类型的功能:
n克特征(由CountVectorizer提取)
其他文本特征(例如,给定词典中的单词)。这些特征与n-gram不同,因为它们应该是从文本中提取的任何n-gram的一部分
这两种类型的特征都是从文本的标记中提取的。我只想运行一次标记化,然后将这些标记传递给CountVectorizer和其他presence features提取器。所以,我想将一个令牌列表传递给CountVectorizer,但它只接受一个字符串作为某个示例的表示形式。是否有方法传
我有两个阶段的数据:
import numpy as np
data_pre = np.array([[1., 2., 203.],
[0.5, np.nan, 208.]])
data_post = np.array([[2., 2., 203.],
[0.5, 2., 208.]])
我还有两个预先存在的拟合估计器:
from sklearn.preprocessing import Imputer
大多数scikit learn度量函数都有一个考虑样本权重的选项。使用此选项的目的或用例是什么?不平衡的阶级
例如准确度评分或日志损失?在没有权重的情况下,每个样本对度量的贡献相等。有了权重,人们可以让一些样本比其他样本贡献更多或更少。用例是减少不太可信或不太有趣的样本的贡献。尽管严格来说,这不是一个编程问题:)没有权重,每个样本对度量的贡献是相等的。有了权重,人们可以让一些样本比其他样本贡献更多或更少。用例是减少不太可信或不太有趣的样本的贡献。但严格来说,这不是一个编程问题:)
当我从sklearn.multioutput import MultiOutputRegressor导入带有的MultiOutputRegressor时,我得到了一个ImportError:没有名为“sklearn.multioutput”的模块。
有人知道怎么处理吗?谢谢大家! 我得到了相同的错误,我通过使用以下pip命令将sklearn更新到最新版本(0.18)来删除该错误:
pip install -U scikit-learn
你能导入sklearn吗?您使用的是哪个版本的sklear
我得到了一个hmm,我可以通过传递fit函数来训练它,一个列表“合并”了所有的训练序列,每个序列串联在一起,一个列表“所有长度”了所有的单独序列长度
model=hmm.MultinomialHMM(n_分量=3).fit(np.至少2维(合并).T,所有长度)
这是可行的,但我无法使用sklearn的gridsearchCV确定最佳n_组件,如果我尝试以下操作,它会不断给我错误:
tuned_parameters = [{'n_components': [1,2,3]}]
test = Gri
我试着用K=30倍做K倍交叉验证,每个倍有一个混淆矩阵。如何计算置信区间模型的精度和混淆矩阵?
有人能帮我吗
我的代码是:
import numpy as np
from sklearn import model_selection
from sklearn import datasets
from sklearn import svm
import pandas as pd
from sklearn.linear_model import LogisticRegression
UNSW =
假设我有一个用于监督机器学习任务的数据集X和标签Y
假设X有10个特征和1000个样本,我认为使用sklearn.preprocessing.scale缩放数据是合适的。这个操作已经完成,我训练我的模型
我现在希望将其用于新数据的模型,因此我收集了X的10个特征的新样本,并希望使用我训练过的模型对该样本进行分类
在尝试分类之前,是否有一种简单的方法可以将在X上执行的相同缩放应用于将我的模型训练到这个新样本之前
如果没有,唯一的解决方案是在缩放之前保留X的副本,并将我的新样本添加到此数据,然后缩放
标签: Scikit Learn
scipystatsmodelsprobability-densitykernel-density
如何在周期性地输入新数据的情况下,根据旧数据增量更新核密度估计(KDE)的特征参数
我已经在数据中安装了KDE。假设它是以μ和σ为特征的高斯分布。现在我有了一批新的数据,我想用来调整和更新新KDE发行版的这些参数。为此,我正在使用PythonSklearn、Scipy和Statsmodels
如果您有任何建议或问题,请让我知道 我不知道在scikit learn中有什么方法可以做到这一点,而且我对指定的软件包也没有太多经验。然而,我认为,这样的实施并不容易。但是请看一下,然后。@Qusailot
我有一些类不平衡和一个简单的基线分类器,它将大多数类分配给每个样本:
from sklearn.metrics import precision_score, recall_score, confusion_matrix
y_true = [0,0,0,1]
y_pred = [0,0,0,0]
confusion_matrix(y_true, y_pred)
这就产生了
[3,0],
[1,0]]
这意味着TP=3,FP=1,FN=0
到目前为止,一切顺利。现在我想计算精确性和召回率的微平
我用的是scikit的learn。看起来coefs_uu字段是逻辑回归系数。是否有任何方法可以获得每个特征的p值、z值或某种不确定性度量?(例如,如R中所述)不幸的是,scikit learn没有任何此类逻辑回归方法(事实上也没有线性回归方法)。我发现这可能会让你感兴趣,但老实说,如果你可以的话,我会尽量坚持使用R来完成这些任务
我正在尝试使用sklearn和LightGBM的数字和分类功能。我创建了一个管道,其中包括:
依靠ColumnTransformer进行数据预处理的1个步骤(使用OneHOtEncoder对分类变量进行编码)
使用LightGBM进行实际模型培训的1个步骤
它可以很好地训练我的模型,但是当我想在测试数据集上使用我的模型进行预测时,我会收到一条错误消息。看起来预处理没有应用到这个测试数据集,但我不明白为什么。在我在网上找到的教程中,它似乎是有效的,尽管使用sklearn分类器
这是我的密码:
我当时正试着把内核弄得乱七八糟。我无法导入sklearn.gaussian\u进程.GaussianProcess。请帮助这个可怜的scikit学习新手
从sklearn.gaussian\u进程导入gaussian进程作为GP
错误:
Traceback (most recent call last):
File "C:/Users/Develop/PycharmProjects/reinforcement recommandation system/BNP/bayesianoptimi
我想用不同的标签标记图像中的非连续区域。
我想这应该可以通过scikit学习实现。
例如,图像存储在带有0和1的2D numpy.ndarray中,这些0和1位于不同的连续区域
让我们看一看下面这个非常简单的数组,其中有两个相邻的1区域,但是这些to区域之间用0隔开
np.array([
[1, 1, 1, 0, 0, 0],
[1, 1, 0, 0, 0, 1],
[0, 1, 0, 1, 0, 1],
[1, 1, 0, 1,
我试图使用scikit learn中的一个热编码对以下数据帧中的4个类进行分类:
K T_STAR REGIME
15 90.929 0.95524 BoilingInducedBreakup
9 117.483 0.89386 Splash
16 97.764 1.17972 BoilingInducedBreakup
13 76.917 0.91399 BoilingIndu
几天前我刚开始机器学习,我看到当我想要形状时(在sklearn中),它将形状显示为150个观察值和4个特征,但对于那些知道的人来说,iris数据集有5列,即花瓣长度、花瓣宽度、萼片长度和长度、萼片宽度和物种
代码如下:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.datasets import load_iris
iris = l
目前我知道如何执行一个热编码并将其拟合到模型的线性回归中,但我很难理解如何同时将我的数值变量和一个热编码变量拟合到模型中。在尝试将数值数据拟合到模型中之前,是否需要对其进行转换?关于如何使用这两个变量执行预测,我在代码的最后一行有点不知所措
#Encoding Process for my category variables
le = preprocessing.LabelEncoder()
category_names = pd.DataFrame(id_cat_delivery_revi
下面是一些设置集群问题的代码:
将numpy导入为np
将matplotlib.pyplot作为plt导入
#KMeans
##等级=2
#中心(2.5,2.5),r1=2,r2=1
X1=np.零(500*4)
X2=np.零(500*4)
r1=2;r2=1;a=2.5;b=2.5#生成圆
h=np.随机均匀(0,2*np.pi,1000)
噪声=np.随机.正常(0,0.11000)
X1[:1000]=np.cos(h)*r1+a+噪声
噪声=np.随机.正常(0,0.11000)
X2
我正在与Scikit学习一起进行分类任务。我有一个数据集,其中每个观察值包含两个单独的文本字段。我想设置一个管道,在这个管道中,每个文本字段通过其自己的TFIDFvectorier并行传递,TFIDFvectorier对象的输出传递给分类器。我的目标是能够使用GridSearchCV优化两个TfidfVectorizer对象的参数以及分类器的参数
管道可描述如下:
Text 1 -> TfidfVectorizer 1 --------|
我正在制作一个机器学习程序,它将单词分为以下几类:硬件,软件,这些都没有。我使用了sklearn中的多项式朴素贝叶斯分类器
函数predict()为我提供了对每个单词的预测,但是,我看不到单词与预测类别匹配的实际概率(浮动范围为0到1.0)。我也没有在sklearn的网站上找到这个
有没有一个函数能给出每个样本的概率?不过,我找到了解决方案:
predict_proba(X)返回测试向量X的概率估计值。不管怎样,我找到了解决方案:
predict_proba(X)返回测试向量X的概率估计。顺便问
我有一组特性Train=[a1,a2,…,aN],Train_label=[y1,y2,…,yN]。我有三节课。我申请了LDA
clf = LDA(store_covariance = True)
clf.fit(Train, Train_label)
并试图通过以下方式了解这些特性的重要性:
clf.coef_.
结果是一个3XN数组。返回值的范围从大约负800到大约正800。该图显示了一个类clf.coef_u1;[1,:]的权重
负值是什么意思
我为前3个最大coef_uu值的每
我正在尝试重新计算网格。我根据自己的数据获得的最佳分数没有成功。。。
因此,我尝试使用传统的数据集,但没有更多的成功。代码如下:
from sklearn import datasets
from sklearn import linear_model
from sklearn.cross_validation import ShuffleSplit
from sklearn import grid_search
from sklearn.metrics import r2_score
imp
当使用评分值为'roc_auc'('f1'、'precision'、'recall'工作正常)的gridsearchCV执行此操作时,我不断遇到此错误
#构建管道
管道([
('reduce_dim',PCA()),
('rf',RandomForestClassifier(最小样本数=5,随机状态=123))
])
N_特征_选项=[2]#用于PCA[2,4,8]
#下面这些参数用于随机分类
N_估计量=[10,50]#10,50100
最大深度=[5,6]#5,6,7,8,9
最小样本叶=5
我有一个给定的数据集,X和Y。
我想使用管道实现以下步骤:
- Standardscaler
- Recursive feature selection
- RandomForestClassifier
- cross-validation predict
我的执行情况如下:
import numpy as np
from sklearn.feature_selection import RFE, RFECV
from sklearn.metrics import accuracy_scor
我正在使用Scikit Learn&Tensorflow通过O'Reilly的机器学习实践进行工作
我正在MNIST数据集上训练分类器,我得到了错误
ValueError: The number of classes has to be greater than one; got 1 class
这是我的密码
mnist = fetch_openml('mnist_784', version=1, cache=True)
X, y = mnist["data"], mnist["target
从文件:
sklearn.preprocessing.MinMaxScaler.min u:ndarray,形状(n_特征)
每个功能调整的最小值
我不明白这意味着什么,在别处也找不到更好的解释
from sklearn import preprocessing
import numpy as np
x_test = np.array([[ 1., -1., 2.],
[ 2., 0., 0.],
[ 0.,
随机森林分类器的输入文本分类训练模型
在从pickle文件打开模型后,我无法知道训练模型的输入应该是什么
with open('text_classifier', 'rb') as training_model:
model = pickle.load(training_model)
for message in text:
message1 = [str(message)]
pred = model.predict(message1)
list.append(p
我正在为最新版本的英特尔daal4py分类器测试与sklearn兼容的包装器。“英特尔k-最近分类器”可与sklearn的cross_val_score()和GridSearchCV配合使用。intel分类器的性能提升非常显著,intel和sklearn模型在10个不同的大型公共数据集和一些模拟数据集上提供了大致可比的结果。
英特尔随机林分类器的sklearn兼容包装器似乎已完全损坏。score()方法不起作用,因此我无法继续使用“英特尔随机林”包装器类
我在英特尔AI开发者论坛上发布了这篇文章
我正在尝试为我的gridsearchCV使用自定义评分函数
def my_custom_loss_func(model,X_test,Y_test):
train_view=pd.DataFrame(np.round(model.predict(X_test)),columns=['predicted'])
train_view['original']=pd.DataFrame(Y_test).reset_index().delay
train_view['differe
对于机器学习回归模型,我使用Scikit learnmodel\u selection.train\u test\u split()函数
我必须把原始索引保存在火车数据的某个地方。在将数据拆分为训练/测试后,我丢失了这些信息。我无法将原始数据和训练数据与其索引进行匹配。
请告诉我如何修复?如果您的数据是熊猫数据帧,获取原始索引没有问题,因为它们保存在拆分中:
from sklearn import datasets
from sklearn.model_selection import trai
什么是sklearn.metrics中的检查评分,它是如何工作的,它与make\u scorer有什么区别?主要用作内部方法,以确保评分方法有效
它返回与make_scorer相同类型的实例,如果提供了None,则返回默认分数:
来自sklearn.tree导入决策树分类程序的>>
>>>从sklearn.tree导入决策树
>>>clf=DecisionTreeClassifier()
>>>regr=DecisionTreeRegressor()
>>>从sklearn.metrics导入检
我是个新手,一般来说也不熟悉python。你能帮我弄清楚这个脚本是否带来了某种解决方案吗?基本上,我在图像集上使用色调提取器:加载iset进行训练,提取特征,定义分类器,然后分类
#load beach for training
iset = ImageSet('/Users/Arenzky/Desktop/img_dirs/supervised/beach/') #load Image database
hue = HueHistogramFeatureExtractor() # d
假设X是一个典型形式的数组。给定代码
从sklearn.cluster导入MeanShift
ms=MeanShift(bin\u种子设定=True,cluster\u all=False)
菲特女士(X)
一旦我这样做,ms有两个属性:标签和集群中心。所以我的第一个问题是。。。。ms.fit\u predict(X)或ms.predict(X)的意义是什么,因为我们已经有了一个X的分类,我们可以从标签中读取它?主要的区别是当你说,ms.fit(X),X是你的标签数据集/火车数据集。说到ms.
我是“scikit学习”API的新手,希望实现一个多标签分类问题。导入以下软件包后:
import numpy as np
from sklearn.multiclass import OneVsRestClassifier
from sklearn.preprocessing import MultiLabelBinarizer
from sklearn.svm import LinearSVC
from sklearn.metrics import classification_report
我试图在sklearn中的线性回归模型中完成网格搜索。我有以下代码:
from sklearn.linear_model import Ridge
from sklearn.cross_validation import train_test_split
from sklearn.grid_search import GridSearchCV
X_train, X_test, y_train, y_test = train_test_split(X, star, test_size = 0.3
ValueError:y_中只有一个类为true。在这种情况下,ROC AUC分数没有定义。
我需要制作一个具有3类的分类器,但是在使用roc_auc的gridsearch中,总会出现一些错误,任何人都可以帮助您?您使用的cv=5将在内部使用一个简单的KFold,其中可能会出现训练折叠仅由单个类组成的情况。您应该使用分层方法来维持交叉验证拆分中的类平衡。看见还显示了一些数据示例。您使用的cv=5将在内部使用一个简单的KFold,在该KFold中,可能只包含一个类。您应该使用分层方法来维持交叉验证
我正在使用scikit learn通过交叉验证运行逻辑回归管道。我从下面代码中的每个折叠中获得分数。如何获得混淆矩阵
clf = make_pipeline(MinMaxScaler(), LogisticRegression())
scores = cross_val_score(clf, X_train, y_train, cv=3)
我想你想要的是:
clf = make_pipeline(MinMaxScaler(), LogisticRegression())
from sklea
我有连续变量和分类变量混合的数据。我计划对分类变量进行一次热编码,缩放数据集(平均值=0,标准值=1),然后执行PCA以减少维数。我需要知道,在进行PCA之前,我是否应该同样缩放一个热编码变量?为此,我将使用python scikit学习包。我想。此外,还对StackExchange进行了一般性讨论:。但是,它只在R中引入了一个包
在python中,我能找到的唯一一个包是这个包:。请注意,它是一个私有包,所以不应该期望在维护人员空闲时间之外得到广泛的支持。在这个包中是相关的工具,它目前正在构建/
我想了解为什么在scikit learn上的示例“Iris数据集”中,我们无法从numpy.dot(Iris.data,pca.components)(或pca.components.T)恢复X\u reduced)
据我理解,它们应该是相同的
提前非常感谢您可能是因为您忽略了任何类型的预处理
sklearn为此提供了一个专用API,即:
if self.whiten:
return np.dot(X, np.sqrt(self.explained_variance_[:
我从sklearn.linear_模型运行三种不同的回归模型
在我的具体示例中,linear\u model.LinearRegression.predict()和linear\u model.Ridge.predict()都返回相同格式的(1300,1)
线性_model.Lasso.predict()在传递完全相同的输入数据时返回a(1300,)。这会导致程序出错,打印失败
通过使用np.shape()检查所使用的每个变量,我已经尝试确保确实传递了相同格式的数据。我将其追溯到.predict
我尝试使用amazon sagemaker线性学习算法,它支持“application/x-recordio-protobuf”的内容类型。在预处理阶段,我使用scikit learn预处理对我的特征进行了一次热编码。然后使用线性学习器估计器记录io转换后的输入数据
我使用了软件包,预处理转换成功
从sagemaker.amazon.common导入写入\u spmatrix\u到\u sparse\u tensor
def输出(预测、接受):
“”“格式预测输出”
用于串行推断的容器之间的默认
我正在使用Scikit从其他人那里学习代码来构建预测工具。最初的代码运行得很好,但我需要将sample\u weight添加到预测工具中
在不同文档中搜索解决方案后,我发现主要问题是Scikit Learn中的管道不太支持sample\u weight
#创建管道
pipeline=make_pipeline(preprocessing.StandardScaler(),randomForestRegressionor(n_估计器=100))
hyperparameters={'RandomF
我计划使用一个包含3个目标值的数据集。最后,我将在一个二元目标上尝试分类方法,并计划对两个独立的连续目标使用回归方法
对每个目标变量进行不同的训练/测试分割是否是一种不良做法
否则,我不知道如何分割数据,使我能够分别预测每个目标 如果他们分别对3个不同的模型进行了有效的培训和评估,那么为了科学地评估每个模型的性能,对每个模型使用不同的测试序列划分并不重要,因为模型之间不会泄露任何信息。但是,如果您计划比较3个模型的结果,或将所有3个分数合并到某个聚合指标中,则您希望使用相同的测试序列分割,以便所
我使用的是scikit高斯混合,我想提供一个初始的平均猜测,以及搜索空间中的一些约束
我可以将means\u int设置为我需要的值,但是如何限制搜索空间,对于每个高斯值,+/-一些值。我该怎么做?这是在精度中设置的吗?我不知道如何使用它
范例
models = GaussianMixture(n_components=5, covariance_type="spherical", tol=1e-4,max_iter=100,n_init=1,means_int=np.array([10,20,
上一页 1 2 ...
4 5 6 7 8 9 10 ...
下一页 最后一页 共 40 页