- 博客(36)
- 收藏
- 关注
原创 Meanshift均值漂移聚类算法
一、meanshift均值漂移就是把指定的样本点沿着密度上升的方向移向高密度区域。这里可以用矢量加法的几何意义来理解。参考博文Mean Shift 聚类算法meanshift为Mr(x)=1k∑xi∈Sr(x)(xi−x)M_r(x)=\frac{1}{k}\sum\limits_{x_i\in S_r(x)}(x_i-x)Mr(x)=k1xi∈Sr(x)∑(xi−x)其中Sr(x)={y:∥y−x∥<=r}S_r(x)=\{y:\|y-x\|<=r\}Sr(x)={y:∥
2022-03-10 17:07:38
3237
2
原创 变色龙算法chameleon聚类
参考论文:CHAMELEON A hierarchical clustering algorithm using dynamic modelingchamelon算法是一种层次聚类算法。一、层次聚类层次聚类算法的关键是如何判定两个子簇是最相似的。度量两个子簇相似性的常见方法有:单连接规则就是用两个子簇中最近的一对点之间的距离来刻画这两个簇的相似性。基于这种度量方法的聚类容易受异常点、噪音的影响。二、closeness和inter-connectivity1.closeness的介绍关于下
2022-03-07 20:45:41
3035
1
原创 快速访问dataFrame的行元素--itertuples()用法
如何快速遍历dataFrame的元素?可以使用DataFrame.itertuples(),将DataFrame的每一行元素按元组(tuples)的形式返回。具体应用如下:df = pd.read_csv('./datasets/Aggregation.csv', sep=' ', header=None)for p in df.itertuples(): print(p)for p in df.itertuples(): print
2022-03-06 15:15:04
4510
2
原创 python安装第三方包
想要安装或修改python中某个包(库)的版本,使用以下指令。比如想把networkx的版本改为2.3pip install networkx==2.3或者conda install networkx==2.3执行以上指令后,重新打开一个ipynb文件,输入如下代码:import networkx可以使用如下代码查看networkx的版本networkx.__version...
2022-03-06 14:54:48
1168
原创 Mac系统anaconda安装metis包
在终端中输入pip install metis而不是conda install metis如果用conda安装,会导致导入metis模块时,显示不存在。倒腾了三个小时,中途还安装了cmake,还去官网下载metis都没成功。没想到把一句pip install metis就成功了。...
2022-03-06 13:59:51
457
原创 OPTICS聚类以及python实现
一、DBSCAN的不足DBSCAN 是基于密度聚类的代表性方法,可以识别任意形状的簇和噪音点。它的两个输入参数Eps和MinPts是全局参数,使得DBSCAN不能识别不同密度的簇。对于高密度簇的核心点,在较小的Eps邻域内就可以有至少MinPts个点;对于低密度簇的核心点,在较大的Eps邻域内才可以有MinPts个点。如下图所示,基于全局参数的DBSCAN聚类结果更倾向于A、B和C。二、OPTICS 的相关概念OPTICS算法解决了DBSCAN不能识别多密度簇的问题。在DBSCAN的相关定义上,O
2022-03-04 15:16:58
4137
原创 Kernel K-means1
论文题目:A Large Scale Clustering Scheme for Kernel K- Means一、核函数核函数可以看作一种映射变化,把低维数据映射到高维数据,利用新空间的性质,使数据可分离。给定数据集x1,x2,⋯ ,xNx_1,x_2,\cdots,x_Nx1,x2,⋯,xN,其中xi∈RD,x_i\in R^D,xi∈RD,映射函数ϕ\phiϕ将RDR^DRD空间中的xix_ixi映射到新空间QQQ。核函数定义为:H(xi,xj)=ϕ(xi)⋅ϕ(xj)H(x_i,x
2022-01-24 11:48:22
2102
原创 Data Clustering: 50 Years Beyond K-Means1
论文题目:Data Clustering: 50 Years Beyond K-Means1这篇paper对聚类的发展作了较为完善的概述,适合研究聚类方向的入门者(特别是我这样的小白哈哈)一.小知识收藏1.1955年 K-means算法提出2.信息爆炸下大数据的特点:高容量,高纬度,种类多。数据类型分为:结构化数据和非结构化数据。非结构化数据包括:图片,视频,音频,文本等。3.数据分析主要分为两种:(1)探索描述:数据的特征和结构;(2)推断:基于给定数据确认模型、假设的有效性4.学习问题(利
2022-01-21 15:58:21
1159
原创 k-means如何选择k
论文题目:Selection of K in K-means clusteringDOI: 10.1243/095440605X82981.论文核心k-means算法如何选择k,提出的新思路是根据k-means得到的信息确定簇的个数。2.k取值的重要性k的取值影响k-means算法的性能k既不能太小,也不能太大。太小的话,不能反映数据集的特征;太大的话,与数据集对象个数接近,体现不出聚类的目的。3.现有的选择k的方法1.Values of K specified within a range
2022-01-19 11:26:19
1159
原创 随机过程和马尔可夫链的初步认识
一、随机过程\qquad在提及马尔可夫链之前,先谈下自己对随机过程的理解。\qquad随机过程就是一连串随着时间变化的随机变量。比如今天的天气是晴天,我们记为X0=晴天X_0=晴天X0=晴天,明天的天气是不确定的,可能是晴天,也可能是阴天(这里简化了天气状况),我们记为X1={晴天,阴天}X_1=\{晴天,阴天\}X1={晴天,阴天},可以发现X1X_1X1就是一个随机变量,它的取值集合为{晴天,阴天}\{晴天,阴天\}{晴天,阴天},每一个取值都对应相应的概率。X1X_1X1概率
2021-12-13 18:14:08
843
原创 LRU缓存机制python实现
一、LRU介绍LRU是Least Recently Used 的缩写,即“最近最少使用”,也就是说,LRU缓存把最近最少使用的数据移除,让给最新读取的数据。实现 LRUCache 类:LRUCache(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。void put(int key, int value) 如果关键字已经存在,则变更其数据值;如果关键字不存在,
2021-10-16 15:40:41
352
原创 二分查找python
二分查找:输入一个有序的元素列表,如果要查找的元素包含在列表中,返回其位置,否则返回null。python代码1.迭代def binary_search(lists,item): low=0 high=len(lists)-1 #左闭右闭 while low<=high: mid=(low+high)//2 guess=lists[mid] if guess<item:
2021-09-08 10:45:06
63
原创 吴恩达卷积神经网络笔记和课后作业python实现
卷积神经网络(一)卷积运算以及编程语言中的卷积运算符6x6图像经过3x3的过滤器转变为4x4的图像(二)垂直边缘检测4x4图像中间有段亮一点的区域,对应检测到6×6图像中间的垂直边缘。(三)关于边缘检测的更多内容从亮到暗或从暗到亮的过渡带垂直边缘检测和水平边缘检测其他类型的过滤器(四)padding1.为何paddingpadding的原因:原本图像经过过滤器放缩(一层一层),变的越来越小,图像变小是一个原因,另一个原因是原本图像边缘信息损失。n x n图像经过f x f
2021-08-17 09:51:00
1185
原创 深度学习吴恩达第一章——神经网络的初步了解和逻辑回归
一、什么是神经网络Relu——rectified linear unit(修正线性单元)二、用神经网络进行监督学习1.各种类型的神经网络SNN:标准神经网络,用于房价预测,在线广告是否点击CNN:卷积神经网络,用于图像识别RNN:循环神经网络,用于时间序列数据,语音识别混合神经网络2.结构化数据和非结构化数据三、神经网络与传统的监督学习四、二分类1.约定的符号2.logistic 回归在神经网络中,www和bbb分开表示3.logistic 回归的损失函数
2021-07-15 09:50:38
172
原创 拉格朗日对偶性
拉格朗日对偶性在约束优化问题中,常常利用拉格朗日对偶性将原始问题转换为对偶问题,通过解对偶问题而得到原始问题的解。1.原始问题2.对偶问题3.原始问题和对偶问题的关系
2021-07-13 15:34:37
318
原创 朴素贝叶斯法(python实现)
朴素贝叶斯法朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。一、基本方法设输入空间χ∈Rn\chi \in R^nχ∈Rn是n维向量集合,输出空间y={c1,c2,⋯ ,cK}y=\{c_1,c_2,\cdots,c_K\}y={c1,c2,⋯,cK}为类标记集合。X是定义在输入空间χ\chiχ上的随机向量,Y是定义在输出空间yyy上的随机变量。P(X,Y)P(X,Y)P(X,Y)是X和Y的联合概率分布。训练数据集T={(x1,y1),(x2,y2),⋯ ,(xN,yN)}T=\{(
2021-05-28 10:35:06
2344
1
原创 K近邻法和kd树以及python实现
K近邻法一、K近邻算法1.k近邻法\qquad输入:训练数据集T={(x1,y1),(x2,y2),⋯ ,(xN,yN)}\quad\quad T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\}T={(x1,y1),(x2,y2),⋯,(xN,yN)}其中,xi∈x⊆Rnx_i\in x\subseteq R^nxi∈x⊆Rn为实例的特征向量,yi∈y={c1,c2,⋯ ,ck}y_i\in y=\{c_1,c_2,\cdots,c_k\}yi∈
2021-05-23 15:03:01
326
原创 变位词代码识别
变位词算法一、变位词的定义变位词:两个词之间存在组成字母的重新排列关系。比如heart和earth,python和typhon二、识别两个词是否为变位词为简单起见,假设参与判断的两个词仅由小写字母构成,而且长度相等。1.逐字比较def anagramSolution1(s1,s2): '''逐字检查''' alist=list(s2). ##字符串是不可修改的 pos1=0 stillOK=True while pos1<len(s1) and s
2021-05-22 17:25:27
133
原创 sql初步入门语句
sql基本语句1.查看数据库 show databases;2.使用某个数据库use sys;3.查看该数据库的表show tables;4.查看其他数据库的表show tables from mysql;注:这里还是在sys数据库中查看的mysql的表若使用use mysql;show tables;就改变了所处数据库。即当前位于mysql数据库。5.查看所处数据库select database();6.在该数据库中创建表create table st
2021-05-22 15:40:55
97
原创 回归树和分类树的实现原理(调包实现和自己编写)
决策树决策树是一种基本的分类与回归方法一、用于分类的决策树\qquad在分类问题中,基于特征对实例进行分类的过程。可以认为是if−thenif-thenif−then规则的集合,也可以认为是定义是在特征空间与类空间上的条件概率分布。1.决策树学习假设给定训练数据集 D={(x1,y1),(x2,y2),⋯ ,(xN,yN)}\qquad\qquad\ D=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\} D={(x1,y1),(x2,y2
2021-05-22 15:19:49
525
2
原创 栈和队列python实现
容器————数据结构的一种一个容器结构里包含一组其他类型的数据对象,称为其元素,支持对这些元素的存储,管理和使用。栈和队列都是保存数据元素的容器,这就意味着可以把元素存入其中,或者从中取出元素使用。栈保证元素先进后出队列保证元素先进先出一、栈(stack)1.栈的定义栈是一种容器,可存入数据元素、访问元素、删除元素等。2.栈的性质存入栈中的元素之间相互没有任何具体关系,只有到来的时间先后顺序。因此在任何时刻可以访问、删除的元素都是在此之前最后存入的那个元素。3.栈的特征先进后出———
2021-04-21 22:33:50
183
原创 链表python实现(单链表,双链表,单向循环链表)
线性表线性表的定义:一些元素的序列,维持着元素之间的一种线性关系。线性表分为顺序表和链接表(链表)一、顺序表1.定义将表中元素顺序地存放在一大块连续的存储区里,元素间的顺序关系由它们的存储顺序自然表示。2.顺序表的两种布局方案(1)如果一个表里保存的元素类型相同,那么每个表元素所需的存储量相同,即可在表里等距安排同样大小的存储位置。如下图左(2)如果一个表里保存的元素类型不同,那么每个表元素所需的存储量可能不全相同,因此不能在表里等距安排同样大小的存储位置。对于这种情况,将实际数据元素另行存
2021-04-21 11:31:35
1026
1
原创 排序算法伪代码以及python实现——插入,归并,快速,堆,计数
一、插入排序1.问题输入:n个数的一个序列⟨a1,a2,⋯ ,an⟩\left\langlea_1,a_2,\cdots ,a_n\right\rangle⟨a1,a2,⋯,an⟩输出:⟨a1′,a2′,⋯ ,an′⟩,满足a1′≤a2′≤...≤an′\left\langlea_1^{'},a_2^{'},\cdots,a_n{'}\right\rangle,满足a_1^{'}\leq a_2^{'}\leq ...\leq a_n^{'}⟨a1′,a2′,⋯,an′⟩,满足a1′
2021-04-14 08:36:06
2925
3
原创 MAC系统python画图显示中文字体
MAC系统python画图显示中文字体plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']
2021-03-16 11:13:16
3360
原创 Kmeans吴恩达机器学习
K-means算法一、导入库和数据%matplotlib inlineimport numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom scipy.io import loadmatmat = loadmat('/Users/renjianmei/Downloads/机器学习/吴恩达编程作业/machine-learning-ex7/ex7/ex7data2.mat')mat.keys()#dict_keys
2021-02-05 14:13:33
237
1
原创 matplotlib绘图参数设置
import numpy as npimport pandas as pdimport matplotlib.pyplot as plt import matplotlib.patches as mpatchesfrom scipy.interpolate import splinex = np.arange(-5,11)y = x**3 + 2*(x**2) + x + 2y2 = 2*(x**3) + 2*(x**2) + x + 1plt.figure(figsize=(10,6)
2020-12-26 11:18:52
250
原创 机器学习神经网络---反向传播Python(吴恩达课后作业)
任务依旧是手写数字识别,通过神经网络的反向传播来训练参数,得到最优化模型一、引入库和数据集import numpy as npimport scipy.io as iodata=io.loadmat('C:/Users/Administrator/Desktop/新建文件夹/ex4data1.mat')X=data['X']y=data['y'].ravel() # 将y一维化data2=io.loadmat('C:/Users/Administrator/Desktop/新建文件夹/ex
2020-11-13 14:07:57
774
原创 机器学习python神经网络——利用已经训练好的参数进行预测
一、引入库和数据集import numpy as npimport scipy.io as ioimport matplotlib.pyplot as pltdata=io.loadmat('C:/Users/Administrator/Desktop/新建文件夹/ex3data1.mat') #type(data)-----dictdata.keys() #字典data的键有哪些,以列表的形式给出#dict_keys(['__header__', '__version__', '_
2020-11-13 12:07:18
2249
原创 机器学习python逻辑回归——多分类(吴恩达课后作业)
一、引入库和数据集import numpy as npimport scipy.io as ioimport matplotlib.pyplot as pltdata=io.loadmat('C:/Users/Administrator/Desktop/新建文件夹/ex3data1.mat') #type(data)-----dictdata.keys() #字典data的键有哪些,以列表的形式给出#dict_keys(['__header__', '__version__', '_
2020-11-13 11:39:01
817
原创 机器学习python——正则化逻辑回归(吴恩达课后作业)
通过芯片在两种测试中的测试结果,建立正则化逻辑回归算法模型,来决定芯片是否通过测试(拥有过去芯片测试的数据集)一、导入库和数据集import numpy as npimport pandas as pdimport matplotlibimport matplotlib.pyplot as pltmatplotlib.rcParams['font.sans-serif']=['SimHei']#用黑体显示中文matplotlib.rcParams['axes.unicode_minus']=F
2020-11-06 20:31:25
1357
原创 机器学习python——逻辑回归模型(决策边界是线性的)(吴恩达课后作业)
通过以往学生的两门考试成绩和录取结果建立逻辑回归模型来预测新学生能否被录取。一、引入库和导入文件import pandas as pdimport numpy as npimport matplotlibimport matplotlib.pyplot as pltdf=pd.read_csv('C:/Users/Administrator/AppData/Local/Temp/Temp1_machine-learning-ex2.zip/machine-learning-ex2/ex2/ex2
2020-11-06 11:14:11
753
原创 机器学习python——线性回归模型的正规方程(吴恩达课后作业)
一、单变量线性回归模型——用正规方程求解参数theta1.引进要用到的库和导入文件import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport matplotlibmatplotlib.rcParams['font.sans-serif']=['SimHei']#用黑体显示中文df=pd.read_csv('C:/Users/Administrator/AppData/Local/Temp/Temp1_m
2020-10-31 16:35:59
1293
原创 多变量线性回归(梯度下降算法)——机器学习(吴恩达课后作业)
多变量线性回归题目:通过两个特征变量房子的大小和卧室的数量来预测房子的价格编写程序的过程一.要引进的库和导入数据集1.要引进的库import numpy as npimport pandas as pdimport matplotlib import matplotlib.pyplot as pltmatplotlib.rcParams['font.sans-serif']=['SimHei']#用黑体显示中文2.导入数据集df=pd.read_csv('C:/Users/Admin
2020-10-30 17:16:48
2275
原创 机器学习python——单变量线性回归模型(吴恩达课后作业)
一. 首先要引进的库import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport matplotlibmatplotlib.rcParams['font.sans-serif']=['SimHei']#用黑体显示中文,这样做的目的是matplotlib做出的图的轴标签和标题可以用中文表示二.导入文件df=pd.read_csv('C:/Users/Administrator/AppData/Local/T
2020-10-26 12:36:42
1287
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人