小编ute*_*ngr的帖子

SKlearn中具有嵌套交叉验证的分类报告

是否可以通过一些解决方法从cross_val_score获取分类报告?我正在使用嵌套交叉验证,我可以在这里获得一个模型的各种分数,但是,我想看到外循环的分类报告.有什么建议?

# Choose cross-validation techniques for the inner and outer loops,
# independently of the dataset.
# E.g "LabelKFold", "LeaveOneOut", "LeaveOneLabelOut", etc.
inner_cv = KFold(n_splits=4, shuffle=True, random_state=i)
outer_cv = KFold(n_splits=4, shuffle=True, random_state=i)

# Non_nested parameter search and scoring
clf = GridSearchCV(estimator=svr, param_grid=p_grid, cv=inner_cv)

# Nested CV with parameter optimization
nested_score = cross_val_score(clf, X=X_iris, y=y_iris, cv=outer_cv)
Run Code Online (Sandbox Code Playgroud)

我想在评分值旁边看到分类报告. http://scikit-learn.org/stable/modules/generated/sklearn.metrics.classification_report.html

classification machine-learning scikit-learn cross-validation

8
推荐指数
2
解决办法
4452
查看次数

用 uvicorn 重新加载标志:我们可以排除某些代码吗?

在重新加载带有--reload标志的脚本时,是否可以以某种方式排除代码的某些部分?

uvicorn main:app --reload
Run Code Online (Sandbox Code Playgroud)

用例:我有一个需要大量时间加载的模型,所以我想知道是否有办法在重新加载时忽略该行代码。或者这是不可能的?

python fastapi uvicorn

7
推荐指数
1
解决办法
2142
查看次数

Python函数中return语句之前的空白行

在返回之前,我找不到任何使用空白行的PEP引用,因此想知道什么是惯例。

范例A1:

def add(a,b):
    """ docstrings"""
    a = a + 2
    b = b + 2
    c = a +b
    return c
Run Code Online (Sandbox Code Playgroud)

范例A2:

def add(a,b):
    """ docstrings"""
    a = a + 2
    b = b + 2
    c = a +b

    return c
Run Code Online (Sandbox Code Playgroud)

范例B1:

def add(a,b):
    """ docstrings"""
    if a > b:
       c = a + b
    else:
       c = a -b
    return c
Run Code Online (Sandbox Code Playgroud)

范例B2:

def add(a,b):
    """ docstrings"""
    if a > b:
       c = a + b
    else:
       c …
Run Code Online (Sandbox Code Playgroud)

python pep8 python-2.7 python-3.x

6
推荐指数
1
解决办法
2117
查看次数

Android Monitor Method跟踪和Android Device Monitor之间的区别

我使用Android设备监视器(方法分析)和Android监视器(方法分析)为cpu时间分析了相同的应用程序,但是,我得到了不同的结果.关于他们的基础工作如何不同的任何想法?

1)Android设备监视器 https://developer.android.com/studio/profile/traceview.html

2)Android监视器 https://developer.android.com/studio/profile/am-basics.html

至于我观察到的,在Android监视器(2)中没有选项可以选择基于跟踪或基于采样的分析.此外,没有选项可以更改方法跟踪的缓冲区大小,因此只能收集几秒钟的数据.

我很好奇一个人是否比另一个更准确或更准确.

android ddms android-traceview android-sdk-tools android-studio

5
推荐指数
0
解决办法
669
查看次数

Android 基于跟踪和基于采样的方法分析之间的差异及其对报告的 CPU 时间的影响

Android Traceview 中基于跟踪和基于采样的分析方法有什么区别?我认为基于跟踪的更准确,但是,它似乎会扭曲实际的 cpu 时间,尤其是在有其他函数调用时。

例如,我想评估一个函数 A,它有两个实现,例如 A-1 和 A-2。

  1. A-1 多了一个函数调用,比如 A-1-1。
  2. A-2也有更多的函数调用,比如A-1-1,但是A-1-1里面也有一个函数调用,比如A-1-1-1。

现在我认为基于跟踪的分析将报告 A-2 的更高值,因为它需要跟踪一个额外的函数 A-1-1-1,而这个额外的 cpu 使用情况将在 A-2 的 cpu 时间中报告。我对吗 ?

那么问题就变成了,基于跟踪的方法在报告父函数的实际 cpu 时间时是否考虑了跟踪子方法所花费的 cpu 开销时间?

另一方面,基于采样的方法的问题在于它可能无法捕获非常轻量级的函数。如果我的函数需要 0.2 毫秒的 cpu 时间,并且采样间隔是 1 毫秒怎么办?我用它做了一些实验,但它无法捕获轻量级函数调用。关于它们的差异的任何想法或参考文档?

最后一个问题是,对于相对比较,哪一个更准确?

android adb android-traceview android-sdk-tools android-studio

5
推荐指数
1
解决办法
1223
查看次数

如何更改 Android 应用程序中(线程的)堆栈大小?

我的服务中出现 stackoverflow 错误,该错误附加到我的主要活动中。有没有办法更改我的服务中的堆栈大小?我遇到了 Xss 参数,但是,显然它在虚拟机选项中不可用(帮助->编辑虚拟机选项)。

一些背景知识: 当我尝试读取代码中的序列化机器学习模型然后对其进行反序列化时,出现错误。当此模型构建在小型数据集上时,相同的函数可以正常工作,但当我使用更大的数据集构建相同的模型时,该函数就不起作用了。

关于我该怎么做有什么想法吗?

java android stack-size timertask

5
推荐指数
1
解决办法
2597
查看次数

Pycharm 中每个项目的虚拟环境

我想为 Pycharm 中的每个项目使用单独的虚拟环境。为此,我为每个项目创建了一个虚拟环境。当我想通过 PIP 命令添加或删除内容时,如果我需要为每个项目激活/停用这些虚拟环境,或者在 Pycharm 终端中为该特定打开项目自动完成,我找不到明确的文档我认为这可能是后来的情况,因为当我使用时,pip -V我会为每个项目获得不同的虚拟环境。

很高兴听到有人在 Pycharm 中使用过虚拟环境,看看我是否在正确的轨道上。

我按照这个方法来创建虚拟环境。

https://www.jetbrains.com/help/pycharm/creating-virtual-environment.html

virtualenv pycharm

5
推荐指数
1
解决办法
2829
查看次数

在docker和Jenkins中处理大型二进制文件(3 GB)

我在我的docker文件中使用了谷歌模型(二进制文件:大约3GB),然后使用Jenkins在生产服务器上构建和部署它.其余的代码是从bitbucket repo中提取的.

来自docker文件的示例行,我下载并解压缩该文件.它只发生一次,因为此命令将被缓存.

FROM python:2.7.13-onbuild

RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install --assume-yes apt-utils
RUN apt-get update && apt-get install -y curl
RUN apt-get update && apt-get install -y unzip
RUN curl -o - https://s3.amazonaws.com/dl4j-distribution/GoogleNews-vectors-negative300.bin.gz \
 | gunzip > /usr/src/app/GoogleNews-vectors-negative300.bin
Run Code Online (Sandbox Code Playgroud)

当我在本地机器上构建和运行docker时,一切正常.但是,当我确实通过Jenkins将补丁版本推送到生产服务器时,我的构建过程最终失败了.设置,构建和测试阶段工作正常.但是,构建后阶段失败.(构建过程将更改推送到repo,并且根据日志,docker文件中的所有命令也运行正常.)之后发生了一些事情,当我查看日志时出现以下错误.

18:49:27 654f45ecb7e3: Layer already exists
18:49:27 2c40c66f7667: Layer already exists
18:49:27 97108d083e01: Pushed
18:49:31 35a4b123c0a3: Pushed
18:50:10 1e730b4fb0a6: Pushed
18:53:46 error parsing HTTP 413 response body: invalid character '<'
looking for beginning …
Run Code Online (Sandbox Code Playgroud)

python bitbucket jenkins docker jenkins-pipeline

5
推荐指数
1
解决办法
492
查看次数

阅读大型mongodb数据

我有一个java应用程序需要从MongoDB 3.2读取大量数据并将其传输到Hadoop.

该批次应用程序每4小时运行6次,每天6次.

数据规格:

  • 文件:每次80000(每4小时一次)
  • 尺寸:3gb

目前我正在使用MongoTemplateMorphia来访问MongoDB.但是,在使用以下内容处理此数据时,我收到OOM异常:

List<MYClass> datalist = datasource.getCollection("mycollection").find().asList();
Run Code Online (Sandbox Code Playgroud)

读取此数据并填充到Hadoop的最佳方法是什么?

  • MongoTemplate::Stream() 并逐一写入Hadoop?
  • batchSize(someLimit) 并将整批编写到Hadoop?
  • Cursor.batch() 并逐个写入hdfs?

java hadoop mongodb morphia

5
推荐指数
1
解决办法
1687
查看次数

函数参数验证:什么是Pythonic方式?

假设我有一个简单的方法,需要一个字符串列表。

 def make_fruits_lower_case(list_of_fruits):
    """make fruits pretty bla bla bla"""
    return [fruit.lower() for fruit in list_of_fruits]
Run Code Online (Sandbox Code Playgroud)

用例 1:开发人员提供了一份水果列表,效果很好。预期行为。

make_fruits_lower_case(['APPLE', 'ORANGE']) -- > ['apple', 'orange']
Run Code Online (Sandbox Code Playgroud)

用例 2:假设其他开发人员有意或无意地向其提供了一个字符串。

make_fruits_lower_case('APPLE') --> ['a', 'p', 'p', 'l', 'e']
Run Code Online (Sandbox Code Playgroud)

处理这种情况的Pythonic方法是什么?

1:引入参数验证

def make_fruits_lower_case(list_of_fruits):
    if isinstance(list_of_fruits, list):
            return [fruit.lower() for fruit in list_of_fruits]raise 
        TypeError('list_of_fruits must be a of type list')
    
Run Code Online (Sandbox Code Playgroud)

2:期望用例 2 中的开发人员提供列表。

除了这种特定情况之外,如果我们知道处理这种情况的 Pythonic 建议是什么,我们希望开发人员确保他们提供正确的参数,或者我们应该添加一些基本验证?

python

5
推荐指数
1
解决办法
1997
查看次数