自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【数据结构】队列的链式实现

//链式队列定义及各类操作#include<stdio.h>#include<string.h>#include<stdlib.h>#include<stdbool.h>typedef int ElemType;typedef struct LinkNode{ ElemType data; struct LinkNode *next;} LinkNode;typedef struct LinkQueue{ L

2022-01-20 11:15:01 390

原创 【数据结构】队列的顺序实现

//顺序队列定义及各类操作#include<stdio.h>#include<string.h>#include<stdlib.h>#include<stdbool.h>typedef int ElemType;//定义顺序队列#define MaxSize 10typedef struct SqQueue{ ElemType data[MaxSize]; int front, rear; //队头和队尾指针} Sq

2022-01-14 16:27:01 312

原创 【数据结构】链栈的定义和基本操作

//链栈定义及各类操作#include<stdio.h>#include<string.h>#include<stdlib.h>#include<stdbool.h>typedef int Elemtype;typedef struct LiStack{Elemtype data; //数据域struct LiStack *next; //指针域} LiStack; //栈类型定义//初始化链栈void InitLiStack(LiSt

2022-01-14 10:16:24 614

原创 【数据结构】顺序栈定义及基本操作

//顺序栈定义及各类操作#include<stdio.h>#include<string.h>#include<stdlib.h>#include<stdbool.h>typedef int Elemtype;#define MaxSize 10 //定义栈中元素的最大个数typedef struct SqStack{Elemtype data[MaxSize]; //使用静态数组存放栈中元素int top; //栈顶指针} SqStac

2022-01-14 08:15:16 333

原创 【数据结构】循环链表定义及基本操作

//循环链表定义及各类操作#include<stdio.h>#include<string.h>#include<stdlib.h>#include<stdbool.h>typedef int Elemtype;//定义循环单链表节点类型typedef struct CLinkList{Elemtype data; //数据域struct CLinkList *next; //指针域} CLinkList;//初始化循环单链表bool

2022-01-10 22:19:07 641

原创 【数据结构】双链表定义及基本操作

//双链表定义及各类操作#include<stdio.h>#include<string.h>#include<stdlib.h>#include<stdbool.h>typedef int Elemtype;//定义双链表节点类型typedef struct DLinkList{ Elemtype data; //数据域 struct DLinkList *prior, *next; //前驱指针,后继指针} DLink

2022-01-07 14:15:14 593

原创 【数据结构】单链表定义及基本操作

C语言实现单链表的定义及基本操作

2022-01-07 08:58:09 805

原创 贝叶斯网络——实践

Iris_GaussianNB:import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport matplotlib as mplfrom sklearn.preprocessing import StandardScaler, MinMaxScaler, PolynomialFeaturesfrom sklearn.naive_bayes import GaussianNB, MultinomialNBfr

2020-09-06 22:50:50 231

原创 机器学习——贝叶斯网络

贝叶斯网络贝叶斯网络(Bayesian Networks)也被称为信念网络(Belif Networks)或者因果网络(Causal Networks),是描述数据变量之间依赖关系的一种图形模式,是一种用来进行推理的模型。贝叶斯网络为人们提供了一种方便的框架结构来表示因果关系,这使得不确定性推理变得在逻辑上更为清晰、可理解性强。对于贝叶斯网络,我们可以用两种方法来看待它:首先贝叶斯网表达了各个节点间的条件独立关系,我们可以直观的从贝叶斯网当中得出属性间的条件独立以及依赖关系;另外可以认为贝叶斯网用另一种

2020-08-26 22:23:52 1055

原创 机器学习——EM算法实践

EM在这里插入代码片import numpy as npfrom scipy.stats import multivariate_normalfrom sklearn.mixture import GaussianMixturefrom mpl_toolkits.mplot3d import Axes3Dimport matplotlib as mplimport matplotlib.pyplot as pltfrom sklearn.metrics.pairwise import pa

2020-08-20 10:27:51 354

原创 机器学习——EM算法

EM算法:EM算法是一种迭代优化策略,由于它的计算方法中每一次迭代都分两步,其中一个为期望步(E步),另一个为极大步(M步),所以算法被称为EM算法(Expectation Maximization Algorithm)。EM算法受到缺失思想影响,最初是为了解决数据缺失情况下的参数估计问题,其算法基础和收敛有效性等问题在Dempster,Laird和Rubin三人于1977年所做的文章Maximum likelihood from incomplete data via the EM algorithm中

2020-08-14 22:06:29 531

原创 机器学习——聚类

kMeans:import numpy as npimport matplotlib.pyplot as pltimport sklearn.datasets as dsimport matplotlib.colorsfrom sklearn.cluster import KMeansdef expand(a, b): d = (b - a) * 0.1 return a-d, b+dif __name__ == "__main__": N = 400

2020-08-11 15:11:07 244

原创 机器学习——聚类算法

聚类的概念:机器学习里面的聚类是无监督的学习问题,它的目标是为了感知样本间的相似度进行类别归纳。它可以用于潜在类别的预测以及数据压缩上去。潜在类别预测,比如说可以基于通过某些常听的音乐而将用户进行不同的分类。数据压缩则是指将样本进行归类后,就可以用比较少的的One-hot向量来代替原来的特别长的向量。聚类,既可以作为一个单独的过程,也可以作为其他机器学习任务的预处理模块。其实,在深度学习里面就十分流行这种先给样本聚类 压缩数据,然后把在压缩后的特征向量丢到网络去训练,这其实就是深度学习里面的“表示学习

2020-07-31 22:13:27 615

原创 机器学习——SVM实践

SVM基本应用:import numpy as npimport pandas as pdimport matplotlib as mplimport matplotlib.pyplot as pltfrom sklearn import svmfrom sklearn.model_selection import train_test_splitfrom sklearn.metrics import accuracy_score# 'sepal length', 'sepal widt

2020-07-26 22:28:51 180

原创 机器学习——SVM算法

支持向量机(SVM)定义:1、线性可分支持向量机:给定线性可分的训练数据集,通过(硬)间隔最大化或者等价的求解相应的凸二次规划问题学习得到的分离超平面为:w∗x+b=0w∗x+b=0以及相应的分类决策函数: f(x)=sign(w∗x)+bf(x)=sign(w∗x)+b。2、线性支持向量机给定线性不可分的训练数据集,通过软件间隔最大化或者等价的求解相应的凸二次规划问题学习得到的分离超平面为:w∗x+b=0w∗x+b=0以及相应的分类决策函数: f(x)=sign(w∗x)+bf(x)=sign

2020-07-23 22:45:36 317

原创 机器学习——XGBoost实践

XGBoost:XGBoost是大规模并行boosted tree的工具,它是目前最快最好的开源boosted tree工具包,比常见的工具包快10倍以上。在数据科学方面,有大量kaggle选手选用它进行数据挖掘比赛,其中包括两个以上kaggle比赛的夺冠方案。在工业界规模方面,xgboost的分布式版本有广泛的可移植性,支持在YARN, MPI, Sungrid Engine等各个平台上面运行,并且保留了单机并行版本的各种优化,使得它可以很好地解决于工业界规模的问题。基本原理实践:import xg

2020-07-19 11:51:41 226

原创 机器学习——提升算法理论

提升算法的概念:提升算法:提升算法推导:提升算法步骤:

2020-07-17 20:59:20 191

原创 决策树和随机森林——推导与实践

决策树:条件熵:

2020-07-12 20:29:37 261

原创 线性回归——推导及实践

使用极大似然估计解释最小二乘似然函数推导过程:高斯的对数似然与最小二乘:θ的解析式的求解过程:最小二乘意义下的参数最优解:加入λ扰动后:线性回归的复杂度惩罚因子:正则项与防止过拟合:梯度下降算法:梯度方向推导:批量梯度下降算法:随机梯度下降算法:...

2020-07-08 16:55:05 356

原创 机器学习——数据清洗,特征选择

数据清洗的方法:设置阈值去掉异常值随机森林预测去掉点的数值加进去onehot编码(不适用于决策树和随机森林):先将一个属性分成几个类别然后再将样本的数据变成矩阵01,1表示其所在类别会导致特征数增多数据清洗代码实现import numpy as npimport pandas as pdfrom fuzzywuzzy import fuzzfrom fuzzywuzzy import processdef enum_row(row): print row['state']

2020-07-05 10:27:53 431

原创 逻辑回归原理及代码实例

逻辑回归基本原理:(1)找一个合适的预测函数(Andrew Ng的公开课中称为hypothesis),一般表示为h函数,该函数就是我们需要找的分类函数,它用来预测输入数据的判断结果。这个过程时非常关键的,需要对数据有一定的了解或分析,知道或者猜测预测函数的“大概”形式,比如是线性函数还是非线性函数。(2)构造一个Cost函数(损失函数),该函数表示预测的输出(h)与训练数据类别(y)之间的偏差,可以是二者之间的差(h-y)或者是其他的形式。综合考虑所有训练数据的“损失”,将Cost求和或者求平均,记为J

2020-07-01 22:18:52 694

原创 线性回归算法及案例

线性回归:寻找⼀一种能预测的趋势回归问题的条件/前提:1) 收集的数据2) 假设的模型,即一个函数,这个函数里含有未知的参数,通过学习,可以估计出参数。然后利用这个模型去预测/分类新的数据。案例:from sklearn.datasets import load_bostonfrom sklearn.linear_model import LinearRegression, SGDRegressor, Ridge, LogisticRegressionfrom sklearn.model_s

2020-06-28 22:50:06 777

原创 决策树

决策树决策树是机器学习中常用的一种算法,它即可用于解决分类问题,也可用于解决回归问题,在这篇博客我们只介绍分类决策树。决策树顾名思义是一种树形结构,而我们的任务就是想办法构建出这样一颗树用它来进行分类。def decision(): """ 决策树对泰坦尼克号进行预测生死 :return: None """ # 获取数据 titan = pd.read_csv("http://biostat.mc.vanderbilt.edu/wiki/pub/Main

2020-06-24 22:28:51 159

原创 机器学习基础算法——朴素贝叶斯算法

朴素贝叶斯算法:朴素贝叶斯方法是在贝叶斯算法的基础上进行了相应的简化,即假定给定目标值时属性之间相互条件独立。也就是说没有哪个属性变量对于决策结果来说占有着较大的比重,也没有哪个属性变量对于决策结果占有着较小的比重。虽然这个简化方式在一定程度上降低了贝叶斯分类算法的分类效果,但是在实际的应用场景中,极大地简化了贝叶斯方法的复杂性。算法原理:朴素贝叶斯分类(NBC)是以贝叶斯定理为基础并且假设特征条件之间相互独立的方法,先通过已给定的训练集,以特征词之间独立作为前提假设,学习从输入到输出的联合概率分布,再基

2020-06-12 22:18:19 406

原创 机器学习基础算法——K-近邻算法

K-近邻算法思路:在特征空间中,如果一个样本附近的k个最近(即特征空间中最邻近)样本的大多数属于某一个类别,则该样本也属于这个类别。优点:简单,易于理解,易于实现,无需估计参数,无需训练。缺点:懒惰算法,对测试样本分类时的计算量大,内存开销大;必须指定K值,K值选择不当则分类精度不能保证。使用场景:小数据场景,几千~几万样本,具体场景具体业务去测试 。实例代码:import pandas as pdfrom sklearn.datasets import load_iris, fetch_20

2020-06-10 16:59:40 202

原创 机器学习基础算法2

数据降维:def var(): """ 特征选择-删除低方差的特征 :return: None """ var = VarianceThreshold(threshold=1.0) data = var.fit_transform([[0, 2, 0, 3], [0, 1, 4, 3], [0, 1, 1, 3]]) print(data) return Nonedef pca(): """ 主成分分析进行特征降维

2020-06-09 18:20:40 107

原创 机器学习基础算法

字典,文本特征数据抽取,数据归一化,标准化以及数据缺失项处理。from sklearn.feature_extraction import DictVectorizerfrom sklearn.feature_extraction.text import CountVectorizer, TfidfVectorizerfrom sklearn.preprocessing import MinMaxScaler, StandardScaler, Imputerfrom sklearn.feature_

2020-06-07 21:50:55 118

原创 matplotlib实战—球员能力图

使用matplotlib绘制下图:import numpy as npimport matplotlib.pyplot as pltplt.style.use('ggplot')# 创建子图ax1 = plt.subplot(221, projection='polar')# 221 表示 2行2列第一个子图, polar表示极坐标ax2 = plt.subplot(222, projection='polar')ax3 = plt.subplot(223, projection='p

2020-06-05 11:42:00 336

原创 matplotlib实例

使用matlotlib绘制下图:import numpy as npimport matplotlib.pyplot as pltfrom matplotlib.patches import Polygondef func(x): return -(x - 2) * (x - 8) + 40x = np.linspace(0, 10)y = func(x)fig, ax = plt.subplots()plt.plot(x, y, 'r', linewidth=2)a,

2020-06-02 17:52:47 398

原创 matplotlib基础用法

注释:import numpy as npimport matplotlib.pyplot as pltx=np.arange(-10,11,1)y=x**2plt.plot(x,y)plt.annotate(‘this is the bottom’,xy=(0,1),xytext=(0,20),arrowprops=dict(facecolor=‘r’,headlength=10,headwidth=30,width=10)) #xy表示箭头的起始坐标,xytext表示第一个字母的起始坐标p

2020-06-02 17:49:33 131

原创 matpoltlib各种基础图形绘制

散点图:import numpy as npimport matplotlib.pyplot as pltopen,high=np.loadtxt('000001.csv',delimiter=',',skiprows=1,usecols=(1,2),unpack=True)change=high-openyesterday=change[:-1]today=change[1:]plt.scatter(today,yesterday)折线图:import numpy as np

2020-05-27 21:09:02 225

原创 Pandas分组计算实例

Pandas分组计算:拆分–>应用–>合并拆分:根据什么键进行分组?应用:每个分组进行什么样的计算?合并:把每个分组的计算结果合并起来。import pandas as pdimport numpy as npdf = pd.DataFrame({'key1': ['a', 'a', 'b', 'b', 'a'], 'key2': ['one', 'two', 'one', 'two', 'one'], 'da

2020-05-21 22:44:24 335

原创 Pandas索引的基本操作实例

Pandas索引操作:行索引、列索引、索引的分类、重复索引的处理。# Series索引s = pd.Series(np.random.rand(5), index=list('abcde'))ss.index # 行索引s.index.name = 'haha' # 给行索引起名字s# DataFrame索引df = pd.DataFrame(np.random.randn(4, 3), columns=['one', 'two', 'three'])dfdf.index # 行索引

2020-05-21 22:43:49 359

原创 pandas详细基本操作及电影数据分析实例

pandas:pandas基本操作:创建一行或一列数据,Series:s = pd.Series([1, 3, 5, np.NaN, 8]) 创建日期序列:datas = pd.data_range('20200510', periods = 6) # 日期序列,periods表示几个日期创建二维数组:data = pd.DataFrame(np.random.randn(6, 4), index=datas, columns=list('ABCD')) # 6行4列数组,行索引是日期,列

2020-05-11 22:27:13 634

原创 numpy概念及基本操作

Numpy 是一个运行速度非常快的数学库,主要用于数组计算,包含:1.一个强大的N维数组对象 ndarray2.广播功能函数3.整合 C/C++/Fortran 代码的工具4.线性代数、傅里叶变换、随机数生成等功能Numpy的基本运算:将列表转换为numpy数组:...

2020-05-09 17:51:10 217

原创 数据结构——树的概念以遍历方法实现

二叉树:二叉树是每个节点最多有两个子树的树结构,通常被称为左子树和右子树。二叉树的特性:1.在二叉树的第i层上最多有2^(i-1)个节点(i>0)。2.深度为k的二叉树最多有2^k-1个节点(k>0)。3.对于任意一颗二叉树,如果其叶节点数为N0,而度数为2的节点总数为N2,则N0=N2+1。4.具有n个节点的完全二叉树的深度必为log2(n+1)。5.对于完全二叉树,若从...

2020-05-02 22:06:18 115

原创 数据结构——排序算法列举

排序与搜索排序算法(Sorting algorithm)是一种能将一串数据依照特定顺序进行排列的一种算法。排序算法的稳定性稳定性:稳定的排序算法会让原本有相等键值的记录维持相对次序。也就是如果一个排序算法是稳定的,当有两个相等键值的记录R和S,且在原本的列表中R出现在S之前,在排序过的列表中R也将会是在S之前。常见的排序算法实现:冒泡排序:# coding : utf-8def ...

2020-04-18 18:35:12 201

原创 数据结构——栈与队列基本功能的代码实现

栈:栈(stack),也可以称成为堆栈,是一种可以存放,访问及删除数据元素的容器。它的特点在于只能允许在容器的一端(栈顶:top)进行加入数据(push)和输出数据(pop) 的运算操作。由于栈的数据结构只允许在一端进行操作,因此按照后进先出(LIFO, Last In First Out)的原理运作,符合这个运作原理的,就可以成为栈。栈与链表和顺序表的区别在于:栈描述的的对数据元素怎么操作...

2020-04-04 23:12:28 305

原创 数据结构——链表基本功能的代码实现

单链表操作实现:in_empty() 链表是否为空length() 链表长度travel() 遍历整个链表add(item) 链表头部添加元素append(item) 链表尾部添加元素insert(pos , item) 链表指定位置添加元素renove(item) 删除节点search(item) 查找节点是否存在...

2020-04-02 17:13:53 201

原创 数据结构顺序表概念

顺序表:顺序表是在计算机内存中以数组的形式保存的线性表,线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素、使得线性表中在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中,即通过数据元素物理存储的相邻关系来反映数据元素之间逻辑上的相邻关系,采用顺序存储结构的线性表通常称为顺序表。顺序表是将表中的结点依次存放在计算机内存中一组地址连续的存储单元中。顺序表又可分为:静态顺...

2020-03-22 09:30:08 507

空空如也

空空如也

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

TA关注的人

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