草庐IT

$sklearn

全部标签

python - 是否可以将 python 对象(特别是 sklearn 模型)存储在内存映射文件中?

我有几个占用大量内存的大对象(sklearn模型),我想在多个进程之间共享它们。有办法做到这一点吗?它必须是“实时”对象,而不是序列化版本我知道有一个内存映射版本的numpy数组,它负责模型内存的很大一部分——但使用它们需要对sklearn源代码进行重大更改,这将很难维护 最佳答案 在进程从同一个python脚本启动的条件下,这里是一个创建第二个进程并在两个进程之间共享变量的示例。对此进行详细说明以创建一些流程是很简单的。注意用于创建和访问共享变量和锁的结构。我在算术过程中插入了一个循环来生成一些cpu使用情况,以便您可以监视和查看

python - 使用 H2O 的超参数在 Sklearn 中重新构建 XGBoost 在 Python 中提供了不同的性能

使用H2OPythonModuleAutoML后,发现XGBoost在Leaderboard上名列前茅。然后我试图做的是从H2OXGBoost中提取超参数,并在XGBoostSklearnAPI中复制它。但是,这两种方法的性能不同:fromsklearnimportdatasetsfromsklearn.model_selectionimporttrain_test_split,cross_val_predictfromsklearn.metricsimportclassification_reportimportxgboostasxgbimportscikitplotasskplti

python - 参数 num_class 的 xgboost sklearn 包装器值 0 应大于等于 1

我正在尝试使用sklearn提供的XGBClassifier包装器解决多类问题。我的类是[0,1,2],我使用的目标是multi:softmax。当我尝试拟合分类器时,我得到了xgboost.core.XGBoostError:value0forParameternum_classshouldbegreaterequalto1如果我尝试设置num_class参数,我会得到错误gotanunexpectedkeywordargument'num_class'Sklearn会自动设置这个参数,所以我不应该传递那个参数。但为什么会出现第一个错误? 最佳答案

python - 导入 sklearn 在 PyCharm 中不起作用

我在MacOS上使用pip安装了numpy、scipy和scikit-learn。但是在PyCharm中,除了我尝试导入sklearn时,所有导入都有效。我尝试在Pythonshell中执行此操作并且运行良好。关于是什么原因造成的任何想法?另外,不确定它是否相关,但我最后安装了scikit-learn。我收到的错误是Unresolved引用 最佳答案 我设法弄明白了,我不得不去项目解释器并更改python发行版,因为它默认操作系统安装了Python而不是我自己安装的发行版。 关于pyth

python - sklearn 管道 - 在管道中应用多项式特征变换后应用样本权重

我想应用样本权重,同时使用sklearn的管道,它应该进行特征转换,例如多项式,然后应用回归量,例如额外的树。我在下面的两个示例中使用了以下包:fromsklearn.ensembleimportExtraTreesRegressorimportnumpyasnpfromsklearn.pipelineimportPipelinefromsklearn.preprocessingimportPolynomialFeatures只要我单独转换特征并随后生成和训练模型,一切都会很好:#FeaturegenerationX=np.random.rand(200,4)Y=np.random.r

python - 如何为 sklearn CountVectorizer 设置自定义停用词?

我正在尝试在非英语文本数据集上运行LDA(潜在狄利克雷分布)。在sklearn的教程中,您可以在这一部分计算要输入LDA的单词的词频:tf_vectorizer=CountVectorizer(max_df=0.95,min_df=2,max_features=n_features,stop_words='english')它具有内置停用词功能,我认为该功能仅适用于英语。我如何为此使用自己的停用词列表? 最佳答案 您可以将您自己的单词的frozenset分配给stop_wordsargument,例如:stop_words=froz

python - 使用 sklearn cross_val_score 和 kfolds 来拟合和帮助预测模型

我试图了解如何使用sklearnpython模块中的kfolds交叉验证。我了解基本流程:实例化一个模型,例如model=LogisticRegression()拟合模型,例如model.fit(xtrain,ytrain)预测,例如模型.预测(ytest)使用例如crossval分数来测试拟合模型的准确性。我感到困惑的是使用sklearnkfolds和crossval分数。据我了解,cross_val_score函数将拟合模型并预测kfolds,为您提供每次折叠的准确度分数。例如使用这样的代码:kf=KFold(n=data.shape[0],n_folds=5,shuffle=Tr

python - sklearn : How to speed up a vectorizer (eg Tfidfvectorizer)

在彻底分析我的程序后,我已经能够确定它正在被矢量化器减慢。我正在处理文本数据,两行简单的tfidfunigram向量化占用了代码执行总时间的99.2%。这是一个可运行的示例(这会将一个3mb的训练文件下载到您的磁盘,省略urllib部分以在您自己的示例上运行):######################################LoadingData#####################################importurllibfromsklearn.feature_extraction.textimportTfidfVectorizerimportnltk.

python - Sklearn 将 fit() 参数传递给管道中的 xgboost

类似于Howtopassaparametertoonlyonepartofapipelineobjectinscikitlearn?我只想将参数传递给管道的一部分。通常,它应该像这样正常工作:estimator=XGBClassifier()pipeline=Pipeline([('clf',estimator)])并像这样执行pipeline.fit(X_train,y_train,clf__early_stopping_rounds=20)但它失败了:/usr/local/lib/python3.5/site-packages/sklearn/pipeline.pyinfit(se

python - 为什么 OLS 回归的 `sklearn` 和 `statsmodels` 实现给出不同的 R^2?

无意中我注意到,sklearn和statsmodels实现的OLS模型在不拟合截距时会产生不同的R^2值。否则他们似乎工作正常。以下代码产生:importnumpyasnpimportsklearnimportstatsmodelsimportsklearn.linear_modelasslimportstatsmodels.apiassmnp.random.seed(42)N=1000X=np.random.normal(loc=1,size=(N,1))Y=2*X.flatten()+4+np.random.normal(size=N)sklernIntercept=sl.Line