Machine learning
文章平均质量分 83
机器学习
shaobo Huang
化繁为简,高效极致
展开
-
TP,TN,FP,FN
P:true positive,被判定为正样本,事实上也是正样本;TN:true negative,被判定为负样本,事实上也是负样本;FP:false positive,被判定为正样本,但事实上是负样本;FN:false negative,被判定为负样本,但事实上是正样本;如果y代表预测数据,y_true代表真实数据y_true =[1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, 1, 1,原创 2020-10-29 11:39:06 · 301 阅读 · 0 评论 -
DBSCAN聚类算法
DBSCAN是一种基于密度的聚类算法首先,DBSCAN算法会以任何尚未访问过的任意起始数据点为核心点,并对该核心点进行扩充。这时我们给定一个半径/距离ε,任何和核心点的距离小于ε的点都是它的相邻点。如果核心点附近有足够数量的点,则开始聚类,且选中的核心点会成为该聚类的第一个点。如果附近的点不够,那算法会把它标记为噪声(之后这个噪声可能会成为簇中的一部分)。在这两种情形下,选中的点都会被标记为“已访问”。一旦聚类开始,核心点的相邻点,或者说以该点出发的所有密度相连的数据点(注意是密度相连)会被划分进原创 2020-10-23 14:32:39 · 1639 阅读 · 0 评论 -
Outlier Detection with Isolation Forest(孤立森林异常检测)
与其他流行的孤立点检测方法不同的主要思想是,孤立森林显式地识别异常,而不是对正常数据点进行分析。 孤立林和任何一种树系算法一样,都是建立在决策树的基础上的。 在这些树中,首先是随机选择一个特征,然后在所选特征的最小值和最大值之间选择一个随机分割值来创建的。原则上,离群点不像正常点那样频繁,在数值上与它们不同(它们离特征空间中的常规点更远)。 这就是为什么通过使用这样的随机分区,它们更接近树的根(较短的平均路径长度,即观察到的边数必须通过从根到终端节点的树),并且需要更少的分割。从图1中可以看出正常点(左翻译 2020-10-22 17:30:17 · 876 阅读 · 0 评论 -
lightGBM
LightGBM 是一个梯度 boosting 框架,使用基于学习算法的决策树。它可以说是分布式的,高效的,它有以下优势:更快的训练效率低内存使用更好的准确率支持并行学习可处理大规模数据lightGBM特点以上与其说是xgboost的不足,倒不如说是lightGBM作者们构建新算法时着重瞄准的点。解决了什么问题,那么原来模型没解决就成了原模型的缺点。概括来说,lightGBM主要有以下特点:基于Histogram的决策树算法带深度限制的Leaf-wise的叶子生转载 2020-05-12 12:05:37 · 297 阅读 · 1 评论 -
PCA(主成分分析)
主成分分析(英语:Principal components analysis,PCA)是一种分析、简化数据集的技术。主成分分析经常用于减少数据集的维数,同时保持数据集中的对方差贡献最大的特征。常常应用在文本处理、人脸识别、图片识别、自然语言处理等领域。可以做在数据预处理阶段非常重要的一环,本文首先对基本概念进行介绍,然后给出PCA算法思想、流程、优缺点等等。最后通过一个综合案例去实现应用。降维...原创 2019-12-25 12:25:16 · 5227 阅读 · 0 评论 -
k-近邻算法
这是一个实现KNN的class,主要看方法predict,在这里输入一个数组和一个K值,返回一个新的数组,新数组的功能是根据选取最近距离的组数对相应数据做出预测,部分代码如下:import mathclass KNN:def predict(self,arr,k): newArr=[] for list in arr: arr1=[] ...原创 2018-09-10 19:00:57 · 293 阅读 · 0 评论 -
MLP多层感知机
一、多层感知机(MLP)原理简介多层感知机(MLP,Multilayer Perceptron)也叫人工神经网络(ANN,Artificial Neural Network),除了输入输出层,它中间可以有多个隐层,最简单的MLP只含一个隐层,即三层的结构,如下图:从上图可以看到,多层感知机层与层之间是全连接的(全连接的意思就是:上一层的任何一个神经元与下一层的所有神经元都有连接)。多层感...翻译 2019-12-24 11:19:43 · 1142 阅读 · 0 评论 -
浅谈EM算法的两个理解角度
EM算法即“期望极大算法”。EM算法分两步:E步求期望,M步求极大。但是期望是求谁的期望,极大是求谁的极大呢?这里面其实有两种解读角度。“通俗”角度通俗角度的话,求极大肯定是求似然函数的极大了,而且一般都是对数似然。我们一般解决模型参数求解问题,都是在给定数据的情况下,求解使得似然函数最大的参数的取值。用公式表示就是:θ^=arg maxθ log P(X...转载 2019-12-02 10:23:59 · 254 阅读 · 0 评论 -
维特比算法( viterbi)
本文的内容大多来自李航的《统计学习方法》点击此处下载书籍这篇文章就是想以通俗易懂的方式解析维特比算法,最后用python代码实现。算法原理原理显而易见是求动态规划问题:找出每个时刻概率最大的路径将路径上的每个结点连接起来得到最优路径根据观测求出每个时刻最有可能的状态算法思路初始化:t = 1时刻分别求出N个状态下产生观测变量1的概率。递推:当t和i不变时j = 1,...原创 2019-10-18 10:21:49 · 692 阅读 · 0 评论 -
HMM(隐马尔科夫模型)
看完这个你就基本理解HMM是神马东西了用python代码实现HMM模型:utility.py #-*- coding:utf-8import numpy as np""" generateIndex from hiddenState or ovservationsState Attributes ---------- states : hiddenStates...原创 2019-10-18 09:35:07 · 442 阅读 · 0 评论 -
朴素贝叶斯
朴素贝叶斯分类方法1. 概率例如,在一次同时掷一个硬币和一个骰子的随机试验中,假设事件A为获得国徽面且点数大于4,那么事件A的概率应该有如下计算方法:S={(国徽,1点),(数字,1点),(国徽,2点),(数字,2点),(国徽,3点),(数字,3点),(国徽,4点),(数字,4点),(国徽,5点),(数字,5点),(国徽,6点),(数字,6点)},A={(国徽,5点),(国徽,6点)},按...原创 2019-10-17 12:27:39 · 250 阅读 · 0 评论 -
支持向量机
线性可分支持向量机构建分类器,寻找一个超平面(hyperplane), 使得距离分割超平面最近的点和分割超平面的间隔(margin)尽可能远。使分类器尽可能健壮。支持向量(support vector)就是离分割超平面最近的那些点。 分割超平面的对应方程为wx+b=0, 它由法向量w和截距b决定。点到超平面的距离为|wA+b|/||w||。w****x表示w和x的内积。计算数据点到分割面距离并...原创 2019-10-17 10:19:11 · 168 阅读 · 0 评论 -
决策树的构建
决策树是一种很常用的分类算法,他的计算复杂度不高,输出结果易于理解。下面介绍用两种方式构建决策树,第一种是传统意义的构建,第二种是按照自己的思路加以修改的。测试代码dataSet = [[1,1,‘yes’],[1,1,‘yes’],[0,1,‘No’],[1,0,‘No’],[1,0,‘No’]]labels = [‘技能’,‘态度’]方法一:from math import log...原创 2018-09-20 14:55:23 · 733 阅读 · 0 评论 -
K-means聚类
import numpy as np import huang import matplotlib.pyplot as pltfrom sklearn.cluster import KMeans from sklearn.datasets import make_blobsplt.figure(figsize=(12, 12))n_samples = 1500 random_s...原创 2018-09-11 09:49:55 · 1094 阅读 · 0 评论 -
特征工程之特征预处理
在前面我们分别讨论了特征工程中的特征选择与特征表达,本文我们来讨论特征预处理的相关问题。主要包括特征的归一化和标准化,异常特征样本清洗与样本数据不平衡问题的处理。1. 特征的标准化和归一化由于标准化和归一化这两个词经常混用,所以本文不再区别标准化和归一化,而通过具体的标准化和归一化方法来区别具体的预处理操作。z-score标准化:这是最常见的特征预处理方式,基本所有的线性模型在拟合的时候...转载 2019-07-18 11:00:16 · 235 阅读 · 0 评论 -
特征工程之特征表达
在特征工程之特征选择中,我们讲到了特征选择的一些要点。本篇我们继续讨论特征工程,不过会重点关注于特征表达部分,即如果对某一个特征的具体表现形式做处理。主要包括缺失值处理,特殊的特征处理比如时间和地理位置处理,离散特征的连续化和离散化处理,连续特征的离散化处理几个方面。1. 缺失值处理特征有缺失值是非常常见的,大部分机器学习模型在拟合前需要所有的特征都有值,不能是空或者NULL。那么如果有缺...转载 2019-07-18 10:53:57 · 107 阅读 · 0 评论 -
特征工程之特征选择
特征工程是数据分析中最耗时间和精力的一部分工作,它不像算法和模型那样是确定的步骤,更多是工程上的经验和权衡。因此没有统一的方法。这里只是对一些常用的方法做一个总结。本文关注于特征选择部分。后面还有两篇会关注于特征表达和特征预处理。1. 特征的来源在做数据分析的时候,特征的来源一般有两块,一块是业务已经整理好各种特征数据,我们需要去找出适合我们问题需要的特征;另一块是我们从业务特征中自己去寻找高...转载 2019-07-18 10:47:08 · 151 阅读 · 0 评论 -
为什么梯度反方向是函数下降最快的方向?
刚接触梯度下降这个概念的时候,是在学习机器学习算法的时候,很多训练算法用的就是梯度下降,然后资料和老师们也说朝着梯度的反方向变动,函数值下降最快,但是究其原因的时候,很多人都表达不清楚。所以我从方向导数这个角度把这个结论证明出来,让我们知其然也知其所以然~下面我一开始不提梯度的概念,完全根据自己的理解进行下文的梳理,一步一步推出梯度的来历:导数导数的几何意义可能很多人都比较熟悉: 当函数定义...原创 2019-03-14 09:44:51 · 799 阅读 · 0 评论