我无法理解使用scikit的这两个步骤是否相似:
1) 计算重要性为True的RandomForestClassifier,并手动选择返回的前10个特征,以进一步创建包含10个特征的新训练集,并进行训练和进一步预测
2) RandomforestClassifier,最大特征=10计算重要性=True,进一步使用rf.fit变换(训练,目标)和进一步的rf.fit(训练,目标)max\u特征=10意味着从整个集合中选择10个特征的新随机子集作为拆分的候选。换句话说,每次都会考虑10个不同的特征。
有谁能给我一个关于sklearn如何在内存中存储分类器的小解释吗?
我想知道它是否存储了一个函数或一个带有模式和标签的大矩阵或其他表示形式。您想知道的sklearn中的具体内容是什么?存储分类器、回归模型或任何其他机器学习模型意味着您需要存储可以预测新给定输入的参数
在线性模型的情况下,它可以主要是特征的系数,例如您所看到的
如果模型是一个支持向量,那么它将是一组支持向量,因此它是一个矩阵。根据型号,您需要存储更改的内容
但是我不知道你说的存储函数是什么意思。任何函数都是获取输入、对输入进行计算
我想聚集150万种化合物。这意味着有1.5 x 150万个距离矩阵
我想我可以使用pyTables生成这样一个大的表,但是现在——有了这样一个表,我将如何对它进行集群
我想我不能只是把pyTables对象传递给scikit学习集群方法之一
是否有任何基于python的框架可以利用我的大表并使用它做一些有用的事情(lie集群)?也许是分布式的?我认为主要的问题是内存。1.5 x 1.5百万x 10B(1个元件尺寸)>20TB
您可以使用bigdata数据库,如pyTables、Hadoop和Map
我正在使用OneClassSVM进行异常值检测
clf = svm.OneClassSVM(kernel='rbf', nu=k, tol=0.001)
clf.fit(train_x)
但是,它遇到了以下错误。
流程已完成,退出代码为-1073741819 0xC0000005
数据大小约为20MBtrain_x,这对我来说不是很大。
我电脑的内存是8GB。
但是,如果我减小文件大小,它就起作用了。这种行为是不一致的。
有时它起作用了,否则就不起作用了
以前有人有过这个问题吗
谢谢
标签: Scikit Learn
classificationrandom-forestensemble-learning
随机森林使用“大量的决策树在训练时输出类,这是单个树的类(分类)模式”
是否有一种方法可以代替使用作为模式的类,在原始树生成的输出上运行另一个随机林
额外问题:这是个坏主意,有什么原因吗?(我相信人们以前会想到这一点)我认为这只是一个性能选项,您的想法听起来不错,但没有更好的“随机性”,但计算速度可能较慢。您可以访问拟合的随机林实例的估计器属性中的单个决策树
您甚至可以重新采样该属性(它只是一个决策树对象的Python列表),以添加或删除树,并查看对结果林预测质量的影响。>是否有方法在结果树上运
我正在进行文本分类分析,并运行了基于NB的分类器,产生了以下结果:
Classification Report:
precision recall f1-score support
0 0.00 0.00 0.00 2
1 0.67 1.00 0.80 4
avg / total 0.44 0.67
我不知道把它放在标题里
这就是我试图做的:我使用GridSearch和管道来训练分类器。我想看看最佳估计器所使用的计数向量器的词汇表.items()
现在,在运行GridSearch之后,我正在这样做:
classifier = gs_clf.best_estimator_
vect = classifier.named_steps["vec"]
data = vect.fit_transform(x_train)
vocab = = vect.vocabulary_.i
我正在RandomForestClassifier上进行网格搜索,我的代码一直在工作,直到我更改了特性,突然代码生成以下错误(在line classifier.fit)
我没有更改任何代码,但将功能维度从16降到了8。我完全不知道我应该调查什么。这个错误意味着什么
错误:
multiprocessing.pool.RemoteTraceback:
"""
Traceback (most recent call last):
File "/home/zqz/Programs/anaconda
我正试图为最近邻搜索应用程序提出一个好的设计。这有点类似于这个问题:
在我的例子中,这将是在Python中,但主要的一点是,当新数据出现时,必须更新模型/索引。我现在正在和他玩,但我不认为这是一个很好的配合
应用程序的目标是:
用户输入一个查询,然后将显示现有数据集中的n个(可能固定为5个)最近邻。对于这一步,sklearn的这种搜索结构会有所帮助,但在添加新记录时必须重新生成。此外,这是第一次每次查询发生1次ste,因此与“立即”相比,可能会有点“慢”,如2-3秒
然后,用户可以单击其中一条
该问题与“sklearn LogisticRegressionCV是否使用最终模型的所有数据”相关()。答案是cristal关于LogisticRecgressionCV在二元分类中如何工作,特别是如何选择C:“对于C的每个值,对提供的数据进行交叉验证,其中LogisticRecgressionCV将适用()在当前折叠的训练数据上,并在测试数据上评分。所有折叠的测试数据中的分数将被平均,这将成为当前C的分数。这将针对您提供的所有C值进行,并将选择平均分数最高的C。“。
我的问题是…在多类情况下,
我有以下scikit学习管道用于一些数据预处理
如果数据帧中有分类特征,我想提取特征并运行SimpleImputer;如果没有这样的功能(即dataframe['Categorical']不存在),我希望它只是“跳过”/通过管道并继续下一步
如何做到这一点
Pipeline ([
('extract', extract_feature(dataframe['categoricals]),
('fill', SimpleImputer(strategy='constant', fill_value
我有一个超过30个功能的时间序列。对于scikit的预处理,了解您通常为每个功能使用一个定标器,还是为所有应标准化/规范化的功能使用一个定标器?始终为每个功能使用一个定标器。这将确保保留值并仅缩放
示例
#数据
特征1特征2
1 1
2 2
5 3
10 5
对所有要素使用一个缩放器将根据所有数据点的最小值和最大值缩放数据。这将导致以下结果
#一个用于所有功能的定标器
特征1特征2
.1 .1
.0
我目前正在使用scikit learn的软件包
我注意到我可以选择几种不同的方式返回分类结果。返回分类的一种方法是使用predict_log_proba方法
为什么我会选择使用predict\u log\u proba与predict\u proba与predict?
predict只为您提供每个示例的课程
predict\u proba给出每个类的概率,而predict只取概率最大的类
predict\u log\u probability提供概率的对数,这通常更方便,因为概率可能变得非常非常
python的scikit learn是否有任何能够很好地处理稀疏数据的回归模型
我四处摸索,发现了“稀疏线性回归”模块,但它似乎过时了。(我认为,scikit learn非常古老,当时被称为“scikits-learn”。大多数scikit学习回归模型(线性,如Ridge,Lasso,ElasticNet或非线性,如使用随机森林回归器)支持密集和稀疏输入数据scikit学习的最新版本(0.16.0是撰写本文时最新的稳定版本)
编辑:如果不确定,请检查感兴趣类别的fit方法的文档字符串
我试图得到需要用于分类的组件数量。我已经阅读了一个类似的问题和scikit文件:
然而,这仍然没有解决我的问题。我所有的PCA组件都非常大,当然我可以选择所有组件,但如果我这样做,PCA将毫无用处
我还阅读了scikit learn中的PCA库
它表明L:
如果n_components=='mle',则使用Minka的mle
猜测尺寸如果0
我只是试着做一个简单的线性回归,但我对这个错误感到困惑:
regr = LinearRegression()
regr.fit(df2.iloc[1:1000, 5].values, df2.iloc[1:1000, 2].values)
产生:
ValueError: Found arrays with inconsistent numbers of samples: [ 1 999]
这些选择必须具有相同的维度,并且它们应该是numpy数组,那么我缺少什么呢 看起来sklearn需要的
我有一个目标字符串,比如说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
我正在使用NLTK测试情绪分析模型。我需要在分类器结果中添加混淆矩阵,如果可能,还需要精度、召回率和F-度量值。到目前为止我只知道准确度。影评数据有pos和neg标签。然而,为了训练分类器,我使用的“featuresets”的格式与通常的(句子、标签)结构不同。在通过“featuresets”训练分类器后,我不确定是否可以使用sklearn中的混淆矩阵
首先,您可以对所有测试值进行分类,并将预测结果和黄金结果存储在列表中
然后,您可以使用nltk.ConfusionMatrix
test_res
我想知道在最新版本的scikit学习包中是否有平衡随机林(BRF)的实现。BRF用于数据不平衡的情况。它与普通RF一样工作,但对于每个自举迭代,它通过欠采样来平衡患病率等级。例如,给定两个类N0=100,N1=30个实例,在每次随机抽样时,它从第一个类中抽取(替换)30个实例,从第二个类中抽取相同数量的实例,即在平衡数据集上训练一棵树。了解更多信息
RandomForestClassifier()确实有“class_weight=”参数,该参数可能被设置为“balanced”,但我不确定它是否与
我有一些数据,还有这些数据点的成对距离矩阵。我想使用凝聚聚类对它们进行聚类。我读到,在sklearn中,我们可以将“预计算”作为亲和性,我希望它是距离矩阵。但我找不到任何使用预先计算的亲和力和自定义距离矩阵的示例。
任何帮助都将不胜感激 让我们调用距离矩阵D
agg = AgglomerativeClustering(n_clusters=5, affinity='precomputed', linkage = 'average')
agg.fit_predict(D) # Returns c
如何计算上述代码中的特异性。该代码计算精度和召回率。回忆也称为敏感性。建立一个计算特异性的函数,然后将其作为可调用的评分传递。如何做到这一点?有内置的功能吗
scoring=['recall', 'precision']
print("-----------------------------------------LR-------------------------
--------")
clf = LogisticRegression()
scores = cross_validate(
我正在用nltk和sklearn构建一个文本分类模型,并在sklearn的20个新闻组数据集中对其进行训练(每个文档大约有130个单词)
我的预处理包括删除停止字和柠檬化标记
接下来,在我的管道中,我将其传递给tfidfVectorizer(),并希望操纵矢量器的一些输入参数以提高精度。我读到过n-grams(通常,n小于提高了精度,但当我使用tfidf中的ngram_range=(1,2)和ngram_range=(1,3)使用multinomialNB()分类器对矢量器输出进行分类时,精度会
我试图在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)
是否有一种方法可以传递
我使用逻辑回归算法和TF-IDF矢量器训练了“消费者投诉分类”的NLP模型。我想知道我的模型与特定类关联的单词。我在找这样的东西-
类1=[“帮助我的模型识别输入文本属于该类的单词列表”我想你需要的是与一个类相关的最重要的单词(或更好的标记)。因为通常所有标记都会以某种方式与所有类“关联”。因此,我将用以下方法回答您的问题:
假设由TfidfVectorizer生成的令牌(或单词)存储在X\u列中,标签位于y\u列中,您训练的模型如下:
from sklearn.linear_model imp
我在xgboost上使用RandomizedSearchCV,并在IMBRearn管道中提前停止。如果使用RandomizedSearchCV运行代码,则会收到以下错误:
File "/anaconda3/lib/python3.6/site-packages/xgboost/core.py", line 2131, in _validate_features
data.feature_names))
ValueError: feature_names mismatc
嗨,我需要检索哪些文档(文档id)使用sklearn在潜在Dirichlet分配中生成了每个主题
我正在使用数据库来存储语料库
例如,我有表格语料库:
语料库=(文档id,文本)
我在语料库上运行LDA
我需要检索:
专题1
由doc_id=(ID3、ID9、ID12等)生成
专题2
由doc_id=(ID2、ID9、ID66等)生成
主题K
由文档id(d1,d2,…)生成
我可以这样做吗?一旦LDA获取语料库并将其放入弓中,文档id丢失,我只能检索文档的序列号,而不是数据库中的文档id
我能
我想得到准确度、平均准确度、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')交叉验证通常很长
我试图使用Sklearn中的BaggingClassifier来定义多个基估计量。根据我的理解,有些东西可能与此类似
clf = BaggingClassifier(base_estimator=[SVC(), DecisionTreeClassifier()], n_estimators=3, random_state=0)
但是这里的BaggingClassifier并没有将列表作为它的基本估计量。
我假设我可以切换到StackingRegressor(estimators=)手动定义多个
我有一个新的决策树集成回归算法需要实现,我会
如果可以的话,我想在基于Python的scikit学习包提供的基础设施上进行构建。我想创建一种新型的基本决策树,以及一种将它们结合起来进行集成回归预测的新方法
scikit学习的文档重点是使用,而不是扩展。我已经查看了现有集成方法的代码,但是使用了一些相当微妙的Python fu,这使得很难知道从哪里开始。有人知道解释如何使用自定义类扩展scikit的文档吗?或者有这种简单扩展的例子吗?(它可以在任何模块上;它不一定是集合。)
谢谢。你的意思是你想推
我正在脚本中运行MiniBatchKMeans,并输出我得到的集群中心。现在在另一个脚本中,我想计算这些集群中心的测试集的分数。我尝试过这样做:
mbk = MiniBatchKMeans(n_clusters=k, init=cluster_centers)
print mbk.score(X)
但我得到了这个例外
AttributeError: Model has not been trained yet.
如何在不训练模型的情况下获得k-means的分数?您必须恢复clusterer的
我正在使用逻辑回归进行特征选择(在一个包含1930388行和88个特征的数据集上)。如果我在保留的数据上测试模型,准确率略高于60%。响应变量是均匀分布的。我的问题是,如果模型的性能不好,我能考虑它所赋予的特性作为实际的重要特征吗?或者我应该尝试提高模型的准确性,尽管我的最终目标不是提高准确性,而是只获取重要的功能sklearn的GridSearchCV有一些非常简洁的方法来为您提供最佳的功能集。例如,考虑下面的代码
pipeline = Pipeline([
('vect', Tfid
我陷入了一个数据科学问题。
我试图使用随机森林预测未来的一些类。
我的特征是分类的和数字的。
我的课程不均衡。
当我试穿时,分数看起来很好,但交叉验证很糟糕。
我的模型一定太合适了
这是我的代码:
features_cat = ["area", "country", "id", "company", "unit"]
features_num = ["year", "week"]
classes = ["type"]
print("Data",len(data_forest))
print(da
sklearn中的SVC有一个decision\u函数函数,但为什么随机林没有呢?其次,我如何为RandomForestsClassifier模拟决策\u函数 是的,它有一个决策功能。
该函数直接编码到随机树的森林中
简单地说,学习者使用这个简单的决策函数策略:
规则a):森林(集合)对结果进行投票
规则b):每个随机树包含一系列决策(由节点表示)
规则c):每个节点都包含一个或多个简单条件,基于这些条件,决策过程根据示例特征向量输入值的指定值从根节点向终端叶移动得更远
规则d):终端叶包含一个
我正在构建集成,例如使用SKlearn进行投票,使用brew进行堆叠。然而,我认为Keras包装器不能正常工作
当KerasClassifier中的一个元素出现以下错误时,构建我收到的投票分类器:
TypeError: cannot create 'sys.flags' instances
我得到的是:
AttributeError: 'Sequential' object has no attribute 'classes_'
我如何将Keras与合奏结合使用?是否必须更改框架?尝试将Ke
标签: Scikit Learn
svmgrid-searchmultilabel-classificationhyperparameters
有没有办法使用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
我有一个数据框,其中a和B用于预测C
df = df[['A','B','C']]
array = df.values
X = array[:,0:-1]
Y = array[:,-1]
# Feature Importance
model = GradientBoostingClassifier()
model.fit(X, Y)
print ("Importance:")
print((model.feature_importances_)*100)
#PCA
pca = PCA(n
我遇到了一个与这个老问题相关的问题:
尝试使用“get_support()”获取所选功能时,我收到错误消息:
numpy.ndarray对象没有属性get\u support
我将非常感谢你的帮助
杰夫我想我找到了出错的原因。我在fit()或fit_transform()之后的结果上使用了“get_support()”,这导致了错误消息
我应该在选择器本身上使用“get_support()”(但仍然需要先使用选择器执行fit()或fit_transform()
谢谢
杰夫如果不进行试衣,就无法获
我正在尝试使用scikit learn 0.18.1将TimeSeriesPlit与GridSearchCV结合起来
相关代码如下所示:
pipeline = Pipeline([
('MMS', MinMaxScaler()),
('VT', VarianceThreshold(threshold=0.005)),
('SKB',SelectKBest(chi2, k=90)),
('rf', RandomForestClassi
我目前正试图用SKL来学习国际间人口停滞与幸福的关系。我已经用熊猫准备并清理了数据集,但由于某些原因,我尝试的任何模型都无法训练。我的数据专栏之一是国家,所以我使用pandas get_dummies函数来解释将字符串输入模型的原因。我的训练和测试变量的形状如下:(617,67),(617,),(151,67),(151,)
我的数据集是否太小而无法进行训练?假人对模特来说太多了吗?非常感谢您提供的任何帮助。您的数据很小,但这取决于您如何从中提取有用信息。您没有显示在67个功能中,有多少是使用假
我正在尝试为RandomForest预测器构建GUI,我希望有一个进度条来显示构建和预测过程
目前,只要进程在运行,我就可以在QLabel中运行gif,但我想知道是否可以跟踪实际进度。我读过关于跟踪stdout信号的子进程的文章,但我还没有找到调用任何子进程函数(Popen、run、check_输出)的参数
如果子流程是要走的路,那么我应该使用哪些参数?或者是否有其他方法可以利用verbose发出的信号
标签: Scikit Learn
covarianceldalinear-discriminantcovariance-matrix
我希望更好地理解scikit learn的LDA对象返回的协方差属性
我确信我遗漏了一些东西,但我希望它是与输入数据相关联的协方差矩阵。但是,当我将.convariace_u与numpy.cov()返回的协方差矩阵进行比较时,我得到了不同的结果
谁能帮我理解我错过了什么?感谢并乐意提供更多信息
请找一个简单的例子来说明下面的差异
import numpy as np
from sklearn.discriminant_analysis import LinearDiscriminantAnaly
我想知道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
在sklearn的train\u test\u split函数中使用stratifiy参数与StratifiedShuffleSplit函数之间有什么区别?他们不是做同样的事吗 这两个模块执行不同的操作
train\u test\u split,顾名思义,用于在单个训练和单个测试子集中拆分数据,stratify参数允许以分层方式进行此操作
另一方面,StratifiedShuffleSplit为交叉验证提供拆分;从:
分层随机分组交叉验证程序
提供列车/测试索引,以分割列车/测试集中的数据
注意
我正在寻找一种解决方案,将scikit学习模型、XGBoost模型、stats模型与TFX解决方案集成,以供端到端生产使用。
如何继续使用scikit学习功能以及tensorflow 2.x TFX支持
根据sklearn官方页面,“以最佳优先方式生长具有最大叶节点的树。最佳节点被定义为杂质的相对减少。如果没有,则无限数量的叶节点”。然而,这对我来说没有意义
有没有一种方法可以修改GaussianNB()类来进行预测,而不考虑先验知识?我得到的预测显然偏向于具有最大先验知识的类。这对于我的用例来说并不理想
我想解决这个问题的另一种方法是将所有类的优先级设置为相同。这可能吗?我没有意识到这个功能是通过更新内置到GaussianNB()中的。对于任何想知道的人,您可以通过按类传递权重数组来设置优先级作为参数。您可以使用priors参数将类优先级设置为您希望的任何值,如中所示-如果您费心发布答案(甚至是您自己的问题),请详细和具体;如果你提到的是prior
我试图用sci工具包学习LDA分类器绘制决策边界
我知道您可以使用transform方法转换多变量数据,将数据投影到第一个组件行(两类情况)。如何获取充当分类轴的第一个组件上的值?这就是,作为决策边界的值
谢谢 LDA对$Cov_{between}/Cov_{within}$执行PCA或类似PCA的操作。分类枢轴只是$Cov_{between}/Cov_{inthein}$的前n-1个特征向量
特征矩阵存储在lda.scalings\中,因此第一个分量是lda.scalings\的第一个向量。它
我正在尝试通过我编写的函数golub制作一个使用特征选择的分类器,golub根据SelectKBest的要求返回两个np数组。我想把它和一个支持向量机分类器联系起来,这个分类器使用线性和,并对k和C的可能组合进行优化。然而,我迄今为止所做的尝试没有成功,我不知道为什么。代码如下:
import numpy as np
from sklearn import cross_validation
from sklearn import svm
from sklearn.feature_sele
从获取代码后,我遇到了一个错误:
“ValueError:包含多个元素的数组的真值不明确。请使用a.any()或a.all()”
有什么问题吗。有人能帮我吗
下面是代码
导入选项
导入optunity.metrics
将numpy作为np导入
#k近邻
从sklearn.neighbors导入KNeighborsClassifier
#支持向量机分类器
从sklearn.svm导入SVC
#朴素贝叶斯
从sklearn.naive_bayes导入GaussianNB
#随机森林
从sklear
我是scikit新手,需要学习如何基于多个连续数据列预测值。这里我有几个数据列,它们有如下连续的数据。(列名仅作为示例参考)
我需要做的是根据输入上述数据创建的模型预测可乐的价值。我只看到对预测值进行分类的例子。如果给出了ColB、ColC、ColD、ColE值中的任何/全部,如何获得实际值
有人能帮我了解一下如何使用scikit吗?首先,我将数据转换为csv文件,以便使用pandas。
csv是
示例:
import pandas as pd
from sklearn.linear_model
1 2 3 4 5 6 ...
下一页 最后一页 共 22 页