目录:一、算法思路二、算法实现三、算法实现过程中遇到的问题四、算法运行结果一、算法思路DBSCAN算法的核心是“延伸”。先找到一个未访问的点p,若该点是核心点,则创建一个新的簇C,将其邻域中的点放入该簇,并遍历其邻域中的点,若其邻域中有点q为核心点,则将q的邻域内的点也划入簇C,直到C不再扩展。直到最后所有的点都标记为已访问。点p通过密度可达来扩大自己的“地盘”,实际上就是簇在“延伸”。图示网站:https://www.naftaliharris.com/
系统 2019-09-27 17:51:24 2062
需要安装pywin32模块,pipinstallpywin32##pipinstallpywin32importwin32api,win32con##提醒OK消息框win32api.MessageBox(0,"这是一个测试提醒OK消息框","提醒",win32con.MB_OK)##是否信息框win32api.MessageBox(0,"这是一个测试是否信息框","提醒",win32con.MB_YESNO)##说明信息框win32api.MessageB
系统 2019-09-27 17:48:54 2062
阅读更多图像识别、文字识别,这些都是现在比较火的东西,现在大部分的AI都有在做这些东西,那我们就过来了解一下吧!只需要四行代码,完成从图片中读取图片中的文字!准备工作:我们需要两个安装包,先来安装一下:pipinstallpillowpipinstallpytesseract安装完之后,我们需要下载Tesseract-OCR这个软件,这里我已经将东西都打包好了放在百度云中,大家可以直接下载:链接:https://pan.baidu.com/s/1osNf9
系统 2019-09-27 17:48:24 2062
分析我们都知道一个可迭代对象可以通过iter()可以返回一个迭代器。如果想要一个对象称为可迭代对象,即可以使用for,那么必须实现__iter__()方法。在一个类的实例对象想要变成迭代器,就必须实现__iter__()和__next__()方法。调用iter()时,在对象内部默认调用__iter__(),即__iter__()的返回值应该是一个迭代器。for的每次循环中或者next()时,都是自动调用迭代器的__next__()方法,并有一个返回值。实现
系统 2019-09-27 17:46:55 2062
常用时间转换及处理函数:importdatetime#获取当前时间d1=datetime.datetime.now()printd1#当前时间加上半小时d2=d1+datetime.timedelta(hours=0.5)printd2#格式化字符串输出d3=d2.strftime('%Y-%m-%d%H:%M:%S')printd3#将字符串转化为时间类型d4=datetime.datetime.strptime(date,'%Y-%m-%d%H:%M:
系统 2019-09-27 17:46:46 2062
Python3实现随机数random是用于生成随机数的,我们可以利用它随机生成数字或者选择字符串。random.seed(x)改变随机数生成器的种子seed。一般不必特别去设定seed,Python会自动选择seed。random.random()用于生成一个随机浮点数n,0<=n<1random.uniform(a,b)用于生成一个指定范围内的随机浮点数,生成的随机整数a<=n<=b;random.randint(a,b)用于生成一个指定范围内的整数,a
系统 2019-09-27 17:37:55 2062
概述日期和时间的相互转换可以利用Python内置模块time和datetime完成,且有多种方法供我们选择,当然转换时我们可以直接利用当前时间或指定的字符串格式的时间格式。获取当前时间转换我们可以利用内置模块datetime获取当前时间,然后将其转换为对应的时间戳。importdatetimeimporttime#获取当前时间dtime=datetime.datetime.now()un_time=time.mktime(dtime.timetuple()
系统 2019-09-27 17:57:40 2061
在介绍岭回归算法与Lasso回归算法之前,先要回顾一下线性回归算法。根据线性回归模型的参数估计公式可知可知,得到的前提是矩阵可逆。换句话说就是样本各个特征(自变量)之间线性无关。然而在实际问题中,常常会出现特征之间出现多重共线性的情况,使得行列式的值接近于0,最终造成回归系数无解或者无意义。为了解决这个问题,岭回归算法的方法是在线性回归模型的目标函数之上添加一个l2的正则项,进而使得模型的回归系数有解。具体的岭回归目标函数可表示为如下:在Python中,岭
系统 2019-09-27 17:57:10 2061
在正则中,使用.*可以匹配所有字符,其中.代表除\n外的任意字符,*代表0-无穷个,比如说要分别匹配某个目录下的子目录:>>>importre>>>match=re.match(r"/(.*)/(.*)/(.*)/","/usr/local/bin/")>>>match.groups()('usr','local','bin')>>>比如像上面,使用(.*)就能很好的匹配,但如果字符串中里面即有TAB键,又有空格,要匹配出来,如何匹配呢?比如说像"Hell
系统 2019-09-27 17:56:22 2061
正则表达式有两种基本的操作,分别是匹配和替换。匹配就是在一个文本字符串中搜索匹配一特殊表达式;替换就是在一个字符串中查找并替换匹配一特殊表达式的字符串。1.基本元素正则表达式定义了一系列的特殊字符元素以执行匹配动作。正则表达式基本字符字符描述text匹配text字符串.匹配除换行符之外的任意一个单个字符^匹配一个字符串的开头$匹配一个字符串的末尾在正则表达式中,我们还可用匹配限定符来约束匹配的次数。匹配限定符最大匹配最小匹配描述**重复匹配前表达式零次或多
系统 2019-09-27 17:55:12 2061
因资源所限,《自学python》系列所有的学习和实践将在win10环境下进行,敬请谅解。[安装python]方法一:官网安装python程序1)官网下载python程序:https://www.python.org/下载python3.x,记住python3是未来。这里我下载的是windows版本,你也可以根据自己的需求下载linux或者macOS版本。2)安装python双击下载的exe程序,打开如下界面,可以默认安装路径也可以自定义(customize
系统 2019-09-27 17:49:47 2061
一、简介py2exe已经被用于创建wxPython,Tkinter,Pmw,PyGTK,pygame,win32comclient和server,和其它的独立程序。py2exe是发布在开源许可证下的。二、安装py2exe从http://prdownloads.sourceforge.net/py2exe下载并运行与你所安装的Python对应的py2exe版本的installer,这将安装py2exe和相应的例子;这些例子被安装在lib\site-packa
系统 2019-09-27 17:48:28 2061
最近,想在我的YouMoney(http://code.google.com/p/youmoney/)里面增加提取用户操作系统版本信息。比如windows用户,可能要返回WindowsXP,或者Windows2003,苹果用户应该返回MacOSX10.5.8。用了很多办法,包括在mac系统里调用系统命令,取环境变量,等等。最后无意发现,原来python里里面有个platform模块就可以干这件事情。省事啊!mac上这么干复制代码代码如下:localhost
系统 2019-09-27 17:38:43 2061
获得当前机器的名字:复制代码代码如下:defhostname():sys=os.nameifsys=='nt':hostname=os.getenv('computername')returnhostnameelifsys=='posix':host=os.popen('echo$HOSTNAME')try:hostname=host.read()returnhostnamefinally:host.close()else:return'Unkwonhos
系统 2019-09-27 17:38:03 2061
详解PythonMD5加密Python3下MD5加密#由于MD5模块在python3中被移除#在python3中使用hashlib模块进行md5操作importhashlib#待加密信息str='thisisamd5test.'#创建md5对象hl=hashlib.md5()#Tips#此处必须声明encode#若写法为hl.update(str)报错为:Unicode-objectsmustbeencodedbeforehashinghl.update(
系统 2019-09-27 17:37:44 2061