- 博客(17)
- 收藏
- 关注
原创 机器学习实战:决策树
决策树 计算给定数据集的熵 def calcShannonEnt(dataSet): numEntries = len(dataSet) labelCounts = {} for featVec in dataSet: currentLabel = featVec[-1] if currentLabel not in labelCoun...
2018-10-12 22:03:40
174
原创 机器学习实战:KNN
KNN:给出一个点,通过各属性与各点的距离值找出距离最近的k个点,用这k个点类别的出现频率来预测该点的类别。 对未知类别属性的数据集中的每个点依次执行以下操作: 计算已知类别数据集中的点与当前点之间的距离; 按照距离递增次序排序; 选取与当前点距离最小的k个点; 确定前k个点所在类别的出现频率; 返回前k个点出现频率最高的类别作为当前点的预测分类。 knn的缺陷: k-近邻...
2018-10-11 21:47:27
122
原创 如何用python画一颗心☆
如何用python画一颗心☆ ‘心似双丝网,中有千千结’ import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D def heart_3d(x,y,z): return (x**2+(9/4)*y**2+z**2-1)**3-x**2*z**3-(9/80)...
2018-09-16 00:59:46
2847
原创 有关python的matplotlib库基本使用
matplotlib库的基本使用 1.导入模块 import numpy as np import matplotlib.pyplot as plt 2.一元函数作图 # x轴的采样点 x = np.linspace(0,6, 100) # 通过下面曲线加上噪声生成数据,所以拟合模型就用y了…… y = 2*np.sin(x) + 0.3*x**2 # 画模型的图,plot函数默...
2018-09-16 00:48:14
236
转载 针对python爬虫lxml库的基础问题
lxml库的基本使用 1.导入模块 from lxml import etree 2.解析网页 lxml是使用XPath技术查询和处理HTML/XML文档的库,相比于BeautifulSoup只会局部遍历。 并且,lxml可以自动修正html代码、 url_str = getHTMLText(url) html = etree.HTML(url_str) # 读取字符串格式 ...
2018-09-14 10:04:47
270
原创 针对python爬虫bs4(BeautifulSoup)库的基础问题
bs4(BeautifulSoup)库的基本使用 1.导入模块 from bs4 import BeautifulSoup 2.解析获取到的网页内容 文档被转换成Unicode,并且HTML的实例都被转换成Unicode编码。 可以打印soup对象的内容,格式化输出:print soup.prettify() url_str = getHTMLText(url) soup =...
2018-09-12 21:37:55
420
原创 针对python爬虫requests库的基础问题
requests库的基本用法 1. get函数 r = requests.get(url,**kwargs) (1)**kwargs:控制访问的参数,均为可选项,以下给出一些常用的参数: kv={'key1':'value','key2':'value2'} r=requests.request('GET','http://python123.io/ws',params=kv) ...
2018-09-08 16:14:23
709
原创 KMP
KMP匹配#include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct{ char *pch; int len; }Tstr; int* KMP(Tstr* T,Tstr* P,int *next){ int i=0,j=0,k=0,m = T->len,n =...
2018-06-27 22:25:36
119
原创 Huffman编码
1.概念:哈夫曼树也称为最优二叉树,是一种带权路径长度最短的二叉树。(树的带权路径长度:树中所有的叶结点的权值乘上其到根结点的路径长度,然后进行加和的结果)哈夫曼树中根结点为第0层,N个权值构成一棵有N个叶结点的二叉树,相应的叶结点的路径长度为其层数。树的路径长度是从树根到每一结点的路径长度之和,记为WPL 易证哈夫曼树的WPL是最小的。2.原理:编码表是通过对源符号出现的概率进行评估的方式得到,...
2018-06-26 00:03:54
146
原创 二叉树
二叉树的编程我觉着可以帮助你学习递归 : )#include <stdio.h> #include <stdlib.h> typedef int ElemType; typedef struct node{ ElemType data; struct node* lc; struct node* rc; int visit;//真的,如果不是这样写最方便,我也不想...
2018-06-25 23:29:31
83
原创 平衡二叉树
平衡二叉搜索树(Self-balancing binary search tree)又被称为AVL树(有别于AVL算法):它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。1.引入:在说平衡二叉树之前,我们先需要谈谈二叉排序树,详见我之前在《排序》中所写。当排序树构建出来过于“畸形”,两边不对称,极端一点就是一路下来毫无分叉,那么显然,它的时间复杂度就是...
2018-06-23 19:13:33
124
原创 图的最短路径
1.Dijkstra从点v0开始,不断把距V0距离最小的点拉进超点(注意:权重值一定要是正的)void dijkstra(int G[N][N],int v0,int path[],int s[]){ int dist[N]; for(int i=0;i<N;i++){ dist[i]=G[v0][i]; if(dist[i]<INT_MAX) path[i]=v0;//记...
2018-06-20 18:25:52
171
原创 最小生成树
1.Prime算法(稠密矩阵;邻接矩阵)从点0开始不断拉相邻权重最小且不构成回路的点进来(形成一个超点)void prime(int G[N][N]){ Edge edges[N]; for(int i=0;i<N;i++){ edges[i].vex = 0;//表示"0"到各个节点 edges[i].cost = G[0][i];//距离 } edges[0].cos...
2018-06-20 17:16:48
153
原创 图的遍历
这是一个以邻接表为基础的遍历......1.递归DFS:int main(){ TGraph* G = (TGraph*)malloc(sizeof(TGraph)); graph_init(G);//稍微初始化一下我们的图 int visited[N];for(int i=0;i<N;i++) visited[i]=0; for(int i=0;i<N;i++){ if(...
2018-06-20 16:41:15
133
原创 图的储存结构
1.邻接矩阵(n个结点,构造n*n的矩阵,各点值可达为1,不可达为0)当我们需要将权重赋在矩阵上时,各点值若可达,则为其权重;不可达则为∞(INT_MAX);对角元为0(注:INT_MAX在C/C++再加任何一个正数都会导致溢出,下面给出简单的注意事项)最轻微的上溢INT_MAX + 1INT_MIN最严重的上溢INT_MAX + INT_MAX-2最轻微的下溢INT_MIN - 1INT_M...
2018-06-20 13:32:53
179
原创 排序
快排(nlogn):将列表以首元(a[0])为判断依据隔成两部分,第一部分全部小于首元,第二部分全部大于等于首元。(复杂度n)重复上述过程至所有元素(次数为logn)void quick_sort(int a[],int low,int high);int find_pos(int a[],int low,int high);希尔(nlogn):将列表以不同的步长进行划分,常...
2018-06-18 19:06:12
165
原创 折半
#include <stdio.h> #include<stdlib.h>#include<time.h> void quick_sort(int a[],int low,int high);int find_pos(int a[],int low,int high);int* find(int a[],int n,int x); i...
2018-06-18 17:23:50
138
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人