自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 决策树的保存——序列化和反序列化

根据数据集创建决策树的速度比较慢,即使数据量比较小,也需要几秒钟的时间,因此为了方便起见,在执行一次程序后,创建好树就把这棵保存起来,创建好的树是字典形式,由于写入和读出的必须是字符串格式,所以写入和读取需要使用到序列化和反序列化方法一:使用json模块def storeTree(inputTree,filename): import json fw = open(

2018-01-23 22:02:52 1647

原创 决策树——绘图的全过程

以书上例子为基础(按照整个程序的调用顺序总结):首先列出树的数据,两组树的数据组成的列表,分别是listOfTrees[0]以及listOfTrees[1]:def retrieveTree(i): listOfTrees =[{'no surfacing': {0: 'no', 1: {'flippers': {0: 'no', 1: 'yes'}}}},

2018-01-22 17:02:04 9803 1

原创 决策树——绘制树形图

import matplotlib.pyplot as plt#解决中文字和坐标问题plt.rcParams['font.sans-serif'] = ['Simhei']plt.rcParams['axes.unicode_minus'] = False#定义文本框和箭头格式,必须以字典方式定义,后面程序要用decisionNode = dict( boxstyle = 'sawto

2018-01-21 19:44:18 4437

原创 python——默认变量全局有效性

import matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['Simhei']plt.rcParams['axes.unicode_minus'] = FalsedecisionNode = dict( boxstyle = 'sawtooth', fc = '0.8' ) #boxstyle为文本框类型,sawt

2018-01-21 16:44:00 607

原创 决策树(一)

程序:from math import *import operatordef calShannonEnt(dataSet): #熵的计算函数,熵的计算只与标签值有关 numEntries = len(dataSet) #len(dataSet)计算dataSet矩阵的行数,和dataSet.shape[0]功能一样 labelCounts = {} ...

2018-01-21 15:10:44 275

原创 K近邻改进约会网站(六):所有功能函数总结

1.处理文本数据:def file2matrix(filename): fr = open(filename) arrayOlines = fr.readlines() numberOlines = len(arrayOlines) returnMat = zeros( (numberOlines, 3) ) classLabelVector = []

2018-01-17 19:54:20 201

原创 跨目录调用函数

导入模块调用函数在未手动设置环境变量的前提下只能导入同级或者子级模块,一个完整的项目程序结构与上图类似,由一个总的文件夹包含多个子文件夹,以上图为例,如果想实现不管这个总的文件夹在哪个位置都能动态的实现模块导入级函数调用,可以这样做(在atm中导入main并调用main中的login函数):import osimport sysprint(os.path.abspath(__file__)

2018-01-17 15:33:13 359

原创 K近邻改进约会网站(五):使用算法进行预测

def classifyPerson(): resultList = ['not at all', 'in small doses', 'in large doses'] #定义结果列表表示3种结果 percentTats = float( input('percentage of time spent playing video games?') ) #输入特征1 f

2018-01-17 11:10:36 221

原创 K近邻改进约会网站(四):测试算法

def datingClassTest(): #测试函数 hoRatio = 0.10 #设置比例 datingDataMat, datingLabels = file2matrix('datingTestSet2.txt') #返回文本文件处理的数据,分别是3列特征值和一列标签 normMat, ranges, minVals = autoNorm(da

2018-01-17 10:27:27 175

原创 K近邻改进约会网站(三):数据的归一化处理

不同特征之间的数值差距较大,在假设各个特征同等重要的情况下,必须实施归一化处理,将任意特征值转化为0到1区间的值:新值 = (特征值 - 该特征中最小值 ) / (该特征最大值 - 该特征最小值)在kNN.py中添加新函数用作归一处理:def autoNorm(dataSet): #dataSet为1000*3规模,不加标签 minVals = dataSet.min

2018-01-16 17:30:41 262

原创 K近邻改进约会网站(二):数据图形化展示

简单绘制散点图的方法(无法添加图例):from numpy import *import kNNimport matplotlib.pyplot as pltdatingDataMat, datingLabels = kNN.file2matrix('datingTestSet2.txt')fig = plt.figure()ax = fig.add_subplot(111)

2018-01-16 14:54:50 221

原创 python绘图基础—scatter散点图用循环分类法加图例

import matplotlib.pyplot as pltimport kNNplt.rcParams['font.sans-serif']=['Simhei']plt.rcParams['axes.unicode_minus']=FalsedatingDataMat, datingLabels = kNN.file2matrix('datingTestSet2.txt')pl

2018-01-15 21:49:27 14172 1

原创 python绘图基础—解决图例中文乱码和负数坐标问题问题

import matplotlib.pyplot as pltplt.rcParams['font.sans-serif']=['Simhei'] #解决中文显示问题,目前只知道黑体可行plt.rcParams['axes.unicode_minus']=False #解决负数坐标显示问题fig = plt.figure()ax = fig.add_subplot(1

2018-01-15 20:09:14 6355 2

原创 python绘图基础—scatter用法

scatter(x, y, 点的大小, 颜色,标记),这是最主要的几个用法,如果括号中不写s=  c=则按默认顺序,写了则按规定的来,不考虑顺序import matplotlib.pyplot as pltfig = plt.figure()ax = fig.add_subplot(111)ax.scatter([1,2,3,4],[2,4,6,8],[10,20,30,40],[

2018-01-15 16:28:51 72788 4

原创 python绘图基础—快速绘图和面向对象绘图

pyplot模块虽然用法简单,但不适合在较大的应用程序中使用。  为了将面向对象的绘图库包装成只使用函数的调用接口,pyplot模块的内部保存了当前图表以及当前子图等信息。当前的图表和子图可以使用plt.gcf()和plt.gca()获得,分别表示"Get Current Figure"和"Get Current Axes"。在pyplot模块中,许多函数都是对当前的Figure或Axes对象进行

2018-01-15 14:53:46 1927

原创 python绘图基础

简单的绘图:import matplotlib.pyplot as plt #也可以写成:from matplotlib import pyplot as pltx = [5,6,7,8]y = [7,8,5,6]plt.plot(x,y) #也可以直接plt.plot([5,6,7,8],[7,8,5,6])plt.title('First

2018-01-15 09:23:29 2165

原创 K近邻改进约会网站(一):文本数据的处理

建立转变待处理文件格式的函数:from numpy import *def file2matrix(filename): fr = open(filename) arrayOlines = fr.readlines() #变为列表,格式为['1\t2\t3\t4\n', '1\t2\t3\t4\n',.......],注意里面都字符串 numberOlines

2018-01-14 17:25:14 339

原创 kNN近邻算法学习

创建模块kNN.py(相当于导入已有的数据和标签):from numpy import *import operatordef createDataSet(): group = array( [ [1.0, 1.1], [1.0, 1.0], [0, 0], [0, 0.1] ] ) labels = ['A', 'A', 'B', 'B'] return g

2018-01-14 14:49:07 209

空空如也

空空如也

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

TA关注的人

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