- 博客(43)
- 资源 (5)
- 收藏
- 关注
原创 C++:函数指针
函数的指针:储存着函数的地址的指针C++中函数名表示的是函数的地址,比如求两数之和的函数int sum(int a,int b),其地址为sum。int sum(int, int);//函数声明int sum(int a, int b){ return a + b;}函数指针的声明:在声明时应该指定函数的返回类型以及函数的形参列表.比如对应上述的sum函数,其指针声明方式如下:int (*pf)(int,int) = sum;//与sum函数的声明方式类似,只是将sum替换为了(*pf)
2021-03-16 17:06:20
281
1
原创 C++:txt文件的读写
写txt文件使用文件输出的主要步骤如下:1.包含头文件fstream;2.创建一个ofstream对象;3.将该ofstream对象同一个文件关联起来4.就像使用一个cout那样使用ofstream对象下面是一个小demo: ofstream outFile; outFile.open("test.txt"); //将其与文件关联,若文件不存在则创建,若存在,默认情况下将删除文件中原本的内容 double wt = 12.5; outFile << wt; //将数据输出到文
2021-03-15 16:14:54
499
原创 C++:cin.get()与cin.get(char &_Ch)
cin.get(char &_Ch)cin.get(char &_Ch):将输入的char赋值给ch;当检测到EOF时cin的eof方法返回true,fail方法返回true。下面是一个使用cin.get(char &_Ch)来逐个读取输入字符的demo,当输入EOF时停止输入: char ch; while (cin.get(ch))//当输入EOF时跳出循环;cin对象会在需要返回bool值的时候转换为bool值,输入失败时自动返回false { cout <
2021-03-15 14:13:25
663
原创 C++:数组、字符串、结构体、共用体、枚举和指针
C++:数组、字符串和指针字符串字符串C-风格字符串基于string类库的字符串结构体共用体枚举指针和自由存储空间字符串要创建数组可以使用声明语句。数组语句应该包含三个要素:存储在每个元素中的值的类型;数组名;数组中的元素数通用格式为:typeName arrayName[arraySize]具体例子如下:short month[12];另外对数组使用sizeof函数可以得到数组的字节数。数组的初始化方式如下: int demo1[]{ 1,2,3,4 };//等价于int
2021-03-11 11:01:36
524
原创 决策树简介(《机器学习实战》笔记)
决策树简介决策树分类决策树训练和可视化分类过程估计类别的概率CART训练算法正则化超参数回归不稳定性决策树是一种机器学习算法,它可以实现分类和回归任务,甚至是多输出任务。它也是随机森林的重要组成部分,而随机森林则是现今最为强大的机器学习算法之一,因此了解决策树的原理是非常重要的。说明:为了说明方便,本篇博客插入了许多图片,部分图片由《机器学习实战》的作者通过jupyter notebook绘制,上传于GitHub供大家学习。决策树分类决策树训练和可视化为了更加直观的了解决策树的工作原理,我们可以对
2020-06-22 21:54:16
1024
原创 支持向量机简介以及一个小实例(《机器学习实战》笔记)
y^={0 if wT⋅x+b>0,1 if wT⋅x+b≤0\hat y=\begin{cases}0\ \ \ if\ \bf w^T\cdot x+\it b>0,\\1\ \ \ if\ \bf w^T\cdot x + \it b\leq0\end{cases}y^={0 if wT⋅x+b>0,1 if&nb
2020-06-17 10:47:52
2346
1
原创 机器学习中的一些简单数学原理
线性回归对于线性模型,其预测模型可以写为:y^=θ0+θ1x1+θ2x2+⋯+θnxn\hat{y}=\theta_0+\theta_1x_1+\theta_2x_2+\cdots+\theta_nx_ny^=θ0+θ1x1+θ2x2+⋯+θnxn其中:y^\hat{y}y^是预测值n是特征的数量xix_ixi是第i个特征值θj\theta_jθj是第j个模型参数(包括偏置项θ0\theta_0θ0以及特征权重θ0,θ1,⋯ ,θn\theta_0,\theta_1,\
2020-05-28 15:38:17
1689
原创 从分类任务中了解机器学习(《机器学习实战》笔记)
数据集使用的数据集为MNIST,其数据集中一共包含70000个手写数字的图片以及相应的标签。书上提供的读取数据集的代码由于版本不匹配(当时的版本较老),无法执行。因此只能在网上下载MNIST数据集。读取的方法参考:读取MNIST。具体的数据准备工作代码如下:import scipy.io as siomnist = sio.loadmat("datasets/mnist-original.mat")X,y = mnist["data"].T,mnist["label"].Tprint(X.sh
2020-05-14 20:24:23
695
原创 从一个小实例了解机器学习全过程(《机器学习实战》笔记)
从一个小实例了解机器学习全过程准备工作明确目标选择性能指标查看数据结构我们通过一个机器学习的小实例来对机器学习技术进行一个初步了解。准备工作明确目标该实例的目的在于通过1990年加州房子的各种特征(如经纬度、该地区收入中位数等)来预测该地区房子价格的中位数。数据集已经上传至文章的附件中(包含地区的房价中位数),很明显这是一个监督式学习任务,并且是一个回归任务。选择性能指标回归问题的典型...
2020-05-08 09:55:28
1896
1
原创 使用BeautifulSoup爬取想要的标签(《python网络爬虫权威指南》笔记)
使用BeautifulSoup爬取想要的标签精确爬取标签BeautifulSoup中的find()和find_all()方法BeautifulSoup中的对象兄弟、子、父、后代标签的处理抓取子标签和其他后代标签抓取兄弟标签精确爬取标签我们可以使用标签的CSS属性爬取择我们想要的一个或者多个标签,如class(类)属性、id属性、src属性等。为了方便演示标签的选择,我们使用书中作者特别准备好...
2020-04-29 21:01:20
7083
2
原创 BeautifulSoup的基本使用(《python网络爬虫权威指南》笔记)
BeautifulSoup的基本使用安装BeautifulSoup(windows系统)BeautifulSoup简单使用使用BeautifulSoup时常见的错误安装BeautifulSoup(windows系统)直接使用包管理器pip来安装,打开命令提示行,输入:pip install beautifulsoup4即可自动安装,如果由于网络原因导致安装失败或者安装速度慢,可以使用豆瓣...
2020-04-28 16:57:34
336
1
原创 机器学习基本概念与定义(《机器学习实战》笔记)
机器学习基本概念与定义什么是机器学习机器学习优点机器学习的种类监督式学习无监督学习半监督式学习强化学习批量学习和在线学习批量学习在线学习基于实例的学习和基于模型的学习基于实例的学习基于模型的学习机器学习主要面临的挑战什么是机器学习在《机器学习实战》书中,作者给出了两个定义,首先是笼统的定义:机器学习研究如何让计算机不需要明确的程序也能具备学习能力之后是更偏工程化的定义:一个计算机程序在完...
2020-04-28 10:36:16
479
原创 几个数据分析的小实例(《使用python进行数据分析》)
数据分析小实例MovieLens 1M数据集测量评价分歧美国1880~2010年婴儿名字分析名字趋势小实例内容来自《利用python进行数据分析》。本文中可能使用的数据集来自:《利用python进行数据分析》数据集。MovieLens 1M数据集由GroupLens实验室从MoviesLens收集,内容是20世纪90年代末带21世纪初的电影评分数据。这些数据包含电影的评分、电影的元数据(流...
2020-04-22 20:11:15
8894
2
原创 《利用python进行数据分析》读书笔记之高阶GroupBy应用
高阶BroupBy应用和方法链技术分组转换和“展开”GroupBy分组的时间重新采样本文中可能使用的数据集来自:《利用python进行数据分析》数据集。之前我们已经讲过通过使用groupby方法来进行数据的分组和聚合。这里介绍一些可能会在数据分析过程中用到的额外用法。分组转换和“展开”GroupBy我们在之前分组和聚合的学习中知道,apply方法可以用于执行转换操作。transform方法...
2020-04-14 21:25:06
693
原创 《利用python进行数据分析》读书笔记之分类(Categorical)数据
分类数据背景和目标pandas中的Categorical类型使用Categorical对象进行计算使用分类获得更高的性能分类方法创建用于建模的虚拟变量本文中可能使用的数据集来自:《利用python进行数据分析》数据集背景和目标在处理数据的时候,我们经常会遇到一个列中部分数据完全相同,比如下面这个Series对象:import pandas as pdvalues = pd.Series...
2020-04-13 21:08:38
2365
原创 《利用python进行数据分析》读书笔记之时间序列(二)
时间序列(二)时间区间和时间算数区间频率转换本文中可能使用的数据集来自:《利用python进行数据分析》数据集时间区间和时间算数时间区间表示的是一个时间范围,如从2007年1月1日到2007年12月31日就是一个时间区间。pandas中包含一个Period类,用于表示时间区间。可以使用以下语句来创建一个Period对象:p1 = pd.Period("2007",'A-DEC')#表示...
2020-04-09 20:52:40
1206
原创 《利用python进行数据分析》读书笔记之时间序列(一)
时间序列(一)日期和时间数据的类型和工具字符串与datetime互相转换时间序列基础索引、选择、子集含有重复索引的时间序列本文中使用的数据集来自:《利用python进行数据分析》数据集日期和时间数据的类型和工具python标准库中包含了时间和日期数据的类型比如datetime.datetime类:from datetime import datetimenow = datetime.n...
2020-04-07 22:17:45
643
原创 《利用python进行数据分析》读书笔记之数据聚合与分组的应用
通用拆分-应用-联合压缩分组键本文中使用的数据集来自:《利用python进行数据分析》数据集经过了前两节对分组和聚合的学习,现在来进行数据拆分和聚合的小实战。现在以资源文件中的tips.csv数据集为例,首先对文件进行读取,并添加一个tip_pct(小费百分比)列:import pandas as pdimport numpy as nptips = pd.read_csv('../p...
2020-04-01 21:17:15
816
原创 《利用python进行数据分析》读书笔记之数据聚合
数据聚合逐列以及多函数应用返回不含行索引的聚合数据本文中使用的数据集来自:《利用python进行数据分析》数据集聚合是指根据数组产生标量值的数据转换过程,如mean、count、min和sum等。在之前介绍groupby机制的时候我们知道对GroupBy对象可以使用count等方法进行聚合,得到每个分组的聚合结果。常见的GroupBy对象的聚合方法见下表:方法描述coun...
2020-03-31 20:17:48
222
原创 《利用python进行数据分析》读书笔记之GroupBy机制
GroupBy机制遍历各个分组选择一列或者所有列的子集使用字典和Series进行分组使用函数分组根据索引层级分组现在考虑以下这个简单的DataFrame:df = pd.DataFrame({'key1':list('aabba'), 'key2':['one','two','one','two','one'], 'd...
2020-03-30 20:46:07
616
原创 《利用python进行数据分析》读书笔记之使用pandas和seaborn绘图
pandas和seaborn绘图折线图柱状图折线图Series和DataFrame都有一个plot属性,用于绘制基本图形,默认情况下绘制的是折线图:import numpy as npimport pandas as pdfrom matplotlib import pyplot as plts = pd.Series(np.random.randn(10).cumsum(),i...
2020-03-27 12:33:54
502
原创 《利用python进行数据分析》读书笔记之matplotlib API入门
matplotlib API入门图片与子图颜色、标记和线类型刻度、标签和图例设置标题、轴标签、刻度和刻度标签添加图例在使用matlotlib之前我们首先需要进行导入:import matplotlib.pyplot as plt我们可以试着生成一个简单的图形:import matplotlib.pyplot as pltimport numpy as npdata = np.ar...
2020-03-23 20:30:46
185
原创 《利用python进行数据分析》读书笔记之联合与合并数据集
联合与合并数据集数据库风格的DataFrame连接搜索索引合并数据库风格的DataFrame连接我们可以使用pandas中的merge函数,将两个DataFrame相连,先看多对一的列子:import pandas as pddf1 = pd.DataFrame({"key":list('bbacaab'),'data1':range(7)})# key data1# 0 ...
2020-03-18 19:04:35
675
原创 《利用python进行数据分析》读书笔记之分层索引
分层索引重排序和层级排序分层索引可以让数据在一个轴上拥有多个索引,考虑以下例子:import pandas as pdimport numpy as npdata = pd.Series(np.random.randn(9), index = [list('aaabbccdd'),[1,2,3,1,3,1,2,2,3]])# a 1 0.9561...
2020-03-06 18:26:00
266
原创 《利用python进行数据分析》读书笔记之字符串操作
字符串操作字符串对象处理方法字符串对象处理方法一个逗号分隔符的字符串可以使用split分成许多块:val = 'a,b, guide'print(val.split(','))# ['a', 'b', ' guide']split尝尝和strip一起使用,用于清除空格和换行:val = 'a,b, guide'pieces = [i.strip() for i in val...
2020-03-05 20:07:25
386
原创 《利用python进行数据分析》读书笔记之数据转换(二)
数据转换离散化和分箱检测和过滤异常值置换和随机抽样离散化和分箱连续值经常需要进行离散化,或者分离成“箱子”进行分析。现在我们有一组人群的年龄数据,我们想要将他们分入18-25,26-35,35-60以及60以上四个组中。为了实现分组可以使用pandas中的cut:import pandas as pdages = [20,22,25,27,21,23,37,31,61,45,41,32]...
2020-03-02 18:17:18
305
原创 《利用python进行数据分析》读书笔记之数据转换(一)
数据转换删除重复值使用函数或映射进行数据转换替代值重命名轴索引删除重复值由于种种原因,DataFrame中会出现重复行。考虑下列DataFrame:import pandas as pddata = pd.DataFrame({'k1':['one','two'] * 3 + ['two'], 'k2:':[1,1,2,3,3,4,4]})# 0...
2020-03-01 21:18:13
255
原创 《利用python进行数据分析》读书笔记之处理缺失值
处理缺失值过滤缺失值补全缺失值pandas使用NaN来表示一个缺失值,常用的处理缺失值的方法如下表所示:方法名描述dropna根据每个标签的值是否是缺失数据来删选标签,并根据允许丢失的数据来确定阈值fillna用某些值填充确实的数据或使用插值方法(如’ffill’或者’bfill’)isnull返回表明哪些值是缺失值的布尔值notnullisnul...
2020-02-28 21:00:58
217
原创 《利用python进行数据分析》读书笔记之文本格式数据的读写
将表格型数据读取为DataFrame对象是数据分析的重要一步。read_csv和read_table可能是后期我们使用的最多的函数。下面总结了书上给出的pandas中常用的解析函数。函数描述read_scv从文件、URL或文件型对象读取分隔号的数据,逗号是默认分隔符read_table从文件、URL或文件型对象读取分隔好的数据read_fwf从特定宽度格式的...
2020-02-25 20:30:54
1216
原创 《利用python进行数据分析》读书笔记之pandas基础(三)
基本功能描述性统计的概述与计算相关性和协方差描述性统计的概述与计算pandas对象装配了一个常用数学。统计学方法的集合。以以下这个简单的DataFrame为例:import pandas as pdimport numpy as npdf = pd.DataFrame([[1.4,np.nan],[7.1,4.5], [np.nan,np.nan]...
2020-02-17 21:54:40
1417
原创 《利用python进行数据分析》读书笔记之pandas基础(二)
?基本功能重建索引轴向上删除条目索引、选择与过滤基本功能重建索引考虑一个最简单的Series对象:import pandas as pdobj = pd.Series([4.5,7.2,-5.3,3.6],index = ['d','b','a','c'])# d 4.5# b 7.2# a -5.3# c 3.6# dtype: float64我们可以...
2020-02-15 17:48:48
299
原创 《利用python进行数据分析》读书笔记之pandas基础(一)
pandas入门pandas数据结构介绍Seriespandas数据结构介绍SeriesSeries类易于一维数组,包含值以及索引(index),最简单的Series可以由一个列表组成:import pandas as pdobj = pd.Series([1,-2,3,5])print(obj)#0 1# 1 -2# 2 3# 3 5# dtype: ...
2020-02-09 17:50:10
195
原创 《利用python进行数据分析》读书笔记之Numpy基础(二)
NumPy ndarray:多维数组对象通用函数面向数组的编程将条件逻辑作为数组操作数学和统计方法布尔值数组方法排序唯一值与其他逻辑集合使用数组进行文件输入和输出通用函数通用函数,也称为ufunc,可以对ndarray中的元素进行逐个操作,分为一元通用函数和二元通用函数。一元通用函数:接受一个数组并返回结果,如:arr = np.arange(10)print(np.sqrt(arr))...
2020-02-08 18:27:35
172
原创 《利用python进行数据分析》读书笔记之Numpy基础(一)
NumPy ndarray:多维数组对象常用的ndarray对象生成方法ndarray的数据类型numpy数组算数基础索引与切片一维数组的切片二维数组的切片布尔索引首先介绍ndarray对象的两个属性,分别是dtype和shape,分别是ndarray的数据类型和形状描述import numpy as np#生成一个两行三列的随机矩阵arr = np.random.rand(2,3)pr...
2020-02-08 14:55:50
193
原创 python学习笔记之内存管理
python垃圾回收机制引用计数循环引用标记清除和分代回收常用gc模块引用计数在python中,使用引用计数进行内存管理,一个对象没被一个变量指向,则引用计数+1,当引用计数达到最小时(一般是0),该对象便会被回收。使用sys.getrefcount可以查看一个对象的引用计数,另外其显示的引用计数会比实际引用计数多1,因为sys.getrefcount也会引用该对象。import sysc...
2020-01-12 12:32:03
165
原创 OpenCV(基于python)学习笔记之视频I/O
OpenCV(基于python)学习笔记之视频I/O视频文件的读/写捕获摄像头的帧视频文件的读/写我们可以使用OpenCV中的Vediocapture和VedioWriter来读取和写入视频的帧,VedioCapture类中的read()方法可以获取图像的帧(BGR图像),而VedioWriter中的write()方法则可以将帧组装成视频输出。下面为一个读取视频帧,实现视频的复制的小实例:...
2020-01-10 17:39:19
293
1
原创 OpenCV(基于python)学习笔记之图片I/O
OpenCV(基于python)学习笔记之I/O使用numpy访问图像数据批量修改图片中的像素值获取图片的属性使用numpy访问图像数据修改图像中某一点的像素值import cv2import numpy as npimg = cv2.imread('image/logo.png')print(img.item(150,120,0))#显示蓝色通道150,120处像素的值img.i...
2020-01-10 16:38:30
164
原创 python动态添加、删除属性和方法
python动态添加、删除属性和方法动态添加属性动态添加方法动态添加实例方法动态添加类方法动态删除属性和方法__slots__魔术变量动态添加属性属性不是在类定义的时候添加的,而是在程序运行过程中添加的,我们首先定义一个类:class Person(object): """ 定义一个人的类 """ country = 'China' def __in...
2020-01-10 10:18:26
3669
2
原创 python装饰器学习笔记
python装饰器学习笔记什么是装饰器?为什么要使用装饰器?装饰器代码举例传参数的装饰器wraps装饰器的使用什么是装饰器?为什么要使用装饰器?使用装饰器可以让给我们的函数在执行之前或者执行之后添加一些代码,举个例子,当我们使用优快云写博客或者编辑我们的个人资料的后台肯定要先判断我们是否登录,如果不使用装饰器,我们就必须要在写博客这个函数write_article()和edit_user()...
2020-01-09 11:29:21
144
原创 python中的闭包
python中的闭包什么是闭包?nonlocal关键字小实例:使用闭包实现y=2x+1和y=2x+2两个算式的值什么是闭包?如果一个函数里面定义了另外一个函数,里面定义的函数使用了外面函数中定义的变量,并且外面的函数返回了里面的函数的引用,那么称里面的函数为闭包。如下面代码中hello函数就是一个闭包。def greet1(name): print('outter') def...
2020-01-03 20:32:50
153
mathor_cup_SVM.rar
2020-06-16
百度百科词条爬虫机器人
2020-05-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人