test

MachineLearning入门-11(算法评估)

南楼画角 提交于 2020-03-03 10:40:40
评估就是估计算法在预测新数据时候能达到什么程度,但这不是对算法准确度的保证。 当评估完算法模型之后,可以用整个数据集(训练数据集和评估数据集的合集)重新训练算法,生成最终的算法模型。 接下来将学习4种不同的分离数据集的方法,用来分离训练数据集和评估数据集,并用其评估算法模型: 分离训练数据集和评估数据集 K折交叉验证分离 弃一交叉验证分离 重复随机评估。训练数据集分离 分离训练数据集和评估数据集 最简单的方法就是将评估数据集和训练数据集完全分开,采用评估数据集来评估算法模型。通常将67%的数据集作为训练集,将33%的数据作为评估集。这是一种非常简洁。快速的数据分离技术,通常在具有大量数据。数据分布比较平衡,或者对问题的展示比较平均的情况下非常有效。 下面给出一个简单的按照67%,34%的比例分离数据,来评估逻辑回归模型的例子。 1 #数据集分离 2 from pandas import read_csv 3 from sklearn.model_selection import train_test_split 4 from sklearn.linear_model import LogisticRegression 5 6 filename='/home/aistudio/work/pima_data1.csv' 7 names=['preg','plas','pres',

Linux Shell的18条常用命令整理

自作多情 提交于 2020-03-03 10:04:22
1、 ls: 类似于dos下的dir命令 ls最常用的参数有三个:-a -l -F。 ls –a Linux上的文件以.开头的文件被系统视为隐藏文件,仅用ls命令是看不到他们的,而用ls -a除了显示一般文件名外,连隐藏文件也会显示出来。 ls –l 该参数显示更详细的文件信息。 ls –F 使用这个参数表示在文件的后面多添加表示文件类型的符号,例如*表示可执行,/表示目录,@表示连结文件,这都是因为使用了-F这个参数。但是现在基本上所有的Linux发行版本的ls都已经内建了-F参数,也就是说,不用输入这个参数,我们也能看到各种分辨符号。 2、cd: 用于切换用户当前工作目录 cd aaa 进入aaa目录 cd 命令后不指定目录,会切换到当前用户的home 目录 cd ~ 作用同cd后不指定目录,切换到当前用户的home 目录 cd - 命令后跟一个减号,则会退回到切换前的目录 cd .. 返回到当前目录下的上一级目录 3、pwd: 用于显示用户当前工作目录 4、mkdir 和 rmdir midir:创建目录 rmdir:删除目录 两个命令都支持-p参数,对于mkdir命令若指定路径的父目录不存在则一并创建,对于rmdir命令则删除指定路径的所有层次目录,如果文件夹里有内容,则不能用rmdir命令 如下: mkdir -p 1/2/3 rmdir -p 1/2/3 5、cp:

经典问题

拟墨画扇 提交于 2020-03-03 06:39:03
第一个问题 当程序存在多个对象的时候,如何确定这些对象的析构顺序? 单个对象创建时构造函数的调用顺序 调用父类的构造过程 调用成员变量的构造函数( 调用顺序与声明顺序相同 ) 调用类自身的构造函数 析构函数与对应构造函数的调用顺序相反 多个对象析构时 析构顺序与构造顺序相反,比如构造对象A,B,C,析构就是C,B,A 例子: # include <stdio.h> class Member { private : const char * ms ; public : Member ( const char * s ) { ms = s ; printf ( "Member %s create\n" , ms ) ; } ~ Member ( ) { printf ( "Member %s destroy\n" , ms ) ; } } ; class Test { private : Member mA ; Member mB ; public : Test ( ) : mB ( "mB" ) , mA ( "mA" ) { printf ( "Test()\n" ) ; } ~ Test ( ) { printf ( "~Test()\n" ) ; } } ; Member gA ( "gA" ) ; int main ( void ) { Test t ; return 0 ;

python的访问性问题

白昼怎懂夜的黑 提交于 2020-03-03 04:07:39
python和C++、Java等语言不同,其对象属性和方法的访问权限只有两种:private(私有)、public(公有)。 1. 公有和私有 一般情况下,python类中的属性为公有,若想使其变为私有,则在给属性和方法命名时,用两个下划线开头: class Test : """docstring for Test""" def __init__ ( self , content ) : self . __content = content def __say ( self ) : print ( 'say something:' ) print ( self . __content ) def main ( ) : test = Test ( 'hello' ) # AttributeError: 'Test' object has no attribute '__content' print ( test . __content ) # AttributeError: 'Test' object has no attribute '__say' test . __say ( ) if __name__ == '__main__' : main ( ) 注: 实际开发中,并不建议将属性或方法设置为私有(会导致子类无法访问该属性或方法);

linux学习笔记8--命令touch

情到浓时终转凉″ 提交于 2020-03-03 03:48:25
linux的touch命令不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件。 touch命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件。 1.命令格式: touch [选项]... 文件... 2.命令参数: -a 或--time=atime或--time=access或--time=use  只更改存取时间。 -c 或--no-create  不建立任何文档。 -d  <时间日期>使用指定的日期时间,而非现在的时间。 -f  此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。 -m 或--time=mtime或--time=modify  只更改变动时间。 -r  把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。 -t:<日期时间> 使用指定的日期时间,而非现在的时间; --help:在线帮助; --version:显示版本信息。 3.命令功能: touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间。 4.使用范例: 实例一:创建不存在的文件 命令: touch log2012.log log2013.log 输出: [root@localhost test]# touch log2012.log

python:简单的装饰器 ^-^

隐身守侯 提交于 2020-03-03 02:48:15
今天我们讲一讲python中的装饰器。可能初次接触装饰器的同学会觉得它很难,其实也就那么一回事儿,今天就让我们会会它! 装饰器 首先它的 本质是函数 ,它的 功能是为其他函数添加附加功能 。 ps:它有两个原则: 1.不能修改被修饰的函数的代码。 2.不能更改被修饰函数的调用函数。 我所认为的装饰器其实就是: 装饰器 = 高阶函数+函数嵌套+闭包 我们先说什么是高阶函数? 当函数(符合其中任意一个): 函数接收的参数是一个函数名。 函数的返回值是一个函数名。 就是把高阶函数。 那么我们考虑当只有高阶函数时,我们能否写出一个装饰器? 现在我们只用高阶函数实现:运行foo函数时,添加功能:计算其运行时间并打印。试试看吧! # 装饰器 = 高阶函数 + 函数嵌套 + 闭包 # 先玩玩高阶函数 import time def foo ( ) : time . sleep ( 3 ) print ( '来自foo' ) def timer ( func ) : start_time = time . time ( ) func ( ) stop_time = time . time ( ) print ( '函数的运行时间是%s' % ( stop_time - start_time ) ) timer ( foo ) # 改变了函数的调用方式 import time def foo ( )

迭代器,生成器,装饰器

断了今生、忘了曾经 提交于 2020-03-03 02:02:25
1.1迭代器 1.2生成器 1.3装饰器 迭代器 1. 迭代器定义 迭代是Python最强大的功能之一,是访问集合元素的一种方式 迭代器是一个可以记住遍历的位置的对象。 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。 迭代器有两个基本的方法:iter() 和 next()。 字符串,列表或元组对象都可用于创建迭代器: 2.可迭代对象 : 在Python世界里,一切皆对象。对象根据定义的维度,又可以分为各种不同的类型,比如:文件对象,字符串对象,列表对象。。。等等。 一句话:“实现了__iter__方法的对象就叫做可迭代对象”,__iter__方法的作用就是返回一个迭代器对象。 直观理解就是能用for循环进行迭代的对象就是可迭代对象。比如:字符串,列表,元祖,字典,集合等等,都是可迭代对象。 3.next()与iter(): next()返回迭代器的下一个项目 next语法: next(iterator[,dafault]) iterator – 可迭代对象 default – 可选,用于设置在没有下一个元素时返回该默认值,如果不设置,又没有下一个元素则会触发 StopIteration 异常。 4.iter()函数用来生成迭代器 # 迭代器实现斐波那契数列 class Fib ( ) : def __init__ ( self , n )

tf.keras

久未见 提交于 2020-03-03 02:01:30
1、tf.keras.layers搭建神经网络层 Input(…): 用于实例化一个输入 Tensor,作为神经网络的输入。 average_pooling1d(…): 一维平均池化层 average_pooling2d(…): 二维平均池化层 average_pooling3d(…): 三维平均池化层 batch_normalization(…): 批量标准化层 conv1d(…): 一维卷积层 conv2d(…): 二维卷积层 conv2d_transpose(…): 二维反卷积层 conv3d(…): 三维卷积层 conv3d_transpose(…): 三维反卷积层 dense(…): 全连接层 dropout(…): Dropout层 flatten(…): Flatten层,即把一个 Tensor 展平 max_pooling1d(…): 一维最大池化层 max_pooling2d(…): 二维最大池化层 max_pooling3d(…): 三维最大池化层 separable_conv2d(…): 二维深度可分离卷积层 2、tf.keras.Model模型训练与预测 1)model.compile 配置模型的训练参数,主要是优化器与损失函数 2)model.fit 训练模型 3)model.evaluate 模型预测 例子 import tensorflow as tf

【IDEA】Maven踩坑:pom文件中的默认profiles不生效+IDEA中Maven的profiles使用说明

﹥>﹥吖頭↗ 提交于 2020-03-03 00:44:10
一、问题即分析 项目pom文件中的profiles有3个配置: dev 、 test 和 production 默认配置的是 dev ,如下图: 但在本地起服务时,读取的配置始终是 test 里的。 二、原因 2.1 maven中的profile说明 开始并不知道原因,因为特别违反常理,pom文件里的配置不生效你敢信...后来发现其实是IDEA的锅。 对于IDEA中Maven的使用需要注意以下内容: 图片内容摘自: https://youmeek.gitbooks.io/intellij-idea-tutorial/content/maven-skill-introduce.html 注意:上面说的profile我们都理解,有多个也理解, 但同时激活多个profile是什么鬼? 如果我同时激活两个,而这两个里面对于同一个属性的值配置的并不同,那么Maven或者说IDEA要如何选择?选择哪个? 一看我们的项目,果然是这个原因:同时选中了 dev 、 test 的配置,但实际生效的是 test ,即使我们pom里面配置的默认是 dev ...而且,不管我们怎么改 dev ,配置始终不生效,因为实际使用的配置是 test 2.2 为什么IDEA会同时选中 dev 和 test ? 因为我们这个项目是一个多模块项目,里面有3个Web,其中一个的默认配置是test,另外两个的默认配置都是

Web_javascript-ECMAScript

て烟熏妆下的殇ゞ 提交于 2020-03-03 00:30:52
javascript介绍 Web前端有三层: HTML:从语义的角度,描述页面 结构 CSS:从审美的角度,描述 样式 (美化页面) JavaScript:从交互的角度,描述 行为 (提升用户体验) 其中JavaScript基础又分为三个部分: ECMAScript:JavaScript的语法标准。包括变量、表达式、运算符、函数、if语句、for语句等。 DOM:文档对象模型,操作网页上的元素的API。比如让盒子移动、变色、轮播图等。 BOM:浏览器对象模型,操作浏览器部分功能的API。比如让浏览器自动滚动。 JavaScript历史背景介绍 布兰登 • 艾奇(Brendan Eich,1961年~),1995年在网景公司,发明的JavaScript。 一开始JavaScript叫做LiveScript,但是由于当时Java这个语言特别火,所以为了傍大牌,就改名为JavaScript。如同“北大”和“北大青鸟”的关系。“北大青鸟”就是傍“北大”大牌。 同时期还有其他的网页语言,比如VBScript、JScript等等,但是后来都被JavaScript打败了,所以现在的浏览器中,只运行一种脚本语言就是JavaScript ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会,英文名称是European Computer Manufacturers