- 博客(27)
- 收藏
- 关注
原创 C++ auto类型说明符、typedef类型别名、decltype类型指示符
(1)在声明变量时不明确其类型,引用auto类型说明符,可以让编译器自动分析表达式的类型。auto也可以在一条语句中,声明多个变量。auto item = v1 +v2;auto i = 0, *p = &i;要在一条语句定义多个变量,切记&和*只属于声明符,而非数据类型的一部分,因此初始值应是同一种类型。(2)typedef是一种定义类型别名的方式typ...
2019-06-01 09:47:49 366
原创 C++ 局部静态变量
局部静态变量:当需要令局部变量的生命周期贯穿函数调用之后的时间,可将局部变量定义为static类型以下函数统计自己被调用了多少次size_t count_calls(){ static size_t ctr = 0; //调用结束后,这个值仍然有效 return ++ctr; //每次调用将ctr加1返回新值。并在函数退出时得以保存}int main(){ ...
2019-06-01 08:41:13 2072
原创 C++ const限定符
1.const限定符将定义为常量,一旦创建,其值不再改变。const int bufSize = 512; //必须初始化 const int i = get_size(); //正确,运行时初始化 const int j = 42; //正确,编译时初始化const int ci = j; //正确,j的值拷贝给ciint n = ci; ...
2019-06-01 08:40:42 314
原创 C++ 嵌套作用域
//嵌套作用域:作用域运算符是::int reused=42;int main(){ int uniq=0, reused=0; cout << ::reused << uniq << endl; //全局作用域没有名字,::左侧为空时,则向全局作用域请求右侧对应的变量。}...
2019-06-01 08:35:04 578
原创 C++声明与定义,头文件
extern int i; //声明i而非定义iint j; //声明并定义j;extern double pi = 3.14; //定义(包含显式初始化的声明即为定义) //在函数体内,如果试图初始化一个由extern标记的变量,将引发错误//变量只能被定义一次,可被声明多次 头文件//头文件 类的定义,外部变量的声明,函数的声明,只能写声明不能写定义(类的定义和const...
2019-06-01 07:51:40 2808
原创 C++ 迭代器
int main(){ vector<int> v(10,8); vector<int>::iterator iter = v.begin(); //begin()操作返回一个迭代器指向第一个数据元素 //迭代器实际上是一个指针 *iter = 9; iter++; *iter = 10; for(vector<int>::si...
2019-06-01 07:50:29 93
翻译 C++ vector介绍
1.//检验其中一个vector对象是否是另一个的前缀,返回布尔型 int main(){ int a[5] = {0,1,2,3,4}; int b[6] = {0,1,2,3,4,5}; vector<int> My_vec1(a, a+5); vector<int> My_vec2(b, b+6);//因为用的VS2010所以不支持列表初始化...
2019-06-01 07:49:40 138
原创 C++ 列表初始化,字符串初始化
//列表初始化 int a = 0;int a = {0}; //全面应用 int a{0};int a(0);//默认初始化:定义变量时,没有指定初值,则变量被默认初始化。//定义函数体外的变量被初始化为0,函数体内部的内置类型变量不被初始化。 //字符串初始化 string s1;string s2 = s1;string s2(s1);string s3 = "val...
2019-05-31 23:22:06 2800
原创 C++中while和for循环的一些小例子
//for包括循环头(初始化,循环条件,表达式)和循环体。只要满足循环条件就执行循环体,之后再执行表达式。//for循环特别适用于循环次数已知的情况 。while相反。1.使用while循环求解50-100的和#include <iostream>using namespace std;int main(){ int sum=0,v=50; while (v<...
2019-05-31 23:12:25 5055
翻译 C++ 面向对象和类介绍
/*//面向对象和类:抽象(对同类共同属性和行为概括,形成类) 封装,将抽象出来的数据、代码封装在一起,形成类 。增强安全性,实现;类声明中的{}类是同一类对象的抽象,对象是类的实例 继承,在已有的类基础上(即继承已有的),进行扩展形成新的类多态 ,同一名称,不同的功能实现方式。为减少程序中标识符的个数//抽象实例:钟表(1)数据抽象:int ho...
2019-05-31 22:27:09 279
原创 C++ 引用介绍
(1)引用,为对象起了另一个名字,通过&d(d是声明的变量名)的形式来定义引用。int val = 1024;int &refval = val; //正确int &refval; //错误,引用必须初始化(2)引用时,初始值不是被拷贝到新建对象而是和初始值绑定在一起。一旦初始化完成,引用与其初始值对象一直绑定在一起。定义一个引用后,对该引用进行的所有操作...
2019-05-31 22:19:52 191
原创 sklearn估计器构建线性回归模型(Linear Regression)及其模型评价
以Boston数据集为例,使用sklearn估计器构建线性回归模型,代码如下:##加载所需函数from sklearn.linear_model import LinearRegressionfrom sklearn.datasets import load_bostonfrom sklearn.model_selection import train_test_split## 加...
2019-04-08 21:20:00 2782
翻译 sklearn构建svm分类模型及其模型评价
sklearn中常用的分类算法(模块名--函数名--算法名):(1) linear_model LogisticRegression 逻辑斯蒂回归(2)svm SVC 支持向量机(3)neighbors KNeighborsClassifie...
2019-04-08 20:55:15 12141
原创 sklearn构建K-means聚类模型以及使用FMI,轮廓系数法,Calinski-Harabasz评价模型
聚类分析是在没给定划分类别的情况下,根据数据相似度进行样本划分的一种方法,属于非监督学习。(1)使用sklearn估计器构建聚类模型聚类算法实现需要估计器,sklearn估计器有fit和predict两个方法:fit: 主要用于训练算法,该方法可接收用于有监督学习的训练集及其标签两个参数,也可接收无监督学习的数据。predict:用于有监督学习的测试集标签,也可用于划分传入数据的类...
2019-04-08 14:09:31 13148
翻译 scikit-learn构建模型—转换器处理数据
sklearn提供了model_selection模型选择模块、preprocessing数据预处理模块与decompisition特征分解模块;通过这三个模块,可以实现数据预处理与模型构建前的数据标准化、二值化、数据集分割、交叉验证和PCA降维等。 (1)加载datasets中的数据集 datasets加载数据集后,可以视为一个字典,几乎所有的数...
2019-04-08 10:57:53 572
翻译 Pandas进行异常值分析—describe()查看数据基本情况、箱线图查看异常值分布
1.使用describe()函数查看数据基本情况 import pandas as pdcatering_sale = 'catering_sale.xls' #餐饮数据data = pd.read_excel(catering_sale, index_col = u'日期') #读取数据,指定“日期”列为索引列print(...
2019-04-07 20:54:54 10531
翻译 SciPy的初步使用—回归分析
SciPy致力于解决科学计算,它的不同子模块对应于不同应用,如插值、积分、优化、图像处理、特殊函数等。利用SciPy进行一元线性回归分析,首先读取数据并可视化,初步观察其相关性,代码如下:import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport datetime as dt#修改matp...
2019-04-07 17:08:21 2314
原创 Pandas—DataFrame基础用法(1)
Pandas的数据结构主要分为三种:Series(一维数组),DataFrame(二维的表格型)、Panel(三维数组)。 DataFrame又是其中最常用的pandas对象,类似excel表格,DataFrame基本属性:values,index,columns,dtypes,分别获取元素、索引、列名、类型。另外,size,ndim,shape等属性可以获取Dat...
2019-04-07 15:19:18 525
翻译 Pandas读取不同数据源的数据—文本文件、excel文件
pandas内置了10多种数据源读取函数和对应的数据写入函数,常见的有三种:数据库数据、文本文件(包括一般文本文件和CSV文件)、excel文件。1.pandas读写excel文件 (1) pandas提供了read_excel函数来读取xls,xlsx两种excel文件,语法与参数如下: pandas.read_excel(io,sheetname=0,header=...
2019-04-07 10:25:54 1630
翻译 Matplotlib—散点图、折线图、饼状图、直方图、箱线图
1.散点图 绘制函数:scatter ,格式如下。 matplotlib.pyplot.scatter(x,y,s=None,marker=None,cmap=None,norm=None, vmin=None,alpha=None,linewidths=None,verts=Non...
2019-04-06 22:33:38 1658
翻译 Matplotlib—设置pyplot的动态rc参数
pyplot使用rc配置文件来自定义图形的各种默认属性,被称为rc参数。rc参数k在可以动态修改,在修改后,绘图使用默认的参数就会发生改变。常用线条rc参数有: lines.linewidth 线条宽度,0-10,默认1.5 lines.linestyle 线条样式,- -- -. : 四种,默认- lines.mar...
2019-04-06 20:36:07 4589
原创 Matplotlib绘图基础——创建画布、子图、图例等
Matplotlib中应用最广的是matplotlib.pyplot模块,其绘制遵循以下流程:创建画布—(是否创建子图—选定子图)—添加标题、添加xy轴名称、修改xy轴刻度与范围—绘制图形—添加图例—完成绘制—保存图形—显示图形1.创建画布 首先构建一张空白画布,并可选择是否划分成多个画布。当只绘制一幅时,可省略该步骤。创建画布函数为:plt.figure()。...
2019-04-06 20:26:25 18197 2
原创 Numpy中使用函数进行简单的统计分析——排序、去重、重复;统计函数
1.排序 Numpy排序方式主要概括为直接排序(对数值直接进行排序)和间接排序(根据一个或多个键对数据集排序)两种; 直接排序常用sort函数,间接排序用argsort函数和lexsort函数。sort函数五返回值,如果目标函数是个视图,则原始数据会被修改,sort可以指定轴进行排序。import numpy as npnp.random.seed(42...
2019-04-06 14:59:14 2744
原创 Numpy进行文件的保存与读写
Numpy文件读写主要有二进制和文件列表形式的数据读写两种形式。(1)二进制文件的保存与读取 保存:save函数以二进制格式保存数据。格式如下: np.save(file,arr,allow_pickle=True,fix_imports=Ture) file 要保存的文件名称,需指定文件保存路径,如果未设置,保存到默认路径 arr 为需要保存的数组...
2019-04-06 14:51:21 5622
原创 Numpy的ufunc函数
ufunc函数是针对数组进行操作的,且都以数组作为输出。常用的ufunc函数运算有四则运算、比较运算、逻辑运算。ufunc函数支持全部的四则运算,其表示对数组中的各元素分别进行四则运算,所以进行四则运算的两个数组形状必须相同。import numpy as np#ufunc函数运算x=np.array([1,2,3])y=np.array([4,5,6])print(x+y...
2019-04-06 14:18:33 733
原创 Numpy矩阵创建
Numpy是对多维数组的运算,默认情况并不运算矩阵。如果需要对数组进行矩阵运算,矩阵是继承自numpy数组对象的二维数组对象。Numpy中,矩阵计算是针对整个矩阵中每个元素进行的,与用for循环相比,其在运算速度上更快。import numpy as np#创建numpy矩阵matr1=np.mat('1 2 3;4 5 6;7 8 9') #使用分号隔开...
2019-04-06 11:56:26 5731
原创 Numpy数值计算基础——创建数组对象、设置shape属性、生成随机数、数组索引、展平、组合、分割
Numpy提供两种基本的对象:ndarray(存储单一数据类型的多维数组)和ufunc(对数组进行处理的函数)。import numpy as np## 创建一维、二维数组arr1=np.array([1,2,3,4]) #创建一维数组 (一个[])arr2=np.array([[1,2,3,4],[5,6,7,8]]) #创建二维数组(两个[])print...
2019-04-06 11:34:22 1170
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人