一、概论C4.5主要是在ID3的基础上改进,ID3选择(属性)树节点是选择信息增益值最大的属性作为节点。而C4.5引入了新概念“信息增益率”,C4.5是选择信息增益率最大的属性作为树节点。二、信息增益以上公式是求信息增益率(ID3的知识点)三、信息增益率信息增益率是在求出信息增益值在除以。例如下面公式为求属性为“outlook”的值:四、C4.5的完整代码fromnumpyimport*fromscipyimport*frommathimportlogim
系统 2019-09-27 17:54:47 1998
1。总体概要kNN算法已经在上一篇博客中说明。对于要处理手写体数字,需要处理的点主要包括:(1)图片的预处理:将png,jpg等格式的图片转换成文本数据,本博客的思想是,利用图片的rgb16进制编码(255,255,255)为白色,(0,0,0)为黑色,获取图片大小后,逐个像素进行判断分析,当此像素为空白时,在文本数据中使用0来替换,反之使用1来替换。fromPILimportImage'''将图片转换成文档,使用0,1分别替代空白和数字'''pic=Im
系统 2019-09-27 17:54:43 1998
要求:在Python环境下用尽可能多的方法反转字符串,例如将s="abcdef"反转成"fedcba"第一种:使用字符串切片result=s[::-1]第二种:使用列表的reverse方法l=list(s)l.reverse()result="".join(l)当然下面也行l=list(s)result="".join(l[::-1])第三种:使用reduceresult=reduce(lambdax,y:y+x,s)第四种:使用递归函数deffunc(s
系统 2019-09-27 17:53:05 1998
如果有了解过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 1998
1、内部函数,顾名思义,是函数内部定义的函数,其作用是封装逻辑,使函数逻辑更为清晰。defouter():inner():业务逻辑returninner2、为何returninner而不是returninner()呢?初学者可能都有此一问,我们知道,运行一个函数就是:func(),然后func会得出结果。同理,如果returninner()就是要返回inner()的运算结果,但是innner()函数没有返回值,此时returninner()只能得到None
系统 2019-09-27 17:52:40 1998
A:西米喜欢健身B:超超不爱健身,喜欢打游戏step1:分词A:西米/喜欢/健身B:超超/不/喜欢/健身,喜欢/打/游戏step2:列出两个句子的并集西米/喜欢/健身/超超/不/打/游戏step3:计算词频向量A:[1,1,1,0,0,0,0]B:[0,1,1,1,1,1,1]step4:计算余弦值余弦值越大,证明夹角越小,两个向量越相似。step5:python代码实现importjiebaimportjieba.analysedefwords2vec(
系统 2019-09-27 17:52:29 1998
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可护展的高性能数据存储解决方案。它的特点是高性能、易部署、易使用,存储数据非常方便。MongoDB简单使用联接数据库复制代码代码如下:In[1]:importpymongoIn[2]:frompymongoimportConnectionIn[3]:connection=Connection('192.168.1.3',27017)//创建联接Connection相关参数
系统 2019-09-27 17:52:17 1998
本例使用QQ邮箱测试,需要打开QQ邮箱的smtp协议,获取授权码代码内容如下:#!/usr/bin/envpython#_*_coding:utf-8_*___author__='junxi'importsmtplibfromemail.mime.textimportMIMEText#文本模式#msg=MIMEText('sendbypython...','plain','utf-8')#html格式msg=MIMEText('Hello'+'sendby
系统 2019-09-27 17:51:26 1998
ndarray.ndim:维度ndarray.shape:形状ndarray.size:元素个数ndarray.dtype:元素数据类型ndarray.itemsize:字节大小创建数组:a=np.array([2,23,4])#list1dprint(a)#[2234]指定数据类型:a=np.array([2,23,4],dtype=np.int)print(a.dtype)#int64dtype可以指定的类型有int32,float,float32,后
系统 2019-09-27 17:50:47 1998
面向对象---谁来做?相比函数,面向对象是一个更大的封装,根据职责在一个对象中封装多个方法。在完成某个需求前,首先确定职责--要做的事情(方法)根据职责确定不同的对象,在对象内部封装不同的方法最后完成代码,就是顺序的让不同的对象调用不同的方法。特点:注重对象和职责,不同的对象承担不同的职责。更加适合应对对复杂需求的变化,是专门应对复杂项目开发,提供的固定套路。面向对象的两个核心概念:类和对象类的定义:是对一群具有相同特征(属性)或者行为(方法)的事物的一个
系统 2019-09-27 17:50:07 1998