精华内容
下载资源
问答
  • Python中的TrueFalse详解

    千次阅读 2021-08-09 15:13:58
    Python中的TrueFalse总是让人困惑,一不小心就会用错,本文总结了三个易错点,分别是逻辑取反、if条件式和pandas.DataFrame.loc切片中的条件式。 1.TrueFalse的逻辑取反 在对TrueFalse进行逻辑取反时,不...
    Python中的 TrueFalse总是让人困惑,一不小心就会用错,本文总结了三个易错点,分别是逻辑取反、if条件式和pandas.DataFrame.loc切片中的条件式。

    1.True和False的逻辑取反

    在对True和False进行逻辑取反时,不使用~,而要使用not
    因为在Python中,not才是逻辑取反,而~是按位取反。True和False对应的数值是1和0,~True就相当于对1按位取反,结果是-2,not True的结果才是False。

    print(True)
    print(~True)
    print(not True)

    结果是:

    True
    -2
    False

    类似的,~False的结果是1,not False 的结果才是True

    print(False)
    print(~False)
    print(not False)

    结果是:

    False
    -1
    True

    注:Python中 ~ 按位取反是按照数的补码取反,即:

    1 => 补码00000001 => ~按位取反 => 补码11111110 => 2

    双重否定的结果是这样的

    print(not not True)
    print(~~True)
    print(not ~True)
    print(~(not True))

    结果为:

    True
    1
    False
    -1

    对False的双重否定

    print(not not False)
    print(~~False)
    print(not ~False)
    print(~(not False))

    结果为:

    False
    0
    False
    -2

    2.if条件语句中的True和False

    Python语言中,if后任何非0和非空(null)值为True,0或者null为False。这点和其他语言不相同,使用多种编程语言时很容易混淆。所以即使判断条件是一个负数,也是按照True处理,不会执行else分支。来看例子:

    if (-2):
        print('a')
    else:
        print('b')

    结果为:a

    如果使用了~对True或False取反,则得不到想要的结果:

    if (~True): # ~True == -2
        print('a')
    else:
        print('b')

    结果为:a

    只有用not来取反,才能达到逻辑取反的效果:

    if not True:
        print('a')
    else:
        print('b')

    结果为:b

    3.pandas.DataFrame.loc 中的否定

    pandas.DataFrame.loc 官方文档中是这么说的
    Access a group of rows and columns by label(s) or a boolean array.
    可以使用布尔列表作为输入,包括使用一个条件式来返回一个布尔列表,例:

    首先创建一个DataFrame

    import pandas as pd
    
    df = pd.DataFrame([[1, 2], [4, 5], [7, 8]],
        index=['cobra', 'viper', 'sidewinder'],
        columns=['max_speed', 'shield'])
    
    df

    使用条件式来筛选出shield大于6的数据

    df.loc[df['shield'] > 6]

    ​筛选出shield域小于等于6的数据,可以

    df.loc[df['shield'] <= 6]

    也可以用

    ~ df.loc[~(df['shield'] > 6)]

    另一个例子,筛选出index中不包含er两个字母的数据

    df.loc[~df.index.str.contains('er')]
    需要注意的是,在这里使用df.index.str.contains('er')作为条件筛选时,返回的是pd.Series。
    而在pd.Series中, ~操作符重载了,它对布尔类型数据和对数值类型数据的处理分别是逻辑取反和按位取反。
    df.index.str.contains('er')

    的结果是:

    array([False, True, True])

    布尔类型的pd.Series使用~取反,是逻辑取反

    ~pd.Series([False, True, False])

    结果为

    True
    False
    True
    dtype: bool

    而如果对数值型的pd.Series使用~取反,则是按位取反

    ~pd.Series([1,2,3])

    结果为

    -2
    -3
    -4
    dtype: int64

    如果你想开发小程序或者APP的话,可以通过第三方专业开发平台,来帮助你实现开发需求:厦门在乎科技-专注小程序开发、app开发、厦门网站开发

    展开全文
  • if 中的truefalse

    2017-03-17 17:43:33
  • 前言:TP:True positiveFP:False positiveTN:True negativeFN:False negative(从下文【解释1】中整理而来的图解)上述四个名词广泛应用于各种领域。召回率(Recall),精确率(Precision),平均正确率(AP)...

    前言:


    TP:True positive

    FP:False positive

    TN:True negative

    FN:False  negative


    (从下文【解释1】中整理而来的图解)


    上述四个名词广泛应用于各种领域。召回率(Recall),精确率(Precision),平均正确率(AP),交除并(IoU)是【object detection】领域的几个性能的衡量指标,其中 AP 取决于 Recall and Precision 组成的曲线,而 Recall and Precision 的计算与上述四个名词息息相关,公式分别如下所示:

    这里写图片描述

    这里写图片描述


    本文主要找了几个比较受益的相关资料整理于此,之后也会根据自己慢慢学习过程中的理解进一步完善这篇博文。



    解释1:摘抄至)http://blog.csdn.net/syoung9029/article/details/56276567



    本文主要摘抄参考资料中的实例:大雁与飞机

    假设现在有这样一个测试集,测试集中的图片只由大雁和飞机两种图片组成,如下图所示: 




    假设你的分类系统最终的目的是:能取出测试集中所有飞机的图片,而不是大雁的图片。现在做如下的定义: 


    True positives : 飞机的图片被正确的识别成了飞机。 
    True negatives: 大雁的图片没有被识别出来,系统正确地认为它们是大雁。 
    False positives: 大雁的图片被错误地识别成了飞机。 
    False negatives: 飞机的图片没有被识别出来,系统错误地认为它们是大雁。


    假设你的分类系统使用了上述假设识别出了四个结果,如下图所示: 



    那么在识别出的这四张照片中: 

    True positives : 有三个,画绿色框的飞机。 
    False positives: 有一个,画红色框的大雁。


    没被识别出来的六张图片中: 
    True negatives : 有四个,这四个大雁的图片,系统正确地没有把它们识别成飞机。 
    False negatives: 有两个,两个飞机没有被识别出来,系统错误地认为它们是大雁。


    Precision 与 Recall 的计算:

    Precision其实就是在识别出来的图片中,True positives所占的比率: 
    这里写图片描述
    其中的n代表的是(True positives + False positives),也就是系统一共识别出来多少照片 。 
    在这一例子中,True positives为3,False positives为1,所以Precision值是 3/(3+1)=0.75。 
    意味着在识别出的结果中,飞机的图片占75%。


    Recall 是被正确识别出来的飞机个数与测试集中所有飞机的个数的比值: 
    这里写图片描述
    Recall的分母是(True positives + False negatives),这两个值的和,可以理解为一共有多少张飞机的照片。 
    在这一例子中,True positives为3,False negatives为2,那么Recall值是 3/(3+2)=0.6。 
    意味着在所有的飞机图片中,60%的飞机被正确的识别成飞机。



    解释2:摘抄至)http://blog.51cto.com/simon/73395


    False positive和False negative这两个词广泛出现在各种领域,就计算机领域来说,通常出现在与安全有关的技术资料中,是什么意思呢?我们来分析一下。
     
    首先,两个词的共有部分是False,假的,拿流行话来说叫不靠谱。那后面的词是什么意思呢?
     
    Positive的中文意思是“确实的;积极的,肯定的;正的,阳性的”,我们暂时用阳性这个词好了。这个词在医学上用得多,通常不是好消息,阳性代表有病或者有病毒,如乙肝病毒的检测,HIV的检测。如果某个人的HIV检测结果为阳性,那这个人一定痛苦极了,甚至可能没有勇气继续活在这个世界上。正要准备自杀时,接到了医院的电话,说报告弄错了,这就是False Positive。 “医生啊,你是上帝派来玩我的吗?”
     
    Negative的中文意思与Positive刚好相反,是“否定的;消极的;负的;底片;负数”,False Negative为假阴性,如果一个爱滋病毒感染者的HIV检测报告呈阴性,就这是一个False Negative事件。
     
    再来说说FP和FN在计算机领域中的意思,我喜欢把它们译为“误报”和“漏报”。
    对于计算机防病毒软件来说,和医院里的病毒检测是一个意思,因此,一个防病毒软件把没有感染病毒的文件报告为感染了病毒,这就是“误报”。相反,如果没有检测出系统中的存在的病毒,这就是“漏报”。 世界上没有任何一款防病毒产品敢说自己没有“误报”和“漏报”的情况存在(如果你看到哪个厂商这样宣传自己的产品,替我鄙视它,当然了,如果该防病毒产品被设计为将一切文件视为无毒文件,则它没有误报的情况,或者将一切文件视为带毒文件,则它没有漏报,真有这样的东西吗?)。不断有新的病毒产生,防病毒软件相对于病毒来说,比较被动。如果单纯地使用己知病毒定义来检测病毒,就容易产生“漏报”。如果结合一些前摄性的,基于行为监测的手段来检测病毒,就容易产生“误报”。
     
    类似地,防火墙对入侵行为的检测,也存在以上两种情况。如果把正常的资源访问判断为入侵行为并加以阻止,就是“误报”。如果没有发现某个入侵行为,没有对其进行响应,就是“漏报”。 世界上没有任何一款防火墙产品敢说自己没有“误报”和“漏报”的情况存在(如果你看到哪个厂商这样宣传自己的产品,替我鄙视它,当然了,如果该防火墙产品被设计为将一切访问行为视为正常访问,则它没有误报的情况,或者将一切访问行为视为入侵行为,则它没有漏报,真有这样的东西吗?)。安全策略定义得过于严格,就容易产生“误报”,过于宽松,就容易产生“漏报”。
     
    那么,安全产品的设计者,希望自己的产品误报率低一些还是漏报率低一些呢?很多厂商会希望自己产品的误报率低一些,因为误报行为相对漏报而言更加明显,容易被用户感知到,且一旦出现,可能会造成较大的影响,赛门铁克的误杀事件就是一个典型的例子。所以,在选择安全产品时,不要简单地认为误报率低的产品就是可靠的产品,它的低误报率往往是用高漏报率换来的。

    ROC Curve and AUC:https://blog.csdn.net/ice110956/article/details/20288239

    ROC空间将伪阳性率(FPR)定义为 X 轴,真阳性率(TPR)定义为 Y 轴。ROC曲线上的一个点对应一个阈值,遍历所有的阈值,得到ROC曲线。

    标量值AUC:ROC曲线所覆盖的区域面积。AUC越大,分类器分类效果越好。

    (详情请参考标题所附链接)


    展开全文
  • 时间序列分析之ADF检验

    万次阅读 多人点赞 2019-02-06 18:59:09
    store:True False,默认。 regresults:True 完整的回归结果将返回。False,默认。 返回值意义为: adf:Test statistic,T检验,假设检验值。 pvalue:假设检验结果。 usedlag:使用的滞后阶数。 ...

    ADF检验

    在使用很多时间序列模型的时候,如 ARMA、ARIMA,都会要求时间序列是平稳的,所以一般在研究一段时间序列的时候,第一步都需要进行平稳性检验,除了用肉眼检测的方法,另外比较常用的严格的统计检验方法就是ADF检验,也叫做单位根检验

    ADF检验全称是 Augmented Dickey-Fuller test,顾名思义,ADF是 Dickey-Fuller检验的增广形式。DF检验只能应用于一阶情况,当序列存在高阶的滞后相关时,可以使用ADF检验,所以说ADF是对DF检验的扩展。

    单位根(unit root)

    在做ADF检验,也就是单位根检验时,需要先明白一个概念,也就是要检验的对象——单位根。

    当一个自回归过程中:y_{t} = by_{t-1} + a + \epsilon _{t} ,如果滞后项系数b为1,就称为单位根。当单位根存在时,自变量和因变量之间的关系具有欺骗性,因为残差序列的任何误差都不会随着样本量(即时期数)增大而衰减,也就是说模型中的残差的影响是永久的。这种回归又称作伪回归。如果单位根存在,这个过程就是一个随机漫步(random walk)。

    ADF检验的原理

    ADF检验就是判断序列是否存在单位根:如果序列平稳,就不存在单位根;否则,就会存在单位根。

    所以,ADF检验的 H0 假设就是存在单位根,如果得到的显著性检验统计量小于三个置信度(10%,5%,1%),则对应有(90%,95,99%)的把握来拒绝原假设。

    ADF检验的python实现

    ADF检验可以通过python中的 statsmodels 模块,这个模块提供了很多统计模型。

    使用方法如下:

    导入adfuller函数

    from statsmodels.tsa.stattools import adfuller

    adfuller函数的参数意义分别是:

    1. x:一维的数据序列。
    2. maxlag:最大滞后数目。
    3. regression:回归中的包含项(c:只有常数项,默认;ct:常数项和趋势项;ctt:常数项,线性二次项;nc:没有常数项和趋势项)
    4. autolag:自动选择滞后数目(AIC:赤池信息准则,默认;BIC:贝叶斯信息准则;t-stat:基于maxlag,从maxlag开始并删除一个滞后直到最后一个滞后长度基于 t-statistic 显著性小于5%为止;None:使用maxlag指定的滞后)
    5. store:True  False,默认。
    6. regresults:True 完整的回归结果将返回。False,默认。

    返回值意义为:

    1. adf:Test statistic,T检验,假设检验值。
    2. pvalue:假设检验结果。
    3. usedlag:使用的滞后阶数。
    4. nobs:用于ADF回归和计算临界值用到的观测值数目。
    5. icbest:如果autolag不是None的话,返回最大的信息准则值。
    6. resstore:将结果合并为一个dummy。
    def adfuller(x, maxlag=None, regression="c", autolag='AIC',
                 store=False, regresults=False):
        """
        Augmented Dickey-Fuller unit root test
    
        The Augmented Dickey-Fuller test can be used to test for a unit root in a
        univariate process in the presence of serial correlation.
    
        Parameters
        ----------
        x : array_like, 1d
            data series
        maxlag : int
            Maximum lag which is included in test, default 12*(nobs/100)^{1/4}
        regression : {'c','ct','ctt','nc'}
            Constant and trend order to include in regression
    
            * 'c' : constant only (default)
            * 'ct' : constant and trend
            * 'ctt' : constant, and linear and quadratic trend
            * 'nc' : no constant, no trend
        autolag : {'AIC', 'BIC', 't-stat', None}
            * if None, then maxlag lags are used
            * if 'AIC' (default) or 'BIC', then the number of lags is chosen
              to minimize the corresponding information criterion
            * 't-stat' based choice of maxlag.  Starts with maxlag and drops a
              lag until the t-statistic on the last lag length is significant
              using a 5%-sized test
        store : bool
            If True, then a result instance is returned additionally to
            the adf statistic. Default is False
        regresults : bool, optional
            If True, the full regression results are returned. Default is False
    
        Returns
        -------
        adf : float
            Test statistic
        pvalue : float
            MacKinnon's approximate p-value based on MacKinnon (1994, 2010)
        usedlag : int
            Number of lags used
        nobs : int
            Number of observations used for the ADF regression and calculation of
            the critical values
        critical values : dict
            Critical values for the test statistic at the 1 %, 5 %, and 10 %
            levels. Based on MacKinnon (2010)
        icbest : float
            The maximized information criterion if autolag is not None.
        resstore : ResultStore, optional
            A dummy class with results attached as attributes
        """

     现在我们用一个RB1309的收盘数据来进行ADF检验,看一下结果:

    result = adfuller(rb_price)
    print(result)
    
    
    (-0.45153867687808574, 0.9011315454402649, 1, 198, {'5%': -2.876250632135043, '1%': -3.4638151713286316, '10%': -2.574611347821651}, 1172.4579344852016)
    

    看到 t-statistic 的值 -0.451 要大于10%,所以无法拒绝原假设,另外,p-value的值也很大。

    将数据进行一阶差分滞后,看一下结果如何:

    rb_price = np.diff(rb_price)
    result = adfuller(rb_price)
    print(result)
    
    (-15.436034211511204, 2.90628134201655e-28, 0, 198, {'5%': -2.876250632135043, '1%': -3.4638151713286316, '10%': -2.574611347821651}, 1165.1556545612445)

     看到 t-statistic 的值 -15 要小于5%,所以拒绝原假设,另外,p-value的值也很小。

     

    展开全文
  • 先来解释下面四个的意思True Positive (真正, TP)被模型预测为正的正样本; True Negative(真负 , TN)被模型预测为负的负样本 ; False Positive (假正, FP)被模型预测为正的负样本; False Negative...
  • 测试开发需要学习的知识结构

    万次阅读 多人点赞 2018-04-12 10:40:58
    努力成为一个优秀的测试开发从业者,加油!... - 假装在测试的回答 - 知乎白盒与黑盒测试什么区分1、黑盒测试 黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检...
  • Operations and built-in functions that have a Boolean result always return 0 or False for false and 1 or True for true, unless otherwise stated. (Important exception: the Boolean operations or and and...
  • R语言笔记一

    万次阅读 多人点赞 2016-06-19 21:44:10
    perl=TRUE/FALSE的设置和perl语言版本有关,如果正则表达式很长,正确设置表达式并且使用perl=TRUE可以提高运算速度。 useBytes设置是否逐个字节进行匹配,默认为FALSE,即按字符而不是字节进行匹配。 strsplit得到...
  • Elasticsearch操作命令

    万次阅读 2016-07-17 20:05:42
    blocks.read_only: 设为true,则当前索引只允许读,不允许写或更新 blocks.read: 设为true,则禁止读操作 blokcs.write: 设为true,则禁止写操作 blocks.metadata: 设为true,则禁止对metadata操作 ----...
  • 从 addEventListener(,,true/false)

    千次阅读 2015-05-07 11:32:04
    第三个参数,useCapture,是可选的,默认为false,且只有在部分浏览器中支持,true表明该事件监听器绑定在捕获阶段(和目标阶段),false则表明绑定在冒泡阶段(和目标阶段)。 Event.stopPropagation(): w3...
  • 1、np.mat() np.mat()函数用于将输入解释为矩阵。 np.mat(data, dtype=None) 不同于np.matrix,如果输入本身就已经是...相当于np.matrix(data, copy=False)。 参数: data:array_like。输入数据。 dtype:...
  • 代码如下 wxml: < view class = '{{san?"v1":"v2"}}' ...true ...false , }) } else { that.data.i = 1 , that.setData({ san: true , }) } console.log(that.data.i, "i2222" ) }, })
  • electron从旧版升级到新版后提示"The default of contextIsolation is deprecated and will be changing from false to true" 问题解读 这句话的意思是:contextIsolation的默认值已弃用,将从false更改为true ...
  • Java函数式编程详解

    万次阅读 多人点赞 2019-05-05 21:46:49
    上面打印出false,上面的意思是如果比较的结果是true,那么返回false,如果为false,就返回true。 or的方法的用法: JDK源码定义: default Predicate<T> or(Predicate<? super T> other) {  Objects....
  • (&,|)和(and,or)是用来比较两组变量的,格式基本上是:a & ba | ba and ba or b如果a,b是数值变量, 则&, |表示位运算, and,or则依据是否非0来决定输出,&, |:# 1&2,2在二进制里面是10,1在二进制中是01...
  • 关于pandas中groupby的参数as_index选择TrueFalse的区别
  • 图书管理系统

    千次阅读 多人点赞 2017-03-09 20:00:47
    你可能会“重新”是什么意思。唉,说来惭愧,大学时我先学了点Java的皮毛,就投奔搞Android去了,所以对Java的基础比较薄弱。而现在学完了,所以就想试着弄个小系统来练练手,所以参考了上一篇中国象棋的代码,就做...
  • python中的优先级(not、and、or),终终终于明了

    千次阅读 多人点赞 2019-08-09 21:54:11
    什么 0 and 1 返回的是0?为什么 3 and 4却返回的是4? 天呐?这到底是为什么???不知道初学的小白是否也有着跟我一样的困惑? 经过不停的翻阅资料,看大牛们的博客,我顿时明白了 首先要知道优先级顺序:not...
  • 【Python】np.linspace用法介绍

    万次阅读 多人点赞 2019-02-21 09:59:39
    numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0) Return evenly spaced numbers over a specified interval. (在start和stop之间返回均匀间隔的数据) Returns num ...
  • VB中逻辑关系小结

    千次阅读 热门讨论 2017-12-10 14:31:04
    AND OR Xor Eqv Imp前言  敲机房的路上遇到了一个问题,就是在组合查询中的逻辑关系是按照一个什么样的顺序来运行的?难道是按照自己敲得那个顺序吗?比如说三行一起查的时候,难道是按照第一行,第二行,第三行...
  • 本文属于本人原创,转载请注明... 【前面的话】 在网上经常看到有人对request.getSession(false)提出疑问,我第一次也很迷惑,看了一下J2EE1.3 API,看一下官网是怎么解释的。 【官方解释】 getSession public
  • matlab中false的用法

    千次阅读 2018-12-07 21:45:55
    首先false是逻辑零的简写形式 FALSE(N) is an N-by-N matrix of logical zeros. 是NxN逻辑零的矩阵 FALSE(M,N) or FALSE([M,N]) is an M-by-N matrix of logical zeros.是NxM逻辑零的矩阵 FALSE(..., 'like', Y) ...
  • 这几天不知何故,太阳从西边出来了。前几天在网上看见一家公司招人,我就在网上投了一份简历,然后他们叫我周四去面试。面试后面试官问我能不能做一个笔试,看一下我的水平,我说可以。说实话,这张试卷比以前做的...
  • 关于request.getSession(true/false/null)的区别 一、需求原因 现实中我们经常会遇到以下3中用法: HttpSession session = request.getSession(); HttpSession session = request.getSession(true); ...
  • 1.转自:http://wenda.so.com/q/1366414933061950?src=150概括:request.getSession...request.getSession(false):若存在会话则返回该会话,否则返回NULL======================================================...
  • ,可能是这样的: select count(1) from tab where user=userinput and pass='' or 1=1; 看这条语句,可以知道,在解析之后,用户没有输入密码,加了一个恒等的条件 1=1,这样,这段SQL执行的时候,返回的 count值...
  • 前言:最近接到公司安全中心同学的邮件告知开发中的一款App存在数据备份及隐私泄漏的风险,具体为AndroidMainfest.xml文件中allowBackup=true,之前一直没有专门了解过这个属性的作用及有什么隐藏的风险,于是上网...
  • False positive和False negative这两个词广泛出现在各种领域,就计算机领域来说,通常出现在与安全有关的技术资料中,是什么意思呢?我们来分析一下。 首先,两个词的共有部分是False,假的,拿流行话来说叫不靠谱...
  • 编写函数判定列表中是否包含重复元素,如果包含返回True,否则返回False。 然后使用该函数对n行字符串进行处理。最后统计包含重复元素的行数与不包含重复元素的行数。 输入格式: 输入n,代表接下来要输入n行字符...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 141,894
精华内容 56,757
关键字:

trueandfalse什么意思