标签: pipeline

即使整个管道都安装了,管道中的 Sklearn 组件也没有安装?

我试图从安装好的管道中挑出一个组件/变压器来检查它的行为。但是,当我检索组件时,该组件显示为未安装,但是将管道作为一个整体使用是没有问题的。这表明管道已安装,组件也已安装。

有人可以解释原因,并建议如何检查已安装管道中的组件吗?

这是一个可重现的示例:

import pandas as pd
import numpy as np

from sklearn.compose import ColumnTransformer
from sklearn.pipeline import Pipeline
from sklearn.impute import SimpleImputer
from sklearn.preprocessing import StandardScaler, OneHotEncoder
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split, GridSearchCV

np.random.seed(0)

# Read data from Titanic dataset.
titanic_url = ('https://raw.githubusercontent.com/amueller/'
               'scipy-2017-sklearn/091d371/notebooks/datasets/titanic3.csv')
data = pd.read_csv(titanic_url)

# We create the preprocessing pipelines for both numeric and categorical data.
numeric_features = ['age', 'fare']
numeric_transformer = Pipeline(steps=[
    ('imputer', SimpleImputer(strategy='median')),
    ('scaler', StandardScaler())])

categorical_features = ['embarked', 'sex', 'pclass']
categorical_transformer …
Run Code Online (Sandbox Code Playgroud)

python pipeline scikit-learn

10
推荐指数
1
解决办法
831
查看次数

是什么决定了Powershell管道是否会展开一个集合?

# array
C:\> (1,2,3).count
3
C:\> (1,2,3 | measure).count
3

# hashtable
C:\> @{1=1; 2=2; 3=3}.count
3
C:\> (@{1=1; 2=2; 3=3} | measure).count
1

# array returned from function
C:\> function UnrollMe { $args }
C:\> (UnrollMe a,b,c).count
3
C:\> (UnrollMe a,b,c | measure).count
1
C:\> (1,2,3).gettype() -eq (UnrollMe a,b,c).gettype()
True
Run Code Online (Sandbox Code Playgroud)

与HashTables的差异是众所周知的,尽管官方文档仅提到它(通过示例).

但是,功能问题对我来说是个新闻.我有点震惊,现在还没有咬过我.我们编程人员可以遵循一些指导原则吗?我知道在C#中编写cmdlet时会出现WriteObject重载,您可以在其中明确地控制枚举,但是AFAIK在Posh语言本身中没有这样的构造.正如最后一个例子所示,Posh解释器似乎相信被管道对象的类型没有区别.我怀疑在引擎盖下可能会有一些Object vs PSObject的怪异,但是当你编写纯粹的Posh并期望脚本语言"正常工作"时,这没什么用处.

/编辑/

基思是正确的指出,在我的例子中,我传入一个字符串[]参数而不是3个字符串参数.换句话说,Measure-Object说Count = 1的原因是因为它看到的是一个数组,其第一个元素是@("a","b","c").很公平.这些知识允许您以多种方式解决问题:

# stick to single objects
C:\> (UnrollMe a b c | measure).count
3 …
Run Code Online (Sandbox Code Playgroud)

collections powershell ienumerable pipeline

9
推荐指数
1
解决办法
2874
查看次数

bash脚本:如何在管道中保存第一个命令的返回值?

Bash:我想运行一个命令并通过一些过滤器管道结果,但如果命令失败,我想返回命令的错误值,而不是过滤器的无聊返回值:

例如:

if !(cool_command | output_filter); then handle_the_error; fi
Run Code Online (Sandbox Code Playgroud)

要么:

set -e
cool_command | output_filter
Run Code Online (Sandbox Code Playgroud)

在任何一种情况下,它cool_command都是我关心的返回值- 对于第一种情况中的'if'条件,或者在第二种情况下退出脚本.

这样做有什么干净的习惯用法吗?

bash pipeline return-value

9
推荐指数
2
解决办法
4969
查看次数

ASP.NET MVC中的Razor页面生命周期

我一般关于渲染管道的问题,我看过ASP.NET MVC管道方案,还有一个名为View Engine的步骤,它是如何工作的?我想知道这种情况:

  • 什么是首先渲染,母版页或视图?
  • 如果我Response.End()@{}页面开头的块中使用这个中断执行页面并停止渲染视图?

asp.net-mvc pipeline razor asp.net-mvc-3

9
推荐指数
1
解决办法
6296
查看次数

什么是构建管道的好工具?

我需要一个工具,以图形方式表示我们的构建管道.下面的ThoughtWorks Go和Jenkins Pipeline插件的截图几乎可以说明我想要它的样子.

问题是我们已经将Jenkins用于我们的构建和部署,以及一些其他用于编排类型职责的自定义工具.我们不希望管道工具本身进行构建或部署,它只需要调用Jenkins!我尝试了Go,它要求的第一件事是我的源代码是什么以及如何构建它.我无法以Jenkins进行构建的方式开始工作,但Go创建了管道.

我也尝试过Jenkins Pipeline插件,但它非常有限.首先,它不适用于Join插件(因此我们不能并行运行作业,这是一项要求).它还假设我们的所有任务都发生在Jenkins中(Jenkins无法在我们的测试实验室之外看到我们的生产环境).我不知道这是否也是可行的选择.

那么,有没有人对某些管道工具有什么建议可以做我正在寻找的东西?

ThoughtWorks Go Jenkins管道插件

deployment build-automation pipeline jenkins

9
推荐指数
1
解决办法
6751
查看次数

如何在scikit-learn中对管道内的转换参数进行gridsearch

我的目标是使用一个模型来选择最重要的变量,使用另一个模型来使用这些变量进行预测.在下面的示例中,我使用两个RandomForestClassifiers,但第二个模型可以是任何其他分类器.

RF具有带阈值参数的变换方法.我想网格搜索不同的可能阈值参数.

这是一个简化的代码片段:

# Transform object and classifier
rf_filter = RandomForestClassifier(n_estimators=200, n_jobs=-1, random_state=42, oob_score=False)
clf = RandomForestClassifier(n_jobs=-1, random_state=42, oob_score=False)

pipe = Pipeline([("RFF", rf_filter), ("RF", clf)])

# Grid search parameters
rf_n_estimators = [10, 20]
rff_transform = ["median", "mean"] # Search the threshold parameters

estimator = GridSearchCV(pipe,
                         cv = 3, 
                         param_grid = dict(RF__n_estimators = rf_n_estimators,
                                           RFF__threshold = rff_transform))

estimator.fit(X_train, y_train)
Run Code Online (Sandbox Code Playgroud)

错误是 ValueError: Invalid parameter threshold for estimator RandomForestClassifier

我认为这会有效,因为文档说:

如果为None且可用,则使用对象属性阈值.

我尝试在网格搜索(rf_filter.threshold = "median")之前设置阈值属性并且它有效; 但是,我无法弄清楚如何对其进行网格搜索.

有没有办法迭代通常预期在分类器的转换方法中提供的不同参数?

python pipeline machine-learning scikit-learn

9
推荐指数
2
解决办法
3990
查看次数

如何在管道聚合中比较文档中的两个字段(mongoDB)

我有一个如下文件:

{
  "user_id": NumberLong(1),
  "updated_at": ISODate("2016-11-17T09:35:56.200Z"),
  "created_at": ISODate("2016-11-17T09:35:07.981Z"),
  "banners": {
    "normal_x970h90": "/images/banners/4/582d79cb3aef567d64621be9/photo-1440700265116-fe3f91810d72.jpg",
    "normal_x468h60": "/images/banners/4/582d79cb3aef567d64621be9/photo-1433354359170-23a4ae7338c6.jpg",
    "normal_x120h600": "/images/banners/4/582d79cb3aef567d64621be9/photo-1452570053594-1b985d6ea890.jpg"
  },
  "name": "jghjghjghj",
  "budget": "2000",
  "plan": null,
  "daily_budget": "232323",
  "daily_budget_auto": "",
  "href": "qls2.ir",
  "targets": {
    "cats": [
      "fun",
      "news"
    ],
    "region": "inIran",
    "iran_states": null,
    "os": "all",
    "gold_network": true,
    "dont_show_between_1_n_8": true
  },
  "payment": {
    "bank": "mellat",
    "tax": "add"
  },
  "click_cost": "102000",
  "status": null
}
Run Code Online (Sandbox Code Playgroud)

我想检查是否budget低于click_cost我在检查查询中的其他参数时:

db.bcamp.aggregate(
    [
        {
            $match:{
                $and: [ 
                    {"targets.cats":{
                        "$in" : ["all"]
                        }
                    },

                    {"banners.normal_x970h90":{
                        "$exists":true
                        }
                    }, …
Run Code Online (Sandbox Code Playgroud)

comparison pipeline document mongodb aggregation-framework

9
推荐指数
1
解决办法
1万
查看次数

单例数组数组(<函数列在0x7f3a311320d0>,dtype = object)不能被视为有效集合

不知道如何解决.任何帮助非常感谢.我看到了矢量化:不是一个有效的集合,但不确定我是否理解这一点

    train = df1.iloc[:,[4,6]]
            target =df1.iloc[:,[0]]

            def train(classifier, X, y):
                X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=33)

                classifier.fit(X_train, y_train)
                print ("Accuracy: %s" % classifier.score(X_test, y_test))
                return classifier

        trial1 = Pipeline([
            ('vectorizer', TfidfVectorizer()),
            ('classifier', MultinomialNB()),
        ])

        train(trial1, train, target)
Run Code Online (Sandbox Code Playgroud)

错误如下:

    ----> 6 train(trial1, train, target)

    <ipython-input-140-ac0e8d32795e> in train(classifier, X, y)
          1 def train(classifier, X, y):
    ----> 2     X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=33)
          3 
          4     classifier.fit(X_train, y_train)
          5     print ("Accuracy: %s" % classifier.score(X_test, y_test)) …
Run Code Online (Sandbox Code Playgroud)

python pipeline pandas scikit-learn train-test-split

9
推荐指数
3
解决办法
2万
查看次数

缺少必需的上下文类 hudson.FilePath 也许您忘记用提供此内容的步骤包围代码,例如:节点

当我在 Jenkinsfile 中加载另一个 groovy 文件时,它显示以下错误。

“缺少所需的上下文类 hudson.FilePath 也许您忘记用提供此内容的步骤包围代码,例如:节点”

我制作了一个包含函数的 groovy 文件,我想在我的声明性 Jenkinsfile 中调用它。但它显示一个错误。

My Jenkinsfile--->

def myfun = load 'testfun.groovy'
pipeline{
    agent any
    environment{
        REPO_PATH='/home/manish/Desktop'
        APP_NAME='test'
    }
    stages{
        stage('calling function'){
            steps{
                script{
                    myfun('${REPO_PATH}','${APP_NAME}')
                }
             }
         }
     }
  }
Run Code Online (Sandbox Code Playgroud)

结果 -

org.jenkinsci.plugins.workflow.steps.MissingContextVariableException: 缺少必需的上下文类 hudson.FilePath 也许你忘了用提供这个的步骤来包围代码,例如:节点

建议我什么是正确的方法。

groovy pipeline function-call jenkins jenkins-pipeline

9
推荐指数
1
解决办法
2万
查看次数

如何在 Github Action 中使用 Github Release 版本号

我创建了一个 Github 存储库,该存储库具有构建 npm 包并将其发布到 npmjs.com 的操作。我采取行动的触发因素是在 Github 中创建一个新版本。创建新版本时,Github 要求我提供版本号。我很想在 Action 中使用这个版本号并将其提供给 yarn publish 命令。

我的 ci 文件看起来像这样(我去掉了一些在这里不重要的部分):

name: Deploy npm package

on:
  release:
    types: [created]

jobs:
  publish-npm:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - uses: actions/setup-node@v1
        with:
          node-version: 12
          registry-url: https://registry.npmjs.org/
      - run: yarn install
      - run: yarn build
      - run: yarn publish --new-version ${...}
        env:a
          NODE_AUTH_TOKEN: ${{secrets.npm_token}}
Run Code Online (Sandbox Code Playgroud)

是否有包含发布版本号的环境变量?

pipeline version github github-actions

9
推荐指数
2
解决办法
4707
查看次数