一、概论C4.5主要是在ID3的基础上改进,ID3选择(属性)树节点是选择信息增益值最大的属性作为节点。而C4.5引入了新概念“信息增益率”,C4.5是选择信息增益率最大的属性作为树节点。二、信息增益以上公式是求信息增益率(ID3的知识点)三、信息增益率信息增益率是在求出信息增益值在除以。例如下面公式为求属性为“outlook”的值:四、C4.5的完整代码fromnumpyimport*fromscipyimport*frommathimportlogim
系统 2019-09-27 17:54:47 2205
本文实例讲述了python3.6中@property装饰器的使用方法。分享给大家供大家参考,具体如下:1、@property装饰器的使用场景简单记录如下:负责把一个方法变成属性调用;可以把一个getter方法变成属性,@property本身又创建了另一个装饰器@score.setter,负责把一个setter方法变成属性赋值;只定义getter方法,不定义setter方法就是一个只读属性2、通过一个例子来加深对@property装饰器的理解:利用@prop
系统 2019-09-27 17:54:23 2205
原文链接:https://kuanghy.github.io/2016/04/20/python-cache缓存是一种将定量数据加以保存以备迎合后续请求的处理方式,旨在加快数据的检索速度。在Python的3.2版本中,引入了一个非常优雅的缓存机器,即functool模块中的lru_cache装饰器。lru_cache原型如下:@functools.lru_cache(maxsize=None,typed=False)使用functools模块的lur_ca
系统 2019-09-27 17:53:45 2205
Python中for循环和while循环本质上是没有区别的,但是在实际应用上,针对性不太一样。while循环适用于未知循环次数的循环,for循环适用于已知循环次数的循环。for主要应用在遍历中,比如:foriinrange(10):print(i)打印结果为:0123456789list1=[1,2,"a”]foriinlist1:print(i)#打印结果为逐步列表list1中的元素:12a而while循环很少进行遍历使用(语句过多,没有for方便),w
系统 2019-09-27 17:53:36 2205
如果有了解过python中的列表和元组,你可能会知道相对于列表,元组是不可变的,也就是说元组中的数据不能随意更改。除了列表是用中括号表示而元组是用小括号表示之外,这两种数据类型好像并没有什么不同,都是用来存放一系列的数据,事实真是如此吗?a=[1,3,5,7,'a']b=(1,3,5,7,'b')#现在改变b中的值b[2]=4TypeErrorTraceback(mostrecentcalllast)in()45#现在改变b中数据的值---->6b[2]=
系统 2019-09-27 17:52:59 2205
最近公司一个项目需要用到IAP升级,要求将APP的版本号在hex文件添加,于是尝试用python写一个脚本,运行之后可以自动增加版本号,并且日期都是当天的importreimporttime#获取日期的数据及校验和year=int(time.strftime("%y",time.localtime()))month=int(time.strftime("%m",time.localtime()))date=int(time.strftime("%d",ti
系统 2019-09-27 17:52:41 2205
一、前言大多数编译型语言,变量在使用前必须先声明,其中C语言更加苛刻:变量声明必须位于代码块最开始,且在任何其他语句之前。其他语言,想C++和java,允许“随时随地”声明变量,比如,变量声明可以在代码块的中间,不过仍然必须在变量被使用前声明变量的名字和类型。在Python中,无序此类显式变量声明语句,变量在第一次被赋值时自动声明。和其他大多数语言一样,变量只有被创建和赋值后才能被使用。#变量未声明>>>xTraceback(mostrecentcalll
系统 2019-09-27 17:52:14 2205
#-*-coding:utf-8-*-importwin32apiimportwin32gui,win32uiimporttimewhileTrue:time.sleep(1)#等待一秒ci=win32gui.GetCursorInfo()#获取光标信息print'包含光标类型,句柄,坐标'+str(ci)#包含光标类型,句柄,坐标print'GetCursor获取的句柄'+str(win32gui.GetCursor())#win32gui.GetCur
系统 2019-09-27 17:52:03 2205
本文实例讲述了python常用函数与用法。分享给大家供大家参考,具体如下:自定义函数实例#定义一个函数defprintme(str):"打印任何传入的字符串"printstr;return;#使用这个函数printme("chtml.cn");运行结果:chtml.cn删除一个文件函数实例defdellFile(pathFile):importosfilename=pathFileifos.path.exist(filename):os.remove(fi
系统 2019-09-27 17:50:46 2205
本人最近在研究机器学习方面的知识,要运用unet来实现医学图像分割,本文是为了实现unet代码而做的前期准备工作,综合网上的经验与自身的实践最终选择了keras+tensorflow-gpu来跑unet代码,下面是我安装tensoflow-gpu的整个过程,记录下来方便以后查阅。目录1.安装anaconda2.创建虚拟环境并安装python3.63.安装tensorflow-gpu3.1安装前奏——CUDA和cuDNN3.1.1下载CUDA3.1.2cuD
系统 2019-09-27 17:49:51 2205
test_list=[{'data':1,'no':301},{'data':2,'no':401},{'data':4,'no':201},{'data':6,'no':101},{'data':5,'no':303}]new_list=list(test_list)#print(new_list)formatchintest_list:ifmatch['no']>300:match['no']='BF'else:match['no']='BR'#pri
系统 2019-09-27 17:49:17 2205
Python使用QRCode模块生成二维码QRCode官网https://pypi.python.org/pypi/qrcode/5.1简介python-qrcode是个用来生成二维码图片的第三方模块,依赖于PIL模块和qrcode库。简单用法importqrcodeimg=qrcode.make('hello,qrcode')img.save('test.png')高级用法importqrcodeqr=qrcode.QRCode(version=1,er
系统 2019-09-27 17:48:17 2205
本文介绍Python实现端口复用实例如下所示:#coding=utf-8importsocketimportsysimportselectimportthreadinghost='192.168.99.100'port=80classThread(threading.Thread):def__init__(self,buf,sockfd):threading.Thread.__init__(self)self.buf=bufself.sockfd=sock
系统 2019-09-27 17:48:00 2205
一、背景继上篇文章比较了PHP与Python语法之后,这周又学习了Python数据类型,准备从通过这篇文章给自己进行一些总结,也给其他读者一些参考。二、内容概要字符串(str)列表(list)元组(tup)字典(dict)数据操作三、字符串(str)Python中字符串操作基本和PHP类似,下面介绍一下Python中字符串的常规操作方法3.1索引下标取值在PHP中可以通过索引下标的方式获取到字符串中的某一个字符,在Python中也同样可以获取到,如下代码所
系统 2019-09-27 17:47:44 2205
strip()方法返回所有字符从开始及字符串的末尾(默认空格字符)被去除后的字符串的一个副本。语法以下是strip()方法的语法:str.strip([chars]);参数chars--字符-从开始或结束的字符串被删除去除。返回值此方法返回所有字符从开始及字符串的末尾(默认空格字符)被去除后的字符串的一个副本。例子下面的例子显示了strip()方法的使用。#!/usr/bin/pythonstr="0000000thisisstringexample...
系统 2019-09-27 17:47:06 2205