精华内容
下载资源
问答
  • 数据归一化和两种常用的归一化方法

    万次阅读 多人点赞 2018-07-22 18:40:03
    数据标准化(归一化)处理是数据挖掘的一项基础工作,不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响...以下是两种常用的归一化方法: 一、min-max标准化(Min-Max Normalization) 也称为离差标准...

    数据标准化(归一化)处理是数据挖掘的一项基础工作,不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的可比性。原始数据经过数据标准化处理后,各指标处于同一数量级,适合进行综合对比评价。以下是两种常用的归一化方法:

    一、min-max标准化(Min-Max Normalization)

    也称为离差标准化,是对原始数据的线性变换,使结果值映射到[0 - 1]之间。转换函数如下:

    clip_image002

          其中max为样本数据的最大值,min为样本数据的最小值。这种方法有个缺陷就是当有新数据加入时,可能导致max和min的变化,需要重新定义。

    二、Z-score标准化方法

        这种方法给予原始数据的均值(mean)和标准差(standard deviation)进行数据的标准化。经过处理的数据符合标准正态分布,即均值为0,标准差为1,转化函数为:

    clip_image004

    其中clip_image006为所有样本数据的均值,clip_image008为所有样本数据的标准差。

     

    Z-score标准化的sklearn方法:http://blog.csdn.net/u011630575/article/details/79406612


    数据的标准化(normalization)和归一化

        数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间。在某些比较和评价的指标处理中经常会用到,去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权。其中最典型的就是数据的归一化处理,即将数据统一映射到[0,1]区间上。

        目前数据标准化方法有多种,归结起来可以分为直线型方法(如极值法、标准差法)、折线型方法(如三折线法)、曲线型方法(如半正态性分布)。不同的标准化方法,对系统的评价结果会产生不同的影响,然而不幸的是,在数据标准化方法的选择上,还没有通用的法则可以遵循。

    归一化的目标

    1 把数变为(0,1)之间的小数
            主要是为了数据处理方便提出来的,把数据映射到0~1范围之内处理,更加便捷快速,应该归到数字信号处理范畴之内。
    2 把有量纲表达式变为无量纲表达式
            归一化是一种简化计算的方式,即将有量纲的表达式,经过变换,化为无量纲的表达式,成为纯量。 比如,复数阻抗可以归一化书写:Z = R + jωL = R(1 + jωL/R) ,复数部分变成了纯数量了,没有量纲。 
    另外,微波之中也就是电路分析、信号系统、电磁波传输等,有很多运算都可以如此处理,既保证了运算的便捷,又能凸现出物理量的本质含义。

     

    归一化后有两个好处

    1. 提升模型的收敛速度

    如下图,x1的取值为0-2000,而x2的取值为1-5,假如只有这两个特征,对其进行优化时,会得到一个窄长的椭圆形,导致在梯度下降时,梯度的方向为垂直等高线的方向而走之字形路线,这样会使迭代很慢,相比之下,右图的迭代就会很快(理解:也就是步长走多走少方向总是对的,不会走偏)


    2.提升模型的精度

    归一化的另一好处是提高精度,这在涉及到一些距离计算的算法时效果显著,比如算法要计算欧氏距离,上图中x2的取值范围比较小,涉及到距离计算时其对结果的影响远比x1带来的小,所以这就会造成精度的损失。所以归一化很有必要,他可以让各个特征对结果做出的贡献相同。

        在多指标评价体系中,由于各评价指标的性质不同,通常具有不同的量纲和数量级。当各指标间的水平相差很大时,如果直接用原始指标值进行分析,就会突出数值较高的指标在综合分析中的作用,相对削弱数值水平较低指标的作用。因此,为了保证结果的可靠性,需要对原始指标数据进行标准化处理。

        在数据分析之前,我们通常需要先将数据标准化(normalization),利用标准化后的数据进行数据分析。数据标准化也就是统计数据的指数化。数据标准化处理主要包括数据同趋化处理和无量纲化处理两个方面。数据同趋化处理主要解决不同性质数据问题,对不同性质指标直接加总不能正确反映不同作用力的综合结果,须先考虑改变逆指标数据性质,使所有指标对测评方案的作用力同趋化,再加总才能得出正确结果。数据无量纲化处理主要解决数据的可比性。经过上述标准化处理,原始数据均转换为无量纲化指标测评值,即各指标值都处于同一个数量级别上,可以进行综合测评分析。

    从经验上说,归一化是让不同维度之间的特征在数值上有一定比较性,可以大大提高分类器的准确性。

    3. 深度学习中数据归一化可以防止模型梯度爆炸。

    数据需要归一化的机器学习算法

    需要归一化的模型:

            有些模型在各个维度进行不均匀伸缩后,最优解与原来不等价,例如SVM(距离分界面远的也拉近了,支持向量变多?)。对于这样的模型,除非本来各维数据的分布范围就比较接近,否则必须进行标准化,以免模型参数被分布范围较大或较小的数据dominate。
            有些模型在各个维度进行不均匀伸缩后,最优解与原来等价,例如logistic regression(因为θ的大小本来就自学习出不同的feature的重要性吧?)。对于这样的模型,是否标准化理论上不会改变最优解。但是,由于实际求解往往使用迭代算法,如果目标函数的形状太“扁”,迭代算法可能收敛得很慢甚至不收敛。所以对于具有伸缩不变性的模型,最好也进行数据标准化。

    不需要归一化的模型:

            ICA好像不需要归一化(因为独立成分如果归一化了就不独立了?)。

           基于平方损失的最小二乘法OLS不需要归一化。

    展开全文
  • 六种常用分类方法包括两种线性分类及四种非线性分类法,分别是: 一、线性判别分析 from sklearn.model_selection import train_test_split from sklearn.naive_bayes import GaussianNB from sklearn.preprocessing...

    机器学习常用的六种分类方法,Python代码详细都在这里!
    六种常用分类方法包括两种线性分类及四种非线性分类法,分别是:
    一、线性判别分析

    from sklearn.model_selection import train_test_split
    from sklearn.naive_bayes import GaussianNB
    from sklearn.preprocessing import StandardScaler
    from sklearn import svm
    from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
    from sklearn.neighbors import KNeighborsClassifier
    from sklearn.tree import DecisionTreeClassifier
    from sklearn.linear_model import LogisticRegression
    from numpy import *
    import
    def lda():
        #data=np.loadtxt(open("D:\\卞朝法文件\\Myfile\\红边位置.txt"))
        # 处理数据
        # data = pd.DataFrame(data)
        x,y = Data[:,:-1],Data[:,-1]
        x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.25)#random_state=10
        # 特征工程标准化
        std = StandardScaler()
        x_train = std.fit_transform(x_train)
        x_test = std.transform(x_test)
        # y_train=std.fit_transform(y_train.reshape(-1, 1))
        # y_test=std.transform(y_test.reshape(-1, 1))
    
        # 用线性判别分析分类
        classifer = LinearDiscriminantAnalysis()
        classifer.fit(x_train, y_train)
        predictions = classifer.predict(x_test)
        #返回值为准确率,可以设为预测值
        return classifer.score(x_test,y_test)
    #由于随机种子大小不同,数据集划分不确定性,so取函数运行100次均值 
    start = datetime.datetime.now()
    a1=[]
    for i in range(1,100):
        k1=lda()
        a1.append(k1)
    b1=mean(a1)
    print("线性判别分析准确率均值:",b1) 
    #记录运行时间
    end = datetime.datetime.now()
    print("运行时长",end - start)
    

    二、逻辑回归分类
    仅需改变上述代码中类及函数名即可

    classifer = LogisticRegression()
    

    三、支持向量机高斯核函数分类
    仅需改变上述代码中类及函数名即可

    rbf_clf = svm.SVC(C=0.8, kernel='rbf', gamma=20, decision_function_shape='ovr')#C=0.8
    

    四、朴素贝叶斯分类
    仅需改变上述代码中类及函数名即可

    mlt=GaussianNB()
    

    五、K近邻分类
    仅需改变上述代码中类及函数名即可

     Knn=KNeighborsClassifier(n_neighbors=7)
    

    六、决策树分类
    仅需改变上述代码中类及函数名即可

    classifer = DecisionTreeClassifier()
    

    如果为您解答了问题,就关注点赞以及评论哦,谢谢您的支持!

    展开全文
  • C++中常用两种创建动态数组方法:new()和vector.  1、new 方法:int *p=new int[num];创建一个容量为num的int型数组,num可来自外部输入、函数传递等,int型指针p指向动态数组的首地址,在动态数组创建完成后,...

    C++中常用的两种创建动态数组方法:new()和vector.

     1、new 方法:int *p=new int[num];创建一个容量为num的int型数组,num可来自外部输入、函数传递等,int型指针p指向动态数组的首地址,在动态数组创建完成后,我们可以下标访问数组元素:p[0],p[1]...,但是new方法不能创建二维数组,只能创建一维数组,并且创建后数据元素操作缺乏灵活性;用得最多的地方当属创建链表结点

     2、vector容器:能够存放任意类型的动态数组(C++中更加常用,注意Java中的是Vector类),常用基本操作:      

              (1)头文件#include<vector>.

              (2)创建一维vector对象,vector<int> vec;二维vector<vector<int>> vec2;

              (3)尾部插入数字:vec.push_back(a);

              (4)尾部元素弹出:vec.pop_back();相当于删除尾部元素;

              (5)使用下标访问元素,cout<<vec[0]<<endl;记住下标是从0开始的,和数组的访问形式一样。

              (6)插入元素:vec.insert(vec.begin()+i,a);在第i+1个元素前面插入a;

              (7)删除元素:vec.erase(vec.begin()+2);删除第3个元素

                              vec.erase(vec.begin()+i,vec.end()+j);删除区间[i,j-1];区间从0开始

              (8)向量大小:vec.size();

              (9)清空:vec.clear();

              (10)初始化赋值:
       vector c1(c2)      // 复制一个vector(c2也是一个vector)
       vector c(n)        // 创建一个vector,含有n个数据,数据均已缺省构造产生
       vector c(n, elem) // 创建一个含有n个elem元素的vector
       vector c(beg,end) // int array[]={1,2,3},beg=array,end=array+3,用数组为vector赋值

             (11)判断是否为空:vec.empty();

    自定义排序时:sort(vec.begin(),vec.end(),Comp);Comp可以自定义。

     

    另附C++标准容器分类表(网上有多个版本,我认为这个更容易理解):

    标准容器类

    特点

    顺序性容器

    vector

    从后面快速的插入与删除,直接访问任何元素

    deque

    从前面或后面快速的插入与删除,直接访问任何元素

    list

    双链表,从任何地方快速插入与删除

    关联容器

    set

    快速查找,不允许重复值

    multiset

    快速查找,允许重复值

    map

    一对多映射,基于关键字快速查找,不允许重复值

    multimap

    一对多映射,基于关键字快速查找,允许重复值

    容器适配器

    stack

    后进先出

    queue

    先进先出

    priority_queue

    最高优先级元素总是第一个出列

    参考:

    https://blog.csdn.net/Jin_Kwok/article/details/51361575

       

     

    展开全文
  • 分类问题特征选择的常用两方法  2014-6-25   (1)互信息。值越大,相关性越强   w是特征,t是目标。反应的是特征出现和不出现对目标值的影响。     (2) 卡方检验   其中 A = N(w = 1,...

    二分类问题特征选择的常用两个方法

                 by dylanfan  at  2014-6-25

     

    1)互信息。值越大,相关性越强


     

    w是特征,t是目标。反应的是特征出现和不出现对目标值的影响。

     

     

    (2) 卡方检验


     

    其中 A = N(w = 1, t = 1)、 B = N(w = 1, t = 0)、 C = N(w = 0, t = 1)、 D = N(w =

    0, t = 0)


     

    卡方值越大,相关性越强。


    卡方检验是统计假设特征和目标值独立不相关,然后从实际分布结果来看是否拒绝原假设。卡方值越高,拒绝的概率越高。 

    下面是个卡方值对应的分布图。



     

    展开全文
  • 二极管的分类常用方法

    万次阅读 多人点赞 2017-09-13 16:23:26
    前面调试一个板子,半天没搞清楚啥问题,直接USB...所以借此总结一下二极管的常见使用方法。1.肖特基二极管1.1概念一般的PN结二极管是利用N型半导体与P型半导体形成的PN结制作而成。肖特基二极管(SBD)不是利用P型半导
  • 5种常用的相关分析方法

    万次阅读 多人点赞 2018-09-09 15:32:50
    相关分析(Analysis of Correlation)是网站分析中经常使用的分析方法之一。通过对不同特征或数据间的关系进行分析,发现业务运营中...本篇文章将介绍5种常用的分析方法。在开始介绍相关分析之前,需要特别说明的是...
  • 16种常用的数据分析方法汇总

    万次阅读 多人点赞 2017-04-04 16:16:33
    经常会有朋友问到一个朋友,数据分析常用的分析方法有哪些,我需要学习哪个等等之类的问题,今天数据分析精选给大家整理了十六种常用的数据分析方法,供大家参考学习。 一、描述统计 描述性统计是指运用制表和...
  • 机器学习、数据挖掘工作中,数据前期准备、数据预处理过程、特征提取等几个步骤几乎要花费数据工程师一半的工作时间。...从业数据建模/挖掘工作也近2年的时间,在这里结合谈一谈数据预处理中归一化方法。 在
  • 论文标题:A Dataset for Breast Cancer ...LBP是一简单有效的用于纹理分类的特征提取算法,由ojala等人于1996年提出,从纹理分析的角度看,图像上某个像素点的纹理特征,大多数情况下是指这个像素点和周围像素点...
  • ML之FE:数据处理—特征工程之特征选择常用方法之基于搜索策略的三种分类、基于评价准则划分的三种分类(Filter/Wrapper/Embedded)及其代码实现 目录 Wrapper包裹式/封装式——基于搜索策略的三类 T1、全局...
  • 系统测试分类和测试常用方法

    万次阅读 2019-09-12 06:44:20
    一、系统测试分类 1、功能测试:验证当前软件主体功能是否实现 2、兼容性测试:验证当前软件在不同的环境下是否还可以使用。window,mac,浏览器,在电脑,ipad上能用吗 3、安全测试:验证软件是否只是对授权用户...
  • 种常用的特征选择方法

    万次阅读 多人点赞 2016-12-14 16:33:38
    种常用的特征选择方法
  • 黑盒测试9种常用方法

    千次阅读 2020-10-29 10:01:40
    包括:等价类划分、边界值分析(BVA)、因果图、判定(决策)表、组合覆盖(pairwise)、正交表法(OATS)、功能图法、场景设计法、错误推测法。 其中易考:等价类划分、BVA和场景...其中同时属于白盒测试的:BVA,功能图法。
  • 人脸识别中常用的几种分类

    万次阅读 2016-08-29 22:19:45
    在人脸识别中种常用分类器,一是最邻近分类器;二是线性分类器 (1)最邻近分类器  最近邻分类器是模式识别领域中最常用分类方法之一,其直观简单,在通常的应用环境中非常有效。因此在人脸识别问题中...
  • 常用分类聚类算法

    千次阅读 2017-12-11 09:15:50
    什么是分类 分类任务就是明确对象属于哪个预定义的目标类。其中预定义的目标类是离散时为...(参考常用分类算法总结) 决策树 基于规则的分类算法 朴素贝叶斯 杂货铺 最近邻分类器 贝叶斯信念网络(BBN)
  • 16种常用的数据统计分析方法汇总

    万次阅读 2019-04-24 16:43:00
    经常会有朋友问到一个朋友,数据分析常用的分析方法有哪些,我需要学习哪个等等之类的问题,今天数据分析精选给大家整理了十六种常用的数据分析方法,供大家参考学习。 (注:这些统计分析方法基本都是统计学的方法...
  • 数据分析常用的16种方法

    千次阅读 2018-09-11 20:24:43
    1、缺失值填充:常用方法:剔除法、均值法、最小邻居法、比率回归法、决策树法。 2、正态性检验:很多统计方法都要求数值服从或近似服从正态分布,所以之前需要进行正态性检验。常用方法:非参数检验的K-量检验、P-...
  • 目录简介一、监督学习1、决策树(Decision Tree,DT)2、朴素贝叶斯分类器(Naive Bayesian Model,NBM)3、最小二乘法(Least squares)4、逻辑回归(Logistic Regression)5、支持向量机(SVM)6、K最近邻算法...
  • SQL(Structured Query Language)结构化查询...常用的数据库工具哪些呢?(参看百度百科)>>什么是MS SQL数据库MS指的是微软Microsoft,SQL是结构化查询语言.结合起来就是说:MS SQL是指微软的SQL Server数据库服务器,
  • 常用无限极分类

    千次阅读 2015-11-03 16:02:22
    无限极分类
  • 数字类型常用方法总结

    千次阅读 2018-08-02 10:45:12
    Integer类的常用算法: byteValue() 返回值为byte,以byte类型返回Integer的值 compareTo() 比较个integer数字的大小 equals() 比较对象制定的对象是否相等 intValue()以int返回integer对象 shortValue() ...
  • 数据仓库常用建模方法

    万次阅读 2019-02-18 14:43:31
    数据模型是抽象描述现实世界的一工具和方法,是通过抽象的实体及实体之间联系的形式,来表示现实世界中事务的相互关系的一映射。在这里,数据模型表现的抽象的是实体和实体之间的关系,通过...
  • 中文“预测”的含义在“英语”情境下则有两种含义:evaluate,“估算”,前文归因的方法中,是从因变量Y发现自变量X,也就是Y-->X,“估算”则是“归因”的逆操...
  • 种常用的程序命名方法(规则)

    千次阅读 2018-11-20 20:38:26
    概述 在平时的开发工作中,为了提高开发...为了以后可能会阅读自己代码的同事或用户(接口的使用者)方便理解,我们最好使用常用的命名方法,这样他们就不太可能在背后发牢骚了,有时可能不止发牢骚哦~。同时了解...
  • SVM多分类两种方式

    万次阅读 多人点赞 2018-03-21 08:49:09
    以下内容参考:https://www.cnblogs.com/CheeseZH/p/5265959.html http://blog.csdn.net/rainylove1/article/details/32101113 王正海《基于决策树多分类支持向量机岩性波谱分类》 SVM本身是一个二值分类器,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 306,969
精华内容 122,787
关键字:

常用的分类方法有哪两种