自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 问答 (2)
  • 收藏
  • 关注

原创 机器学习_第四天(非监督学习+思维导图)

1、非监督学习(无目标值)k-means:聚类,把数据划分成K个类别,当K未知时可视为超参数,进行调参假设K=3,聚类步骤如下:随机在数据当中抽取三个样本,当做三个类别的中心点(k1,k2,k3)计算其余点分别到这三个中心点的距离,每个样本都有三个距离(a,b,c),选出距离最近的中心点归为一类,从而最终形成三个族群。分别计算这三个族群的平均值(即属于该族群所有点的x均值与y均值),x均值与y均值组成的三个新的中心点是否同之前三个旧中⼼相同▶ 如果相同:结束聚类▶ 如果不同:将这三个点作为

2021-05-10 13:36:39 655

原创 机器学习_第四天(线性回归+岭回归+逻辑回归)

文章目录1、回归算法-线性回归分析1.1 线性模型1.2 线性回归1.3 损失函数(误差大小)1.3.1 最小二乘法之正规方程(小数据,少特征)1.3.2 最小二乘法之梯度下降(大数据>10w,多特征)1、回归算法-线性回归分析1.1 线性模型通过属性的线性组合来进行预测的函数:f(x)=w1x1+w2x2+…+wnxn+bw为权重;b称为偏置项,可以理解为w0×11.2 线性回归定义:线性回归通过一个或者多个自变量(特征)与因变量(目标值)之间关系,进行建模的回归分析。线性组合中可以有一

2021-05-09 15:07:54 728

原创 机器学习_第三天(朴素贝叶斯+决策树+随机深林)

分类算法-朴素贝叶斯算法

2021-05-07 16:19:56 864 1

原创 机器学习_第二天(sklearn库+K近邻算法)

文章目录1、数据类型2、机器学习算法分类2.1 监督学习2.2 无监督学习3、机器学习开发流程4、scikit-learn模块4.1 scikit-learn数据集划分4.2 scikit-learn获取数据集4.2.1 分类数据集4.2.2 回归数据集1、数据类型数据的类型是机器学习模型不同问题不同处理的依据离散型数据:由记录不同类别个体的数目所得到的数据,又称计数数据,所有这些数据全部都是整数,且不能再细分,也不能进一步提高精确度。连续型数据:变量可以在某个范围内取任一数,即变量的取值可以是连

2021-04-30 10:56:18 492

原创 机器学习_第一天(特征工程:特征抽取+特征预处理+特征降维)

文章目录机器学习1、可用数据集2、特征工程2.1 数据的结构2.2 对特征的处理3、特征抽取3.1 字典特征抽取3.3.1 one-hot编码:3.2 文本特征抽取3.2.1 词频矩阵(Count)3.2.2 权重矩阵(TF-IDF)---分类机器学习算法的的重要依据4、特征的预处理:对数据进行处理4.1 归一化4.2 标准化(使用场景更常见)4.3 缺失值(多用pandas处理)4.3.1 sklearn处理缺失值4.3.2 pandas处理缺失值机器学习机器学习的数据多为文件形式(csv),不使用m

2021-04-26 15:47:01 1394 1

原创 Linux高级命令

文章目录

2021-04-23 16:53:04 5980 14

原创 Linux基础命令

1. 查看目录ls:查看当前目录信息2. 查看当前目录路径pwd:查看当前目录路径3. 清除终端内容clear:清除终端内容4. 切换目录cd 目录:切换到指定目录cd ~ :切换到当前用户的主目录cd …:切换到上一级目录cd …/…:切换到上上级目录cd .:切换到当前目录cd -:切换到上一次目录注意:cd命令切换目录时,这个目录必须存在。cd 后面不写目录等价于cd ~,即切换到当前用户的主目录。5. 创建、删除文件及目录touch 文件名:创建指定文件mkdir 目

2021-04-20 11:01:23 116

原创 Mysql数据库_第三天(DML 语句+底层逻辑)

文章目录DML(数据操作语言)-- insert delete update1、insert插入数据2、将查询结果插入到一张表中3、update修改数据4、删除数据mysql底层逻辑1、存储引擎(了解即可)2、事务DML(数据操作语言)-- insert delete update增删改查有一个术语:CRUD操作 – Create(增)Retrieve(检索)Update(修改)Delete(删除)1、insert插入数据语法格式:insert into 表名(字段名1,字段名2,字段名3,…) v

2021-04-19 11:02:29 270

原创 Mysql数据库_第二天(DDL 语句)

多表链接

2021-04-15 14:00:10 100

原创 Mysql数据库_第一天(Mysql命令+DQL 语句)

Mysql运算符说明=等于<>或!=不等于<小于<=小于等于>大于>=大于等于between … and ….在…之间,应用于数值为闭区间,必须左小右大;应用于字符串为左闭右开。is null为空,null不是一个值,不能用等号衡量(is not null 不为空)and并且or或者in包含,相当于多个or(not in不在这个范围中)notnot可以取非,主要

2021-03-22 23:09:47 176

原创 Python数据分析笔记_第11天(pandas)

时间序列

2021-03-19 23:02:20 167

原创 Python数据分析笔记_第10天(pandas)

复合索引创建复合索引:df.groupby(by=[“列名1”,“列名2”]),此时复合索引为[“列名1”,“列名2”]df.set_index([‘列名1’,‘列名2’],drop=False),drop默认为Ture,即当指定列作索引时就从数据中删除该列import pandas as pdimport numpy as np# 自定义索引d1 = pd.DataFrame(np.arange(12).reshape((3, 4)), columns=list('wxyz'))

2021-03-16 22:39:13 141

原创 Python数据分析笔记_第9天(pandas)

文章目录数据合并join横向合并merge字段匹配数据分组数据合并join横向合并df1.join(df2),数据无匹配按行横向拼接。按df1的行索引,行索引相同的数据横向合并到一起,当df2匹配不到是则填充nan(df1与df2列索引名无重复)。import numpy as npimport pandas as pdd1 = pd.DataFrame(np.zeros((2, 5)), index=list('AB'), columns=list('cdefg'))d2 = pd.Dat

2021-03-16 22:16:25 141

原创 Python数据分析笔记_第8天(pandas)

字符串方法缺失数据处理缺失类型NaN(not a number)需要处理0,可能是缺失数据,也可能有意义,需要判断后处理处理步骤判断数据是否为NaN:pd.isnull(df),pd.notnull(df)确定NaN处理方式方法一:删除NaN所在的行列dropna()方法二:填充数据df.fillna(),可填充均值、中位数或0处理为0的数据df[df==0]=np.nan,可将0用nan替换。统计数据时,NaN不参与计算的,但是0会。...

2021-03-11 22:43:31 133

原创 Python数据分析笔记_第7天(pandas)

文章目录pandas的常用数据类型Series类型创建Series切片和索引DataFrame类型pandas读取外部数据创建DataFrame属性和方法索引pandas的常用数据类型一维:Series,带标签数组二维:DataFrame,Series容器Series类型创建Series方法一:pd.Series(li,index=)通过列表/可迭代对象创建,标签可以自定义,长度与列表相同;默认标签为索引0~∞。import pandas as pdt = pd.Series(

2021-03-09 22:39:49 101

原创 Python数据分析笔记_第6天(numpy)

numpy知识点numpy与matplotlib美国youtube1000的数据结合之前的matplotlib绘制出各自的评论数量的直方图import numpy as npfrom matplotlib import pyplot as pltimport matplotlibus_adress = './youtube_video_data/US_video_data_numbers.csv'us_csv = np.loadtxt(us_adress, delimiter=',',

2021-03-04 23:12:08 165 1

原创 Python数据分析笔记_第5天(numpy)

数组行列拼接与交换数据整合时会涉及到两表对应字段的拼接,此时就要先通过行列交换确保字段一致,再通过所需方向将数据进行拼接。行交换:ndarray[[1,2],:]=ndarray[[2,1],:]列交换:ndarray[:,[2,1]]=ndarray[:,[1,2]]竖直拼接:np.vstack((上数组,下数组))水平拼接:np.hstack((左数组,右数组))'''现在我希望把之前案例中两个国家的数据方法一起来研究分析,那么应该怎么做?'''import numpy as np

2021-03-04 23:08:41 130 1

原创 Python数据分析笔记_第4天(numpy)

数组的轴一维数组,只有一个0轴二维数组有0轴和1轴,0轴 表示行,1轴表示列三维数组有0,1,2轴,0轴表示块,1轴表示行,2轴表示列numpy读取数据np.loadtxt()fname:文件、字符串或压缩包dtype:元素数据类型(可选),默认np.floatdelimiter:分隔符,默认为空格skiprows:跳过前x行,一般用于跳过第一行表头usecols:读取指定列,传入参数为索引/元组unpack:当传入True,将数据的行列进行转至;默认为False'''

2021-03-02 22:47:44 173 1

原创 Python数据分析笔记_第3天(numpy)

numpy,处理数值型数据

2021-03-01 22:12:24 95 1

转载 python学习笔记_第35天(汉诺塔)

汉诺塔的移动规则有三根柱子A,B,C(分别作为开始柱,中转柱,目标柱)。开始柱上有若干盘子,每次移动一块盘子,小盘只能叠在大盘的上面实现将所有盘子从开始柱全部移动到目标柱上。汉诺塔的抽象理解当只有一个盘子时,即移动一步,开始柱->目标柱当有两个盘子时,需要使用中转柱,先将小盘从开始柱->中转柱,再将大盘从开始柱->目标柱,最后将小盘从中转柱->目标柱以此类推,当有n个盘子时可以将(n-1)个小盘视为一个整体,此时就简化成了只有两个盘子时的情况。即先将(n-1)个小

2021-03-01 18:04:04 232

原创 Python数据分析笔记_第2天(matplotlib_直方图)

matplotlib直方图直方图注意事项:组数:将数据分组,当数据在100以内,按数据多少常分5-12组组数=极差/组距=(max(a)-min(a))/组距组距:每个小组两个端点之间的距离只有未经统计的原始数据才能绘制直方图(使用hist方法)'''已有250部电影的时长,希望统计出这些电影时长的分布状态(比如时长为100分钟到120分钟电影的数量,出现的频率)等信息a=[131, 98, 125, 131, 124, 139, 131, 117, 128, 108, 135, 13

2021-02-28 22:39:44 172 1

原创 Python数据分析笔记_第2天(matplotlib_散点图+条形图)

常用统计图折线图:以折线的上升或下降来表示统计数量的增减变化的统计图。特点:能够显示数据的变化趋势,反映事物的变化情况。(变化)直方图:由一系列高度不等的纵向条纹或线段表示数据分布的情况。 一般用横轴表示数据范围,纵轴表示分布情况。特点:绘制连续性的数据,展示一组或者多组数据的分布状况(统计)条形图:排列在工作表的列或行中的数据可以绘制到条形图中。特点:绘制连离散的数据,能够一眼看出各个数据的大小,比较数据之间的差别。(统计)散点图:用两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间

2021-02-28 21:07:10 219

原创 Python数据分析笔记_第1天(matplotlib_折线图)

matplotlib绘图模块假设一天中每隔两个小时的气温(℃)分别是[15,13,14.5,17,20,25,26,26,27,22,18,15]from matplotlib import pyplot as pltx = range(2, 26, 2)y = [15, 13, 14.5, 17, 20, 25, 26, 26, 27, 22, 18, 15]plt.plot(x, y) # 模块绘折线图plt.show() # 展示图形matplotlib细节设置设置展示图片的

2021-02-27 21:37:07 328

原创 python学习笔记_第34天(二叉树)

文章目录二叉树二叉树的基本概念二叉树的性质(特性)二叉树的节点表示以及树的创建二叉树的遍历深度优先遍历练习广度优先遍历(层次遍历)二叉树二叉树的基本概念二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)二叉树的性质(特性)在二叉树的第i层上至多有2^(i-1)个结点(i>0)深度为k的二叉树至多有2^k - 1个结点(k>0)对于任意一棵二叉树,如果其叶结点数为N0,而度数为2的结点总数为N2,则

2021-02-25 22:40:41 97

原创 python学习笔记_第33天(树与树算法)

文章目录树与树算法树的概念树的术语树的种类树的存储与表示顺序存储链式存储常见的一些树的应用场景树与树算法树的概念树(英语:tree)是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:每个节点有零个或多个子节点;没有父节点的节点称为根节点;每一个非根节点有且只有一个父节点;除了根节点外,每

2021-02-24 22:29:14 87

原创 python学习笔记_第33天(二分法查找)

文章目录常见排序算法效率比较搜索二分法查找二分法查找实现时间复杂度常见排序算法效率比较搜索搜索是在一个项目集合中找到一个特定项目的算法过程。搜索通常的答案是真的或假的,因为该项目是否存在。 搜索的几种常见方法:顺序查找、二分法查找、二叉树查找、哈希查找二分法查找二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,

2021-02-24 20:53:23 102

原创 python学习笔记_第 32天(归并排序)

归并排序归并排序是采用分治法的一个非常典型的应用。归并排序的思想就是先递归分解数组,再合并数组。将数组分解最小之后,然后合并两个有序数组,基本思路是比较两个数组的最前面的数,谁小就先取谁,取了后相应的指针就往后移一位。然后再比较,直至一个数组为空,最后把另一个数组的剩余部分复制过来即可。归并排序的分析时间复杂度最优时间复杂度:O(nlogn)最坏时间复杂度:O(nlogn)稳定性:稳定...

2021-02-23 22:56:05 77

原创 python学习笔记_第31天(重点!快速排序)

文章目录希尔排序希尔排序过程希尔排序的分析时间复杂度归并排序归并排序的分析时间复杂度希尔排序希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因DL.Shell于1959年提出而得名。 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。希尔排序过程希尔排序的基本思想是:将数组列在一个表中并对列分别

2021-02-21 23:32:31 86

原创 python学习笔记_第30天(插入排序+重点!希尔排序)

文章目录插入排序插入排序分析时间复杂度快速排序快速排序的分析时间复杂度插入排序插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。插入排序分析时间复杂度最优时间复杂度:O(n) (升序排列,序列已经处于升序状态)最坏时间复杂度:O(n^2)稳定性:稳定快速排序快速排序(

2021-02-20 22:36:59 99

原创 python学习笔记_第30天(冒泡排序+选择排序)

文章目录排序与搜索排序算法的稳定性冒泡排序冒泡排序的分析时间复杂度选择排序选择排序分析时间复杂度排序与搜索排序算法(英语:Sorting algorithm)是一种能将一串数据依照特定顺序进行排列的一种算法。排序算法的稳定性稳定性:稳定排序算法会让原本有相等键值的纪录维持相对次序。也就是如果一个排序算法是稳定的,当有两个相等键值的纪录R和S,且在原本的列表中R出现在S之前,在排序过的列表中R也将会是在S之前。当相等的元素是无法分辨的,比如像是整数,稳定性并不是一个问题。然而,假设以下的数对将要

2021-02-20 20:20:49 111

原创 python学习笔记_第29天(栈+列队)

文章目录栈栈结构实现栈的操作栈操作具体实现队列队列的实现列队的操作列队操作具体实现双端队列双端列队的操作双端列队操作具体实现栈栈结构实现栈可以用顺序表实现,也可以用链表实现。栈的操作操作说明Stack()创建一个新的空栈push(item)添加一个新的元素item到栈顶pop()弹出栈顶元素peek()返回栈顶元素is_empty()判断栈是否为空size()返回栈的元素个数栈操作具体实现测试队列队列(queue)是

2021-02-19 23:15:35 115

原创 python学习笔记_第28天(线性表_链表2)

文章目录线性表链表双向链表双向链表的操作双向链表操作具体实现线性表链表双向链表前驱结点+数据+后继结点一种更复杂的链表是“双向链表”或“双面链表”。每个节点有两个链接:一个指向前一个节点,当此节点为第一个节点时,指向空值;而另一个指向下一个节点,当此节点为最后一个节点时,指向空值。双向链表的操作操作说明is_empty()链表是否为空length()链表长度travel()遍历链表add(item)链表头部添加append(item)链表

2021-02-18 23:17:55 73

原创 python学习笔记_第27天(线性表_链表1)

文章目录线性表链表线性表链表链表,将元素存放在通过链接构造起来的一系列存储块中。

2021-02-17 17:37:56 79 2

原创 python学习笔记_第26天(线性表_顺序表)

文章目录线性表顺序表顺序表的基本形式顺序表的结构与实现顺序表的结构顺序表的两种基本实现方式元素存储区扩充元素存储区替换顺序表的操作增加元素删除元素Python中的顺序表list的基本实现技术链表线性表数据类型决定了数据在计算机内存中的占用空间,和取数时计算机的读取规则(如连续的4个字节存储的是一个整数还是4个字符)。一个普通整形占4个字节,一个字节8位;一个字符占1个字节,即8位;地址占用4个字节。将一组数据元素作为整体管理和使用,最简单的解决方案便是将这样一组元素看成一个序列,用元素在序列里的位置和

2021-02-15 22:29:11 238 1

原创 python学习笔记_第26天(数据结构与算法)

文章目录常见时间复杂度Python内置类型性能分析list的操作测试数据结构算法与数据结构的区别抽象数据类型(Abstract Data Type)常见时间复杂度执行次数函数举例阶非正式术语12O(1)常数阶2n+3O(n)线性阶3n2+2n+1O(n2)平方阶5log2n+20O(logn)对数阶2n+3nlog2n+19O(nlogn)nlogn阶6n3+2n2+3n+4O(n3)立方阶2nO(2n)指数阶p

2021-02-15 18:41:13 166 1

原创 python学习笔记_第25天(数据结构与算法)

算法的引入练习:如果 a+b+c=1000,且 a ^2 +b ^2=c ^2(a,b,c 为自然数),如何求出所有a、b、c可能的组合?# 循环嵌套循环import timestart_time1 = time.time()for a in range(0, 1001): for b in range(0, 1001): for c in range(0, 1001): if a ** 2 + b ** 2 == c ** 2 and a +

2021-02-14 22:31:01 79 1

原创 python学习笔记_第24天(模块)

包package 的使用

2021-02-14 08:44:02 86 1

原创 python学习笔记_第23天(模块)

文章目录模块化(module)程序设计理念模块和包概念的进化史标准库模块+模块化编程模块化编程的流程模块化(module)程序设计理念模块和包概念的进化史“量变引起质变”本质上理解,随着数量的增加,管理方式会发生本质的变化;旧的管理方式完全不适合,必须采用新的管理方式。程序越来越复杂,语句多了,会将实现同一个功能的语句封装到函数中,统一管理和调用,于是函数诞生了。程序更加复杂,函数和变量多了,“物以类聚”将同一类型对象的“数据和行为”,也就是“变量和函数”,放到一起统一管理和调用,于是“类和对象

2021-02-09 23:35:50 128 1

原创 python学习笔记_第22天(文件操作--IO 技术)

shutil 模块(拷贝和压缩)shutil 模块是python 标准库中提供的,主要用来做文件和文件夹的拷贝、移动、删除等;还可以做文件和文件夹的压缩、解压缩操作。os 模块提供了对目录或文件的一般操作。shutil 模块作为补充,提供了移动、复制、压缩、解压等操作,这些os 模块都没有提供。shutil 模块 – 选择拷贝import shutil# copy 文件shutil.copyfile("a.txt", "a_copy.txt")# copy 目录,当拷贝的目录已存在时会报错(

2021-02-09 00:19:21 223 1

原创 python学习笔记_第21天(文件操作--IO 技术)

使用pickle 序列化Python 中,一切皆对象,对象本质上就是一个“存储数据的内存块”。有时候,我们需要将“内存块的数据”保存到硬盘上,或者通过网络传输到其他的计算机上。这时候,就需要“对象的序列化和反序列化”。序列化指的是:将对象转化成“串行化”数据形式,存储到硬盘或通过网络传输到其他地方。反序列化是指相反的过程,将读取到的“串行化数据”转化成对象。pickle.dump(obj, file) # obj 就是要被序列化的对象,file 指的是存储的文件pickle.load(file)

2021-02-06 22:46:47 1004 2

空空如也

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

TA关注的人

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