自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 数据分析总结_导航页

导入数据Excel导入数据Python导入数据数据清洗

2020-07-08 14:09:04 117

原创 Python 单例模式

文章目录1. 单例是啥玩意?2. 实现单例2.1. 修改__new__方法(最常用)1. 单例是啥玩意?单例模式(Singleton Pattern), 也叫单态模式, 是一种常见的软件设计模式作用: 保证某一个类只有一个实例存在, 多次创建对象, 同时指向一个对象2. 实现单例2.1. 修改__new__方法(最常用)都知道__new__方法和__init__方法合在一起称为构造方法而__new__方法的作用就是创建对象, __init__方法用来做初始化那么修改__new__方法,

2020-07-14 17:36:16 165

原创 解决pycharm 中文报错问题

文章目录1. 错误展示2. 解决办法1. 错误展示这个错误就很奇怪, 有时可以执行而有时又会报错, 即使是重启Pycharm也无法解决s = '中文'print(s)错误信息:File "F:/PyCharmProjects/Demo/demo.py", line 27SyntaxError: Non-UTF-8 code starting with '\xc8' in file F:/PyCharmProjects/Demo/demo.py on line 27, but no enco

2020-07-14 14:07:51 4320

原创 Python 注释小结

文章目录1. 注释是啥:2. Python中的注释2.1 单行注释2.2. 多行注释?为什么在标题上要加问号多行注释的意义何在1. 注释是啥:注释是对代码的解释和说明, 目的是为了阅读者更容易理解代码的逻辑2. Python中的注释2.1 单行注释单行注释是最传统的注释, 也是各语言都具备的功能在Python中的单行注释使用’#'开头, 后面跟代码的解释或说明# 这是一行注释!!关键点: 单行注释不会被执行2.2. 多行注释?为什么在标题上要加问号普遍认为三个引号对括起来的可换行的字

2020-07-14 11:10:43 372

原创 Python bisect模块的使用与源码分析

文章目录1. 模块简介2. 源码分析及使用2.1. 方法概述2.2. 使用2.3. 源码分析本文基于Python3.7分析1. 模块简介bisect模块属于Python内置模块内部核心算法是二分法用于操作的列表必须是升序的(空列表也可以)功能: 在保证原有顺序的情况下, 插入一个元素(或返回元素如果插入的下标值),不影响原有顺序2. 源码分析及使用2.1. 方法概述bisect提供了六个方法:查找: 返回元素按照顺序应该插入的位置, 但不会修改原列表方法解释

2020-07-11 14:48:13 459

原创 Python 单链表逆序(反转)

文章目录1. 链表节点类2. 创建链表(附赠)3. 反转1_头插4. 反转21. 链表节点类class LinkListNode(object): def __init__(self, val, next=None): self.val = val self.next = next2. 创建链表(附赠)def CreateLinkList(l): """ l: list, 节点值列表 """ head = LinkListNode(0) h = head for i in

2020-07-10 21:28:24 620

原创 Python 数据清洗

文章目录1. 查看数据1.1. 数据抽样1.2. 数据形状1.3. 数据整体情况2. 缺失值处理2.1. 统计缺失值判断缺失统计缺失2.2. 删除缺失值删除方法按行删除按列删除2.3. 填补缺失值填补方法固定值填补上下值填补3. 数据类型处理修改数据类型格式正确基于第三方库Numpy及Pandas 进行数据清洗1. 查看数据查看数据数据抽样整体概况字段解读数据形状判断数据规模1.1. 数据抽样查看前n条数据 : data.head(n) 默认前5条查看后n条数据: data.tail(n) 默

2020-07-09 17:23:27 855

原创 Python Pymysql模块基本使用

文章目录1. 安装2. 流程图示:3. 导入与连接4. 游标对象4.1. 查询4.2. 添加、修改、删除4.3. 关闭对象5. 防止SQL注入1. 安装使用pip工具安装window下: cmd -> pip install pymysqllinux下: Terminal -> sudo pip3 install pymysql2. 流程图示:导入模块连接对象游标对象查询获取数据增, 删, 改提交3. 导入与连接import pymysql# 创建Mysql数据库连接co

2020-07-08 19:21:07 384

原创 使用Python获取数据

文章目录1. Python 导入数据2. 导入文本文件3. 导入Excel文件1. Python 导入数据使用Pandas库中的DataFrame类型存放导入的数据2. 导入文本文件使用pandas.read_csv()方法import pandas as pddata = pd.read_csv()""" 常用参数解读: filepath_or_buffer: str, 文件路径 sep: str, 分隔符, 默认"," header: int, 行索引, 默认从0开始, 自增

2020-07-08 12:20:00 500

原创 使用Excel获取数据

文章目录1. 获取文本文件数据1.1. 新版导入1.2. 旧版导入使用Excel 专业增强版20191. 获取文本文件数据1.1. 新版导入数据 -> 获取数据 -> 自文件 -> 从文本/CSV设置文件原始编码、分隔符、以及数据类型自动生成新版导入数据后, 会自动添加到数据模型中1.2. 旧版导入设置旧版导入:文件 -> 选项 -> 数据在窗口下方位置, 多个复选框, 选择需要的添加选择完成后, 在导入数据中, 会出现传统向导选项, 内部即为上一步

2020-07-08 11:06:16 2308

原创 Python 线程安全

文章目录1. 什么是线程安全2. Python中的线程安全1. 什么是线程安全如果多个线程访问对象时, 不考虑任何关于线程的调度和交替执行, 主线程也不需要额外添加同步, 或者进行其它协调操作时, 线程执行的结果都是正确的, 那么这个对象即为线程安全2. Python中的线程安全...

2020-07-08 09:20:07 655

原创 Pyhton =、浅拷贝以及深拷贝

文章目录1. =操作2. 浅拷贝3. 深拷贝三种操作不同只体现在不可变类型的修改上1. =操作两指针指向同一块内存地址, 一个改变都会改变l1 = [1, 2, 3]l2 = l1print(l1, l2)# [1, 2, 3] [1, 2, 3]l2[0] = 4print(l1, l2)# [4, 2, 3] [4, 2, 3]l2.append(4)print(l1, l2)# [1, 2, 3, 4] [1, 2, 3, 4]2. 浅拷贝使用内置模块 copy.

2020-07-07 19:17:57 93

原创 Python ==(!=) 和is(is not)的区别

文章目录1. ==(!=)2. is(is not)1. ==(!=)判断两个对象的值是否相等, 不考虑内存地址问题s1 = 'abc's2 = 'abc's3 = 'abd's4 = s1 + s2s5 = s1 + s2print('---地址相同, 值相同---')print(id(s1), id(s2))print(s1 == s2) # Trueprint('---地址不同, 值不同---')print(id(s1), id(s2))print(s1 == s3) #

2020-07-07 18:12:57 681

原创 Python 多线程为何要加锁

文章目录1. 全局解释器锁(GIL)2. 为何多线程访问内存要加锁1. 全局解释器锁(GIL)CPython解释器在内存管理上不是线程安全的, 所以创建出了一个GIL锁机制, 阻止多线程并行GIL锁只存在于CPython中, 对于JPython等就没有这个概念, 但由于JPython用的人比较少, 所以支持的模块也比较少, 最常用的还是CPython2. 为何多线程访问内存要加锁由于存在GIL锁, 所以多线程应该是串行的, 但是为什么访问内存还需要加锁呢?CPython解释器为了模拟并发执

2020-07-07 17:26:16 1257

原创 机器学习算法性能审核

切分数据集原理将数据集切分两部分,一部分用来作为训练模型,另一部分用来测试模型代码from sklearn.model_selection import train_test_splitX_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.3, random_state=0)'''参数:X : 数据Y: 标签test_size: 测试集占数据集的百分比,小数random_state: 随机数种子''

2020-05-08 18:22:07 406

原创 优化算法之梯度下降(批量梯度下降,随机梯度下降,小批量梯度下降)

梯度下降简介梯度下降是一种常见的优化算法,非常通用,能够为大范围的问题找到最优解中心思想: 迭代的调整参数从而使成本函数最小课本话解释:设置一个随机的θ值(这个过程称为初始化),然后逐步改进,每次踏出一步,每一步都尝试降低一点成本函数(例如MSE),知道算法收敛出一个最小值大白话解释:假设一人去爬山,山上起雾,只能感受到地面坡度,那么下山最快的办法就是一直走坡度最陡的方向(当然这是正...

2020-05-08 14:54:32 1069

原创 RFM模型简述

RFM模型的作用:· 判别客户的价值,针对性做出营销手段RFM模型的特点· 简单性,只需要四个字段,客户名称、消费时间、消费金额和消费频率· 客观性,利用数学尺度,简单且明确的描述客户价值· 直观,解释性极高RFM组成· R: 最近至今的消费时间间隔(Recency, 间度)· F: 最近消费次数(Frequency, 频度)· M:最近消费总金额(Monetory, 额度)...

2020-05-07 19:21:37 5120

原创 Python_机器学习_集成算法_Boosting_提升树

2019-11-06 15:53:56 287

原创 Python_机器学习_集成算法_Bagging_随机森林

2019-11-06 15:52:21 301

原创 Pthon_机器学习_线性回归算法

算法简介回归是一种应用广泛的预测建模技术,这种技术的核心在于预测的结果是连续型变量回归算法源于统计学理论,它可能是机器学习算法中最早的算法之一,在现实中的应用非常广泛只要基于特征预测连续型变量的,一般都使用回归技术本次只针对于线性回归算法原理简单的原理就是:已知y和x,求y与x之间的关系第一步:构造一个线性函数,对这个数据集进行拟合: 一元线性: y(x) = w0 + w1...

2019-11-06 15:50:31 242

原创 Python_机器学习_贝叶斯原理与朴素贝叶斯

简介朴素贝叶斯(Naive Bayers) 是一种概率统计的分类方法,朴素贝叶斯是在条件独立假设的基础上,使用贝叶斯定理构建的算法朴素贝叶斯在文本处理领域有广泛的运用,如文本分类、垃圾邮件分类、信用评估和钓鱼网站检测等领域算法原理联合概率:两个事件同时发生的概率,事件A,事件B,表示为:P(AB)两个事件同时发生的概率,事件A,事件B,表示为:\\{}\\P(AB)两个事件同时发生的概率,事件A,事件B,表示为:P(AB)条件概率:当一个事件A已经发生的时候,另一个事件B发生的概率

2019-11-05 19:58:39 183

原创 Python_机器学习_决策树算法

算法原理决策树是一个类似于流程图的树结构,分支节点表示对一个特征进行测试,根据测试结果进行分类,叶节点代表类别决策树的构造过程实际上就是针对于原有数据集,选取一定的属性测试条件,对原数据集进行不断切分的过程一旦构造完决策树,那么对于检验记录进行分类就很容易了,因为决策树本身生成的就是一系列规则,因此决策树是生成模型的算法原则上讲,数据集中的所有特征都可以用来分枝,特征上的任意节点又可以...

2019-11-05 19:57:38 135 1

原创 Python_机器学习_KNN分类算法

算法原理:      KNN算法也叫作k近邻算法,本质是通过距离判断两个样本是否相似,如果距离足够近就认为它们足够相似,属于同一类别.      但是只对比一个样本是不够的,所以我们需要设定k值,也就是选择k个样本,并将这k个样本称为近邻(nearest neighbor...

2019-11-05 19:56:36 348

原创 Python_机器学习_KMeans聚类算法

算法基础K- Means是迭代动态聚类算法中的一种,其中K表示类别数,Means表示均值,属于无监督学习算法.K-Means算法的步骤:    第一步:确定一个超参数K,就是将样本聚集为几类    第二步:在所有样本中随机选择k个点,作为中心    第三步:依次计算...

2019-11-04 21:26:19 455

原创 Python基础框架总结

123

2019-10-17 19:05:44 247

原创 Python数据可视化 - Matplotlib库

导包import numpy as npimport pandas as pdimport matplotlib.pyplot as plt页面内画图%matplotlib inline查看有什么风格plt.style.available设置风格plt.style.use(“风格”)中文字体plt.rcParams[‘font.sans-serif...

2019-10-16 19:11:06 111

原创 python数据清洗 -pandas库

123

2019-10-15 21:05:14 614

原创 python数据清洗 - Numpy库

1231

2019-10-15 20:29:45 627

原创 LeetCode 948.令牌放置—C语言版

你的初始能量为 P,初始分数为 0,只有一包令牌。令牌的值为 token[i],每个令牌最多只能使用一次,可能的两种使用方法如下:如果你至少有 token[i] 点能量,可以将令牌置为正面朝上,失去 token[i] 点能量,并得到 1 分。如果我们至少有 1 分,可以将令牌置为反面朝上,获得 token[i] 点能量,并失去 1 分。在使用任意数量的令牌后,返回我们可以得到的最大分数。...

2019-07-06 09:00:46 388

原创 LeetCode 870.优势洗牌 C语言版

给定两个大小相等的数组 A 和 B,A 相对于 B 的优势可以用满足 A[i] > B[i] 的索引 i 的数目来描述。返回 A 的任意排列,使其相对于 B 的优势最大化。示例 1:输入:A = [2,7,11,15], B = [1,10,4,11]输出:[2,11,7,15]示例 2:输入:A = [12,24,8,32], B = [13,25,32,11]输出:[24...

2019-06-29 20:39:03 461

原创 LeetCode 1090.受标签影响的最大值(C语言版)

我们有一个项的集合,其中第 i 项的值为 values[i],标签为 labels[i]。我们从这些项中选出一个子集 S,这样一来:|S| <= num_wanted对于任意的标签 L,子集 S 中标签为 L 的项的数目总满足 <= use_limit。返回子集 S 的最大可能的 和。示例 1:输入:values = [5,4,3,2,1], labels = [1,1,2...

2019-06-29 19:51:16 298

原创 C语言基础框架总结

一、数据类型1.基本数据类型:①字符型:char 字节数:1②整型:1)短整型 short 字节数2 bit2)整型 int 字节数4 bit3)长整型 long 字节数8 bit4)双长整型 long long 字节数8 bit③浮点型:1)单精度浮点型 float 字节数 4 bit2)双精度浮点型 double 字节数 8 bit2.空类型:v...

2019-06-28 20:20:03 2402

空空如也

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

TA关注的人

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