自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (2)
  • 收藏
  • 关注

原创 【计算机二级等级考试】公共基础知识-学习笔记

#一、数据结构和算法1.1 算法算法的基本概念算法的基本特征:可行性(所有步骤可实现,执行结果能达到目的),确定性(不能模凌两可,不能多义),有穷性(算法在有限的时间内完成),拥有足够的情报算法设计基本方法列举法,归纳法,递推,递归算法复杂度时间复杂度:即执行算法所需要的计算工作量,算法所执行的基本运算次数。分析方法平均性态A(n):基本运算次数的加权平均值。最坏情况复杂性W(n):算法所执行的基本运算的最大次数。W(n)比A(n)更具有实用价值。空间复杂度:即执行算法所需的

2021-02-19 16:05:47 2372 1

原创 机器学习项目:房价预测

XGBoost回归预测import pandas as pdfrom sklearn.model_selection import train_test_split # 导入数据分割函数库from sklearn.model_selection import cross_val_scorefrom sklearn.metrics import mean_absolute_error # 导入误差计算函数库from sklearn.impute import SimpleImputer # 导入.

2021-04-11 20:20:28 840

原创 机器学习项目:泰坦尼克号幸存者预测

随机森林分类模型import pandas as pdfrom sklearn.ensemble import RandomForestClassifierfrom sklearn.model_selection import cross_val_scorefrom sklearn import preprocessing# 导入数据train_data = pd.read_csv(r"D:\xio习\python\python数据分析\案例\泰坦尼克\data\train.csv")t.

2021-04-11 20:15:36 575

原创 【利用python进行数据分析】学习笔记-第7章 数据清洗和准备——数据转换

7.3 字符串操作7.3.1 字符串对象方法# 以逗号分隔的字符串可以⽤split拆分成数段In [134]: val = 'a,b, guido' In [135]: val.split(',')Out[135]: ['a', 'b', ' guido'] # split常常与strip⼀起使⽤,以去除空⽩符(包括换⾏符)In [136]: pieces = [x.strip() for x in val.split(',')] In [137]: piecesO

2021-04-04 17:11:47 187

原创 【数值分析】python实现四阶亚当姆斯预测矫正方法

python代码import numpy as npimport matplotlib.pyplot as pltDT = np.array(input("份数:").split(' '))y0 = int(input("函数起点:"))def f(y): return np.exp(-y)def Adams(t, y0): n = len(t) y = np.zeros(n) y[0] = y0 for i in range(0, n-1):.

2021-04-04 00:48:40 995

原创 【数值分析】python实现四阶龙格库塔法

python代码import numpy as npimport matplotlib.pyplot as pltDT = np.array(input("份数:").split(' '))y0 = int(input("函数起点:"))def f(y): return np.exp(-y)def Runge_Kutta(t, y0): n = len(t) y = np.zeros(n) y[0] = y0 for i in range(0, .

2021-04-03 21:49:33 4489

原创 【利用python进行数据分析】学习笔记-第7章 数据清洗和准备——数据转换

7.2 数据转换7.2.1 移除重复数据In [45]: data = pd.DataFrame({'k1': ['one', 'two'] * 3 + ['two'], ....: 'k2': [1, 1, 2, 3, 3, 4, 4]}) In [46]: dataOut[46]: k1 k20 one 11 two 12 one 23 two 34 one 35 two 46 t

2021-04-03 21:04:18 372 5

原创 【数值分析】python实现复化高斯积分

python代码import pandas as pdimport numpy as npimport math# 初始化表格x1, k1 = np.array([[0], [2]])x2, k2 = np.array([[0.5773502692], [1]])x3, k3 = np.array([[0.7745966692, 0], [0.5555555556, 0.8888888889]])x4, k4 = np.array([[0.861.

2021-04-03 20:56:12 1053 2

原创 【数值分析】python实现复化辛普森积分

python代码import numpy as npa, b = input("积分区间:").split(' ')n = int(input("子区间个数:"))a = int(a)b = int(b)x_i = np.linspace(a, b, n+1) # 区间结点h = (b-a)/n# 原函数def f(x): return 4/(1+x**2)def piece(x_i, i, h): return h/6 * (f(x_i[i-1]) + 4.

2021-04-03 19:48:02 2412

原创 【数值分析】python实现拉格朗日插值及作图

python代码import numpy as npX = input("x的值:").split(' ')Y = input("y的值:").split(' ')x = input("要预测的值:")X = np.array(X).astype(np.float64)Y = np.array(Y).astype(np.float64)x = np.array(x).astype(np.float64)n = len(X)# 累乘函数def T(x, i, X): T.

2021-04-02 19:27:57 3181 2

原创 【利用python进行数据分析】学习笔记-第7章 数据清洗和准备——处理缺失数据

第7章 数据清洗和准备7.1 处理缺失数据7.1.1 查看缺失数据# pandas使⽤浮点值NaN(Not a Number)表示缺失数据。我们称其为哨兵值,可以⽅便的检测出来In [10]: string_data = pd.Series(['aardvark', 'artichoke', np.nan, 'avocado']) In [11]: string_dataOut[11]:0 aardvark1 arti

2021-04-01 15:37:52 251 2

原创 【Python编程快速上手 —让繁琐工作自动化】——模式匹配与正则表达式

模式匹配与正则表达式1 用正则表达式查找文本模式模块:import recompile函数:向re.compile()传入一个字符串值,表示正则表达式,它将返回一个Regex 模式对象Regex对象示例import rep = re.compile(r'\d\d\d-\d\d\d-\d\d\d\d')mo = p.search('My number is 415-555-4242.')print(mo.group())2 正则表达式中的符号利用括号分组

2021-03-30 12:07:29 148 2

原创 【利用python进行数据分析】学习笔记-第6章 数据加载、存储与文件格式——Web APIs交互和数据库交互

6.3 Web APIs交互# 为了搜索最新的30个GitHub上的pandas主题,可以发⼀个HTTP GET请求,使⽤requests扩展库In [113]: import requests In [114]: url = 'https://api.github.com/repos/pandas-dev/pandas/issues'In [115]: resp = requests.get(url) In [116]: respOut[116]: <Response

2021-03-28 18:33:33 107

原创 【利用python进行数据分析】学习笔记-第6章 数据加载、存储与文件格式——二进制数据格式

6.2 二进制数据格式# 实现数据的⾼效⼆进制格式存储最简单的办法之⼀是使⽤Python内置的pickle序列化# pandas对象都有⼀个⽤于将数据以pickle格式保存到磁盘上的to_pickle⽅法In [87]: frame = pd.read_csv('examples/ex1.csv')In [88]: frameOut[88]: a b c d message0 1 2 3 4 hello1 5 6 7 8 world

2021-03-28 18:31:43 137

原创 【利用python进行数据分析】学习笔记-第6章 数据加载、存储与文件格式——读写文本格式的数据

第6章 数据加载、存储与文件格式输入输出分类:读取文本文件和其他更高效的磁盘存储格式加载数据库中的数据利用Web API操作网络资源6.1 读写文本格式的数据pandas中的解析函数函数说明read_csv从文件、URL、文件型对象中加载带分隔符的数据。默认分隔符为逗号read_table从文件、URL、文件型对象中加载带分隔符的数据。默认分隔符为制表符("t’)read_fwf读取定宽列格式数据(也就是说,没有分隔符)read_clipbo

2021-03-28 14:27:33 333 6

原创 pandas数据操作总结

pandas数据结构Series:索引在左,值在右DataFrameSeries:属性:values(值):obj.valuesindex(索引):obj.indexname:obj4.name = 'population'​ obj4.index.name = 'state'创建Series:obj = pd.Series([4, 7, -5, 3])obj2 = pd.Series([4, 7, -5, 3], ..

2021-03-27 18:51:01 147 2

原创 【利用python进行数据分析】学习笔记-第5章 pandas入门——汇总和计算描述统计

5.3 汇总和计算描述统计5.3.1 约简与汇总统计In [230]: df = pd.DataFrame([[1.4, np.nan], [7.1, -4.5], .....: [np.nan, np.nan], [0.75, -1.3]], .....: index=['a', 'b', 'c', 'd'], .....: columns=['one', 'two'])

2021-03-27 10:33:55 235 2

原创 【利用python进行数据分析】学习笔记-第5章 pandas入门——pandas的基本功能

5.2 基本功能5.2.1 重新索引In [91]: obj = pd.Series([4.5, 7.2, -5.3, 3.6], index=['d', 'b', 'a', 'c']) In [92]: objOut[92]:d 4.5b 7.2a -5.3c 3.6dtype: float64# ⽤该Series的reindex将会根据新索引进⾏重排In [93]: obj2 = obj.reindex(['a', 'b', 'c', '

2021-03-26 18:09:47 142 2

原创 【利用python进行数据分析】学习笔记-第5章 pandas入门——pandas的数据结构

第5章 pandas入门引用惯例:import pandas as pd5.1 pandas的数据结构介绍5.1.1 SeriesSeries是⼀种类似于⼀维数组的对象,它由⼀组数据(各种NumPy数据类型)以及⼀组与之相关的数据标签(即索引)组成。Series的字符串表现形式为:索引在左边,值在右边。由于我们没有为数据指定索引,于是会⾃动创建⼀个0到N-1(N为数据的⻓度)的整数型索引。In [11]: obj = pd.Series([4, 7, -5, 3]) In [12]: o

2021-03-26 13:22:07 257 2

原创 NumPy数据操作总结

属性shape:表示数组的各维度大小ndim:表示数据维度dtype:表示数组数据类型的对象创建ndarray的方式方法用法解释array函数arr = np.array(data)data为数组zeros函数arr = np.zeros(10)变量为NumPy数组长度empty函数np.empty((2, 3, 2))变量为空数组的各维度大小arange函数np.arange(15)ndarray的数据类型..

2021-03-22 21:18:42 359

原创 【利用python进行数据分析】学习笔记-第4章 NumPy基础

第4章 NumPy基础:数组和矢量运算引用惯例:import numpy as np基于NumPy的算法要比纯python快10到100倍(甚至更快),并且使用更少的内存。4.1NumPy的ndarray:一种多维数组对象ndarray是一个通用的同构数据多维容器,即其中的元素必须是相同类型的。每个数组都有⼀个shape(⼀个表示各维度⼤⼩的元组)和⼀个dtype(⼀个⽤于说明数组数据类型的对象)4.1.1 创建ndarray使⽤array函数:接受⼀切序列型的对象(包括其他数组),然后

2021-03-20 16:11:53 436 7

原创 【算法导论】笔记-第十四章 动态规划——钢条切割问题

第四部分 高级技术和分析技术第14章 动态规划动态规划与分治方法相似,都是通过组合子问题的解来求解原问题分治方法将问题划分为互不相交的子问题,递归地求解子问题,再将所有解组合起来动态规划应用于子问题重叠的情况,即不同子问题具有公共的子子问题思想:求解每种子子问题,将其解保存在一个表格中。应用:通常求解最优化问题步骤:刻画一个最优解的结构特征递归地定义最优解的值计算最优解的值,通常采用自底向上的方法利用计算出的信息构造一个最优解14.1

2021-03-09 15:24:51 269

原创 【算法导论】笔记-第三部分 数据结构

第三部分 数据结构动态集合:算法操作的集合能在整个过程中增大,缩小或发生其他变化。动态集合操作:查询操作(返回信息)SEARCH(S, k):返回指向S中某个元素的指针x,使得x.key=kMINIMUM(S):返回指向S中具有最小关键字元素的指针MAXIMUM(S):返回指向S中具有最大关键字元素的指针SUCCESSOR(S, x):返回集合S中比x大的下一个元素的指针PREDECESSOR(S, x):返回集合S中比x小的前一个元素的指针修改操作(改变集合)INSERT(

2021-03-03 19:20:08 113 2

原创 【算法导论】笔记-第三部分 数据结构

第三部分 数据结构动态集合:算法操作的集合能在整个过程中增大,缩小或发生其他变化。动态集合操作:查询操作(返回信息)SEARCH(S, k):返回指向S中某个元素的指针x,使得x.key=kMINIMUM(S):返回指向S中具有最小关键字元素的指针MAXIMUM(S):返回指向S中具有最大关键字元素的指针SUCCESSOR(S, x):返回集合S中比x大的下一个元素的指针PREDECESSOR(S, x):返回集合S中比x小的前一个元素的指针修改操作(改变集合)INSERT(

2021-03-03 18:47:11 92

原创 【算法导论】笔记-第十三章 数据结构的扩张

第13章 数据结构的扩张13.1 动态顺序统计一棵顺序统计量树T通过简单地在红黑树的每个结点存入附加信息而成。在一个结点x内,除了原有的域,还包括x.sizex.sizex.size,这个域包含以结点x为根的子树的节点数:x.size=x.left.size+x.right.size+1x.size=x.left.size+x.right.size+1x.size=x.left.size+x.right.size+1查找具有给定秩的元素:OS-SELECT(x, i)r = x.left.s

2021-03-03 18:41:34 84 4

原创 python代码实现斗地主

# -*- coding: utf-8 -*-"""Created on Sat Feb 27 12:45:14 2021@author: lenovo"""import randomfrom collections import Counterclass Player(): def __init__(self, card, role): self.card = card self.role = role self.length =

2021-03-02 23:39:14 3099

原创 【算法导论】笔记-第十二章 红黑树

第12章 红黑树12.1 红黑树的性质红黑树在每个结点上添加一个存储位来表示结点的颜色,可以是RED或BLACK。通过对任何一条从根到叶子的简单路径上各个结点的颜色进行约束,红黑树确保没有一条路径会比其它路径长出2倍,因而近似于平衡的树中每个结点包含5个属性:color,key,left,right,pcolor, key, left, right, pcolor,key,left,right,p红黑树性质:是二叉搜索树结点或是红色,或是黑色根结点是黑色结点

2021-03-02 13:38:26 120

原创 【算法导论】笔记-第十一章 二叉搜索树

第11章 二叉搜索树11.1 什么是二叉搜索树二叉搜索树是以一颗二叉树来组织的设x是二叉搜索树中的一个结点。如果y是x左子树中的一个结点,那么y.key<=x.keyy.key<=x.keyy.key<=x.key。如果y是x左子树中的一个结点,那么y.key>=x.keyy.key>=x.keyy.key>=x.key。中序遍历:输出的子树根的关键字在其左右子树的关键字之间先序遍历:根的关键字在其左右子树的关键字之前后序遍历:根的关键字在

2021-02-24 21:12:20 115

原创 【算法导论】笔记-第十章 散列表

第10章 散列表散列表是实现字典操作的一种有效数据结构。10.1 直接寻址表直接寻址表:表示动态集合,记作T[0..m−1]T[0..m-1]T[0..m−1]。其中每个位置称作槽。槽:槽k指向集合中一个关键字为k的元素。若没有关键字为k的元素,则T(k)=NILT(k)=NILT(k)=NIL。缺点:全域U很大,存储不现实。并且浪费空间。10.2 散列表利用散列函数h,由关键字k计算出槽的位置。函数h将关键字的全域U映射到散列表T[0..m−1]T[0..m-1]T[0..m−1]

2021-02-22 21:45:53 227 4

原创 【算法导论】笔记-第九章 基本数据结构

第9章 基本数据结构9.1 栈与队列栈栈是限定在一端进行插入和删除的线性表。操作:INSERT称作压入(PUSH),DELETE称作弹出(POP)特点:只能在栈顶进行插入和删除先进后出, 后进先出栈底指针 bottom ,栈顶指针 top栈底指针不变,栈中元素随栈顶指针的变化而动态变化栈具有记忆功能栈支持子程序调用伪代码:STACK-EMPTY(S):测试是否为空栈if S.top == 0 return TRUEelse return FA

2021-02-21 22:25:43 146

原创 【算法导论】笔记-第二部分 排序和顺序统计量

第二部分 排序和顺序统计量第5章 堆排序5.1 堆堆:(二叉)堆是一个数组,它可以被看成一个近似的完全二叉树。最大堆性质:除了根以外的所有结点iii都要满足:A[PARENT(i)]>=A[i]A[PARENT(i)]>=A[i]A[PARENT(i)]>=A[i]最小堆性质:除了根以外的所有结点iii都要满足:A[PARENT(i)]<=A[i]A[PARENT(i)]<=A[i]A[PARENT(i)]<=A[i]结点的高度:该结点到叶节点

2021-02-20 10:41:05 125

原创 【算法导论】笔记-第八章中位数和排序统计量

第8章 中位数和顺序统计量中位数:其所属集合的中点元素。当元素个数n为奇数时,中位数唯一,i=(n+1)/2i=(n+1)/2i=(n+1)/2当元素个数n为偶数时,存在两个中位数,分别为i=n/2i=n/2i=n/2和i=n/2+1i=n/2+1i=n/2+1若不考虑n的奇偶性,中位数总是出现在==i=⌊(n+1)/2⌋i=\lfloor (n+1)/2\rfloori=⌊(n+1)/2⌋和i=⌈(n+1)/2⌉i=\lceil (n+1)/2\rceili=⌈(n+1)/2⌉==处。8.1

2021-02-20 10:38:43 213 4

原创 【算法导论】笔记-第七章 线性时间排序

第7章 线性时间排序比较排序:在排序的结果中,各元素的次序依赖于它们之间的比较7.1 排序算法的下界决策树模型:比较排序可以抽象为一颗决策树决策树:决策树是一颗完全二叉树,可以表示在给定输入规模情况下,某一特定排序算法对所有元素的比较操作。读决策树:结点(a:b)表示判断a与b的大小关系。结点后面的"<“和”>"表示a与b的确定关系。根结点表示满足之前所有决策的结果。最坏情况下的下界:在决策树中,从根结点到任意一个可达叶结点之间最长简单路径的长度,表示对应的排序算法中最坏情况的

2021-02-19 22:00:56 140 2

原创 【算法图解】学习笔记

一 、算法简介1.1 二分查找对于包含n个元素的列表,用二分查找最多需要log2n步,而简单查找最多需要n步仅当列表是有序的时候,二分查找才管用代码实现:def binary_search(list, item): low = 0 high = len(list) - 1 while low <= high: mid = (low + high) guess = list[mid] if guess

2021-02-19 15:50:42 161

原创 【算法导论】笔记-第六章 快速排序

第6章 快速排序6.1 快速排序的描述过程:分解:将数组分解为数组A[p…r]分解为两个子数组A[p…q-1]和A[q+1…r],使得A[p…q-1]中每一个元素都小于等于A[q],而A[q]也小于等于A[q+1…r]中的每个元素。解决:通过递归调用快速排序,对子数组A[p…q-1]和A[q+1…r]进行排序。合并伪代码:QUICKSORT(A, p, r)if p < r q = PARTITION(A, p, r) QUICKSORT(A, p, q

2021-02-19 15:28:20 107 2

原创 【算法导论】笔记-第五章 堆排序

第5章 堆排序5.1 堆堆:(二叉)堆是一个数组,它可以被看成一个近似的完全二叉树。最大堆性质:除了根以外的所有结点iii都要满足:A[PARENT(i)]>=A[i]A[PARENT(i)]>=A[i]A[PARENT(i)]>=A[i]最小堆性质:除了根以外的所有结点iii都要满足:A[PARENT(i)]<=A[i]A[PARENT(i)]<=A[i]A[PARENT(i)]<=A[i]结点的高度:该结点到叶节点最长简单路径上边的数目。

2021-02-19 09:43:28 233 4

原创 【算法导论】笔记-第四章 概率分布与随机分布

第4章 概率分布和随机分布4.1 雇用问题题目:代理公司帮你物色办公助理候选人,面试一个候选人支付代理公司1K。策略:在面试完每个应聘者后,如果该应聘者比目前的办公助理更合适,就辞退当前的办公助理,然后雇佣新的。伪代码:HIRE-ASSISTANT(n)best = 0for i = 1 to n interview candidate i if candidate i is better than candidate best best = i

2021-02-19 09:40:00 224

原创 【算法导论】笔记-第三章 分治策略

第3章 分治策略步骤:分解解决合并递归情况:当子问题足够大基本情况:当子问题足够小递归式:刻画分治算法的运行时间求解递归式的方法:代入法递归树法主方法3.1 最大子数组例题: 买股票,使利益最大化思路:低价买进,高价卖出暴力解决问题:尝试每对可能的买进和卖出日期组合。n天中共有(2n)(_2^n)(2n​)种日期组合。运行时间为Ω(n2)\Omega(n^2)Ω(n2)问题变换:寻找一段日期,使得从第一天到最后一天的股票净变值。问题转化为寻找A

2021-02-19 09:38:26 221 2

原创 【算法导论】笔记-第二章 函数的增长

第2章 函数的增长2.1 渐近记号渐近紧确线:θ\thetaθ运行表达式T(n)T(n)T(n)中n的最大次数项。例如:T(n)=30n4+20n3+40n2+46n+100T(n)=30n^4+20n^3+40n^2+46n+100T(n)=30n4+20n3+40n2+46n+100,记为T(n)=θ(n4)T(n)=\theta(n^4)T(n)=θ(n4)数学含义:f(n)f(n)f(n)和g(n)g(n)g(n)同阶注意:θ(g(n))\theta(g(n))θ(g(n)

2021-02-19 09:37:10 186

原创 【算法导论】笔记-第一章 算法基础

第1章 算法基础1.1 插入排序关键词:我们要排序的数。伪代码:我们使用最清晰,最简洁的表示方法来说明给定的算法。约定:缩进表示块结构while,for与repeat-until等循环结构以及if-else等条件结构与代码类似//:表示该行后面部分是个注释i=j=e:将e的值赋给变量i和j数组元素通过“数组名[下标]”的形式来访问复合数据通常被组织成对象,对象又由属性组成我们按值把参数传递给过程INSERTION-SORT:插入排序的伪代码过程。for j =

2021-02-19 09:29:49 376 1

yolov5训练bdd100k自动驾驶数据集模型文件

yolov5s.pt训练了5000张图片,80个epoch yolov5n.pt训练了6000张图片,120个epoch yolov5n.engine 可用于tensorrt加速

2022-05-29

【计算机二级等级考试】公共基础知识-学习笔记

主要针对计算机等级考试公共基础知识,包括算法与数据结构,程序设计,软件工程,数据库设计的知识点

2021-02-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除