- 博客(14)
- 收藏
- 关注
原创 Python的堆与优先队列
Python的堆与优先队列堆与优先队列堆(英语:Heap)是计算机科学中的一种特别的树状数据结构。堆有如下特点:给定堆中任意节点P和C,若P是C的母节点,那么P的值会小于等于(或大于等于)C的值”。按照母节点与子结点的大小关系,堆又可以分为以下两种:若母节点的值恒小于等于子节点的值,此堆称为最小堆(min heap);反之,若母节点的值恒大于等于子节点的值,此堆称为最大堆(max heap)。在堆中最顶端的那一个节点,称作根节点(root node),根节点本身没有母节点(parent node)。
2020-07-13 18:16:50 597
原创 数据结构与算法碎碎念(2)——递归常见运用
数据结构与算法碎碎念(2)——递归常见运用递归是算法一个十分经典的话题,递归的本质是函数调用其自身。递归是把大规模的问题不断变小,再进行推导的过程特点:可以使一个看似复杂的问题变得简洁和易于理解下面我们通过几道题目来理解递归是如何实现的以及有哪些变化运用。使用递归以相反序打印字符串该题目比较简单,首先递归最重要的就是确定递归终止条件,在这里如果我们的字符串只剩一个,那么直接输出即可,即终止条件是:if len(s) < = 1。否则我们需要减小字符串的长度,具体实现如下:In [1]
2020-06-19 18:17:11 375 1
原创 Python碎碎念(2)——利用Python实现产生无重复随机数字
利用Python实现产生无重复随机数字今天在和朋友聊天时朋友提出了上面这个问题:如何利用Python产生一串无重复的随机数字,注意所产生的数字必须是无重复且随机的。我们知道产生随机数,Python有一个模块是random,只需要import random然后调用其方法就可以了,但是如何做到无重复呢?下面是我们总结的几种可行的方法,其中最后一种方法的做法十分巧妙,建议读者思考和理解。实现random的sample函数在random模块中,直接调用sample函数即可解决问题,该方法的参数如下ran
2020-06-19 00:56:38 2141 1
原创 数据结构与算法碎碎念(1)——二分查找运用
前言今天在参加Leetcode第193场周赛的时候发现其第三题的解题思路十分有趣,下面分享给大家。题目描述难度:中等给你一个整数数组 bloomDay,以及两个整数 m 和 k 。现需要制作 m 束花。制作花束时,需要使用花园中相邻的 k 朵花。花园中有 n 朵花,第 i 朵花会在 bloomDay[i] 时盛开,恰好 可以用于 一束 花中。请你返回从花园中摘 m 束花需要等待的最少的天数。如果不能摘到 m 束花则返回 -1 。示例 1:输入:bloomDay = [1,10,3,10,2
2020-06-15 00:12:43 287 2
原创 Python碎碎念(1)——两大特性和四大基本语法
两大特性和四大基本语法Python语言越来越受欢迎,它有许许多多的应用场景,不仅可以做GUI开发、Web开发,还可进行数据预处理、数据分析等,随着数据科学热潮的掀起,Python更是进行数据挖掘、机器学习、深度学习、人工智能等的首选语言。Python之所以这么受欢迎,其一是得益于它语言语法简单,所以进行开发的效率得到了提高,缩短了工作人员的开发时间;其二是Python是一门免费、开源语言,Python社区有许许多多的代码贡献者,使得其第三方包种类繁多、涵盖不同应用场景的功能所需。从今天起,我们将一起就
2020-06-14 22:20:38 275
原创 基于Python的k均值聚类不同规格的商品名
基于Python的k均值聚类不同规格的商品名前言聚类的目标是使得同一簇内的点之间的距离较短,而不同簇中点之间的距离较大。以此来区分不同的群体。本篇讲述使用k均值算法对超市购物记录集中的商品名称进行聚类,实现同一类商品,不同规格汇聚成一个大类的要求。原理分析及流程聚类介绍聚类的目标是使得同一簇内的点之间的距离较短,而不同簇中点之间的距离较大。以此来区分不同的群体。两种主要的聚类方法是:层次法和点分配法。1.层次法将每个点都看成簇,簇与簇之间按照接近度(closeness)来组合,当达到预先给
2020-06-01 10:56:49 1441
原创 基于Python的A-Priori算法发现购物篮关联规则
基于Python的A-Priori算法发现购物篮关联规则前言一个生动的例子介绍购物篮模型——啤酒与尿布的故事有10000个消费者购买了商品,其中购买尿布1000个,购买啤酒2000个,购买面包500个,同时购买尿布和啤酒800个,同时购买尿布和面包100个,我们发现同时购买啤酒与尿布的消费者比较多,一个可能的猜测是年轻的爸爸们在为孩子购买尿布时顺便买了啤酒。基于上述发现,可以给我们的商品上架或者划分消费人群等提供参考。本篇给定超市购物记录集sales_detail.csv,提取其中的交易标识符和
2020-05-29 17:38:19 3377 6
原创 基于Python利用“抽税”法计算网页的PageRank排名
基于Python利用“抽税”法计算网页的PageRank排名前言搜索引擎的根本用途在于根据用户的查询,快速而准确地从网络的海洋中找到用户最需要的网页。这是针对网页的一类特殊的信息检索过程。它主要有以下两个特点:搜索的数据量相当大搜索的数据之间质量参差不齐因此,基本的解决思路是根据查询,对这些网页进行排序,按照对用户搜索目的的判断,将最符合用户需求的网页依次排在最前面。也就是说,搜索引擎要解决的最主要问题是对网页排序模型的设计。这就引出了一个问题:如何对互联网上“成万上亿”的网页进行排序?一
2020-05-23 10:38:57 1382
原创 基于Python的Minhash文本相似项发现
基于Python的Minhash算法介绍及应用前言本篇采用Minhash技术,对两个文本数据集Amazon News和Google Report,在Google Report数据集中寻找到Amazon News每条记录的最高Jaccard相似度的记录,给出Amazon News数据集中每条记录在Google Report数据集中相似度最高的记录,作为匹配结果输出。附件:amazon-titles.txt 和 google-names.txt已放置于git原理分析及流程Jaccard相似度定义
2020-05-17 20:05:02 1780 4
原创 Python的继承与多继承小讲
Python的继承与多继承小讲参考自《Python3面向对象编程》[加]Dusty Phillips 著基本继承定义一个Contact类class Contact: all_contacts = [] def __init__(self, name, email): self.name = name self.email = email ...
2020-04-27 11:43:06 410
原创 基于Python的Kmeans聚类分析介绍及实践
基于Python的Kmeans聚类分析介绍及实践 这是一篇学习的总结笔记 参考自《从零开始学数据分析与挖掘》 [中]刘顺祥 著 完整代码及实践所用数据集等资料放置于:Github聚类算法是依据已知的数据集,将高度相似的样本集中到各自的簇中。例如,借助于电商平台用户的历史交易数据,将用户划分为不同的价值等级(如VIP、高价值、潜在价值、低价值等);依据经度、纬度、交通状况、人流量等数据将...
2020-04-25 22:02:37 5289
原创 基于Python的岭回归与LASSO回归模型介绍及实践
基于Python的岭回归与LASSO回归模型介绍及实践 这是一篇学习的总结笔记 参考自《从零开始学数据分析与挖掘》 [中]刘顺祥 著 完整代码及实践所用数据集等资料放置于:Github岭回归与LASSO回归模型是线性回归模型的延申,在多元线性回归模型中我们知道,回归模型的参数估计公式推导的结果是:β=(X′X)−1X′y\beta=(X'X)^{-1}X'yβ=(X′X)−1X′y,可...
2020-04-20 17:54:44 6977 2
原创 基于Python的线性回归预测模型介绍及实践
基于Python的线性回归预测模型实践参考自《从零开始学数据分析与挖掘》 [中]刘顺祥 著线性回归预测模型属于经典的统计学模型,该模型的应用场景是根据已知的变量(即自变量)来预测某个连续的数值变量(因变量)。例如,餐厅根据每天的营业数据(菜谱价格、就餐人数等等)来预测就餐规模或者营业额;网站根据访问的历史数据(包括新用户的注册量、老用户的活跃度等等)来预测用户的支付转化率;医院根据患者的病历数...
2020-04-10 23:23:33 7355 3
原创 数据结构与算法碎碎念之运用递归处理问题
运用递归处理问题递归的基本性质:函数调用其本身递归是把大规模的问题不断变小,再进行推导的过程特点:可以使一个看似复杂的问题变得简洁和易于理解运用递归算法的例子一个递归算法的经典案例——汉诺塔问题汉诺塔(又称:河内塔)是根据一个传说形成的数学问题:有三根杆子A,B,C。A杆上有 N 个 (N>1) 穿孔圆盘,盘的尺寸由下到上依次变小。要求按下列规> > 则将所有...
2020-04-02 23:07:43 500 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人