聚类

使用树状图做层次聚类分析

£可爱£侵袭症+ 提交于 2021-01-05 13:27:26
一、实验目的 如果您以前从未使用过树状图,那么使用树状图是查看多维数据如何聚集在一起的好方法。 在这本笔记本中,我将简单探索通过层次分析,借助树状图将其可视化。 二、层次分析 层次分析是聚类分析的一种,scipy有这方面的封装包。 linkage函数从字面意思是链接,层次分析就是不断链接的过程,最终从n条数据,经过不断链接,最终聚合成一类,算法就此停止。 dendrogram是用来绘制树形图的函数。 三、实验数据 grain_variety是标签,其他列为多种属性的值(特征)。 from scipy.cluster.hierarchy import linkage, dendrogram import matplotlib.pyplot as plt import pandas as pd seeds_df = pd.read_csv('seeds-less-rows.csv') seeds_df.head() #移除grain_variety varieties = list(seeds_df.pop('grain_variety')) varieties ['Kama wheat', 'Kama wheat', 'Kama wheat', 'Rosa wheat', 'Rosa wheat', 'Rosa wheat', 'Rosa wheat', 'Rosa wheat',

思考:如何保证服务稳定性?

拈花ヽ惹草 提交于 2021-01-04 08:33:38
最近一直在忙618大促的全链路压测&稳定性保障相关工作,结果618还未开始,生产环境就出了几次生产故障,且大多都是和系统稳定性、性能相关的bad case。 生产全链路压测终于告一段落,抽出时间将个人收集的稳定性相关资料整理review了一遍,顺带从不同的维度,谈谈稳定性相关的“务虚”认知和思考。 。 。 一、SLA! 在开始谈稳定性保障之前,我们先来聊聊业内经常提及的一个Topic: SLA! 业内喜欢用SLA (服务等级协议,全称:service level agreement)来衡量系统的稳定性,对互联网公司来说就是网站服务可用性的一个保证。9越多代表全年服务可用时间越长服务越可靠,停机时间越短。就以一个标准99.99%为例,停机时间52.6分钟,平均到每周也就是只能有差不多1分钟的停机时间,也就是说网络抖动这个时间可能就没了。保证一个系统四个9或者更高的五个9,需要一套全体共识严格标准的规章制度,没有规矩不成方圆。创建的规范有如下几种: 1、研发规范、自身稳定; 2、事务中不能包含远程调用; 3、超时时间和重试次数要合理; 4、表数据操作必须double check,合理利用索引,避免出现慢查询、分库分表不走分表键; 5、没有有效的资源隔离, 避免不同业务共用一个线程池或连接池; 6、合理的系统拓扑,禁止不合理的服务依赖,能去依赖就去依赖,否则同步依赖尽量改成异步弱依赖;

标准化和归一化

孤人 提交于 2020-12-27 00:59:37
一、是什么? 1. 归一化   是为了将数据映射到0~1之间,去掉量纲的过程,让计算更加合理,不会因为量纲问题导致1米与100mm产生不同。   归一化是 线性模型 做数据预处理的关键步骤,比如LR,非线性的就不用归一化了。   归一化就是让不同维度之间的特征在数值上有一定比较性,可以大大提高分类器的准确性。 缺点: 这种方法有个缺陷就是当有新数据加入时,可能导致max和min的变化,需要重新定义 。 另外,最大值与最小值非常容易受异常点影响, 所以这种方法鲁棒性较差,只适合传统精确小数据场景 2. z-标准化   消除分布产生的度量偏差,例如:班级数学考试,数学成绩在90-100之间,语文成绩在60-100之间,那么,小明数学90,语文100,小花数学95,语文95,如何评价两个综合成绩好坏的数学处理方式。 二、怎么选? 1. 标准化 标准化更好保持了样本间距。当样本中有异常点时,归一化有可能将正常的样本“挤”到一起去。比如三个样本,某个特征的值为1,2,10000,假设10000这个值是异常值,用归一化的方法后,正常的1,2就会被“挤”到一起去。如果不幸的是1和2的分类标签还是相反的,那么,当我们用梯度下降来做分类模型训练时,模型会需要更长的时间收敛,因为将样本分开需要更大的努力!而标准化在这方面就做得很好,至少它不会将样本“挤到一起”。 标准化更符合统计学假设

《AI算法工程师手册》

两盒软妹~` 提交于 2020-12-25 18:34:13
本文转载自: http://www.huaxiaozhuan.com/ 这是一份机器学习算法和技能的学习手册,可以作为学习工作的参考,都看一遍应该能收获满满吧。 作者华校专,曾任阿里巴巴资深算法工程师,现任智易科技首席算法研究员,《Python 大战机器学习》的作者。 这是作者多年以来学习总结的笔记,经整理之后开源于世。目前还有约一半的内容在陆续整理中,已经整理好的内容放置在此。 曾有出版社约稿,但是考虑到出版时间周期较长,而且书本购买成本高不利于技术广泛传播,因此作者采取开源的形式。 笔记内容仅供个人学习使用,非本人同意不得应用于商业领域。 笔记内容较多,可能有些总结的不到位的地方,欢迎大家探讨。联系方式:huaxz1986@163.com 另有个人在 github 上的一些内容: "《算法导论》的C++实现"代码:https://github.com/huaxz1986/cplusplus-_Implementation_Of_Introduction_to_Algorithms 《Unix 环境高级编程第三版》笔记:https://github.com/huaxz1986/APUE_notes 数学基础 1.线性代数基础 一、基本知识 二、向量操作 三、矩阵运算 四、特殊函数 2.概率论基础 一、概率与分布 二、期望和方差 三、大数定律及中心极限定理 五、常见概率分布 六

NLP 事件抽取综述(中)—— 模型篇

梦想与她 提交于 2020-12-25 16:34:53
NewBeeNLP公众号原创出品 公众号专栏作者 @lucy 北航博士在读 · 文本挖掘/事件抽取方向 前情提要 : 超全必读!事件抽取综述(上) 本系列文章主要分享近年来 事件抽取方法总结 ,包括中文事件抽取、开放域事件抽取、事件数据生成、跨语言事件抽取、小样本事件抽取、零样本事件抽取等。主要包括以下几大部分: 定义(Define) 综述(Survey) 模型(Models) 数据集(Datasets) 挑战与展望(Future Research Challenges) Github地址: https://github.com/xiaoqian19940510/Event-Extraction 全文数万字,分几篇整理,后续会同之前的 文本分类综述 一样整理成PDF分享给大家,欢迎持续关注!综述内涉及的所有事件抽取必读论文清单,我们已经提前为大家整理打包好啦,订阅号后台回复 『事件抽取』 即可获取喔~ 另外,最近建立了 『知识图谱』 方向讨论组,快来和大佬们一起精准交流吧,文末自取 事件抽取 2020 1、 Reading the Manual: Event Extraction as Definition Comprehension, EMNLP 2020 [1] 动机 提出一种新颖的事件抽取方法,为模型提供带有漂白语句(实体用通用的方式指代)的模型。漂白语句是指基于注释准则

Product Quantization for Nearest Neighbor Search 论文笔记

坚强是说给别人听的谎言 提交于 2020-12-23 20:33:53
摘要    本文介绍了一种基于乘积量化的近似最近邻搜索方法。 这个想法是将空间分解为低维子空间的笛卡尔积,并分别量化每个子空间。 矢量由其子空间量化索引和短码表示。 可以从它们的码字有效地估计两个矢量之间的欧氏距离。 非对称版本增加了精度,因为它计算向量和码字之间的近似距离。 实验结果表明,我们的方法有效地搜索最近邻居,特别是与倒置文件系统相结合。 SIFT和GIST图像描述符的结果显示出优异的搜索精度,优于三种最先进的方法。 我们的方法的可扩展性在20亿个向量的数据集上得到验证。 简介    在本文中,我们使用量化构造短码字。 目标是使用向量到质心距离来估计距离,即,不对量化查询向量,仅将代码分配给数据库向量。 这减少了量化噪声并随后提高了搜索质量。 为了获得精确的距离,必须限制量化误差。 因此,质心的总数k应该足够大,例如,对于64位代码,k = 2^64。 这引发了关于如何学习码本和分配的几个问题: 首先,学习量化器所需的样本数量很大,即几倍于k。 其次,算法本身的复杂性令人望而却步。 最后,地球上可用的计算机内存量不足以存储表示质心的浮点值。    分层k均值(HKM)提高了学习阶段和相应分配程序的效率[13]。 然而,上述限制仍然适用,特别是关于存储器使用和学习集的大小。 另一种可能性是标量量化器,但就存储器和重建误差之间的权衡而言,它们提供了差的量化误差特性。

数据科学导引(大纲)

我的梦境 提交于 2020-12-22 04:46:52
线性回归(Linear Regression) 求解方法 最小二乘法 极大似然估计法(MLE) 梯度下降法 推广 多项式线性回归 广义线性回归 正则化 L1正则化(Lasso) L2正则化(Ridge,岭回归) 代码 分类(Classification) 最近邻(Nearest Neighbor) K Nearest Neigbor(K近邻,KNN) kd树 决策树(Decision Tree) 感知机(Perceptron) 逻辑回归(Logistic Regression) 支持向量机(Support Vector Machine,SVM) 神经网络(Neural Networks) 朴素贝叶斯(Naive Bayes) 集成模型(Ensemble Models) Bootstrap Aggregating(Bagging) Boosting Stacking Bagging减少variance,Boosting减少bias? 聚类(Clustering) K-means 分层聚类(Hierarchical Clustering) 谱聚类(Spectral Clustering) 基于密度的聚类(Density-based Clustering) 聚类的评判标准 降维(Dimensionality Reduction) 线性降维方法 PCA(Principle

阿里巴巴文娱NLP团队招聘

只谈情不闲聊 提交于 2020-12-19 15:06:41
团队简介 阿里巴巴文娱NLP团队大量招人(P6-P8),我们承接着文娱全部技术线的各类NLP需求,专注研发自然语言分析技术(分类、聚类、情感、问答、关系抽取、知识图谱),为各项顶层业务提供NLP技术支持(知识推断、意图识别、query改写、搜索相关性、全网搜索等)。 我们不断夯实技术进而驱动商业,目标是成为最有价值的商业自然语言处理团队,采用平台化策略服务好阿里内外的各种需求。 阿里巴巴文娱部门NLP算法团队支撑文娱集团整体业务线的NLP需求,专注研发自然语言分析技术(分类、聚类、情感、问答、关系抽取、知识图谱),为各项顶层业务提供NLP技术支撑(知识推断、意图识别、query改写、搜索相关性、全网搜索等)。在不断夯实技术进而驱动商业,成为最有价值的商业自然语言处理团队,采用平台化策略服务阿里内外的各种需求。 坐标 - 杭州 岗位职责 - 运用机器学习、深度学习技术,研发文本分析、知识图谱相关算法,并应用于个性化推荐&搜索; - 改进和研发文本理解、文本生成、主题发现、知识抽取等技术; - 跟踪业界与学界最新进展,并能够快速应用到实际业务中。 岗位要求 - 编程基础扎实,熟练使用至少一种常用编程语言,如 Python / C++ / Java,熟悉 Tensorflow、Keras、Caffe等深度学习工具。 - 熟悉机器学习的基础方法(分类、回归、排序、降维等

收藏|Pandas缺失值处理看这一篇就够了!

心不动则不痛 提交于 2020-12-19 14:55:17
Pandas 是一个强大的分析结构化数据的工具集,它的使用基础是Numpy(提供高性能的矩阵运算),用于数据挖掘和数据分析,同时也提供数据清洗功能。 在往期文章中,已经详细讲解了Pandas做分析数据的四种基本操作: 索引 、 分组 、 变形 及 合并 。 现在,开始正式介绍Pandas的数据结构类型: 缺失数据、文本数据、分类数据和时序数据。 在接下来的两章中,会接触到数据预处理中比较麻烦的类型,即缺失数据和文本数据(尤其是混杂型文本)。今天,我们首先对缺失数据进行系统地梳理。 本文目录 1. 基础概念 1.1. 缺失值分类 1.2. 缺失值处理方法 2. 缺失观测及其类型 2.1. 了解缺失信息 2.2. 三种缺失符号 2.3. Nullable类型与NA符号 2.4. NA的特性 2.5. convert_dtypes方法 3. 缺失数据的运算与分组 3.1. 加号与乘号规则 3.2. groupby方法中的缺失值 4. 填充与剔除 4.1. fillna方法 4.2. dropna方法 5. 插值 5.1. 线性插值 5.2. 高级插值方法 5.3. interpolate中的限制参数 6. 问题及练习 6.1. 问题 6.2. 练习 基础概念 首先,对缺失值分类和缺失值处理方法进行讲解。 缺失值的分类 按照数据缺失机制可分为: 可忽略的缺失 完全随机缺失(missing

(数据科学学习手札14)Mean-Shift聚类法简单介绍及Python实现

。_饼干妹妹 提交于 2020-12-19 04:35:11
不管之前介绍的K-means还是K-medoids聚类,都得事先确定聚类簇的个数,而且肘部法则也并不是万能的,总会遇到难以抉择的情况,而本篇将要介绍的Mean-Shift聚类法就可以自动确定k的个数,下面简要介绍一下其算法流程:   1.随机确定样本空间内一个半径确定的高维球及其球心;   2.求该高维球内质心,并将高维球的球心移动至该质心处;   3.重复2,直到高维球内的密度随着继续的球心滑动变化低于设定的阈值,算法结束 具体的原理可以参考下面的地址,笔者读完觉得说的比较明了易懂: http://blog.csdn.net/google19890102/article/details/51030884 而在Python中,机器学习包sklearn中封装有该算法,下面用一个简单的示例来演示如何在Python中使用Mean-Shift聚类: 一、低维 from sklearn.cluster import MeanShift import matplotlib.pyplot as plt from sklearn.manifold import TSNE from matplotlib.pyplot import style import numpy as np ''' 设置绘图风格 ''' style.use( ' ggplot ' ) ''' 生成演示用样本数据 '''