精华内容
下载资源
问答
  • (一)数据标准化方法:  (1)离差标准化(最大最小值标准化)  (2)标准差标准化、  (3)归一化标准化  (4)二值化标准化  (5)独热编码标准化  (二)聚类的方法:  (1)划分法(k-means算法(k-...

    (一)数据标准化的方法: 
    (1)离差标准化(最大最小值标准化) 
    (2)标准差标准化、 
    (3)归一化标准化 
    (4)二值化标准化 
    (5)独热编码标准化 

    (二)聚类的方法: 
    (1)划分法(k-means算法(k-均值算法),k-MEDOIDS算法(k-中心),CLARANS算法) 
    (2)层次分析方法(BIRCH算法,cure算法) 
    (3)基于密度的方法(DBSCAN算法,DENCLUS算法) 
    (4)基于网格的方法(STING算法,CLIOUE算法(聚类高维空间)) 
    聚类模型评价的指标: 
    (1) 兰德系数(ARI评价法),需要真实值,最佳值为1,python里的sklearm函数adjust_rand_score 
    (2)互信息(AMI评价法),需要真实值,最佳值为1,python里的sklearm函数adjust_mutuai_info_score 
    (3)V-measure评价法, 需要真实值,最佳值为1,python里的sklearm函数completeness_score 
    (4)FMI评价法,需要真实值,最佳值为1,python里的sklearm函数fowlkes_mallows_score 
    (5)轮廓系数评价法,不需要真实值,畸变程度最大,python里的sklearm函数silhouette_score 
    (6)Calinski- Harabasz指数评价法,不需要真实值,相对较大,python里的sklearm函数calinski_harabaz_core 
    说明:评价的标准是组内的相似性越大,组间相似性越小,前四种方法因为有真实值得参与相对于后两种更具有说服力,那么当有真实值得参与时聚类的评价可以等同于分类算法的评价 ,轮廓系数在不考虑业务情况下得分越高越好,最高得分是1 

    (三)分类模型的方法: 
    (1)逻辑斯蒂回归,在python里的模块为linear_model,函数名为logisticRegression 
    (2)支持向量机,在python里的模块为SVM ,函数名为SVC 
    (3) k最近邻分类,在python里的模块为neighbors ,函数名为KNeighborsClassifier 
    (4)高斯朴素贝叶斯,在python里的模块为naive_bayes ,函数名为GaussiaNB 
    (5)分类决策树,在python里的模块为tree ,函数名为Decision Tree Classifier 
    (6) 随机森林,在python里的模块为ensemble ,函数名为RandomForestClassifier 
    (7)梯度提升分类树,在python里的模块为ensemble ,函数名为GrndientBoostingClassidier 


    分类模型评价的指标: 
    (1) precision(精确率),最佳值为1,sklearn函数metrics.precision_score 
    (2)Recall(召回率),最佳值为1,sklearn函数metrics.recall_score 
    (3)F1 值,最佳值为1 ,sklearn函数metrics.f1_score 
    (4)Cohen’s Kappa系数,最佳值为1,sklearn.cohen_kappa_score 
    (5)ROC曲线,最靠近有轴,在sklearn。roc_curve 


    (四)回归模型的方法: 
    线性回归、非线性回归、logistics回归、岭回归、主成分回归 
    线性回归,在python里的模块linear_model, 函数为linearRegression 
    支持向量机回归,在python里的模块svm, 函数为SVR 
    最近岭回归、回归决策树、随机森林回归、梯度提升回归树


    回归模型的评价指标: 

    回归模型评价

    方法名称 最优值 sklearn函数
    平均绝对误差 0.0 metrics. mean_absolute_error
    均方误差 0.0 metrics. mean_squared_error
    中值绝对误差 0.0 metrics. median_absolute_error
    可解释方差值 1.0 metrics. explained_variance_score
    R方值,确定系数 1.0 metrics. r2_score


    说明:回归模型的评价不同于分类模型,虽然都是对真实在进行对比,但是由于回归模型的预测结果的真实值都是线性的,不能够求取precision,recall,和f1等值评价,回归模型拥有自己的评价指标。 


    转自:https://blog.csdn.net/data_bug/article/details/81586412

    展开全文
  • Python3实现常用数据标准化方法

    万次阅读 多人点赞 2018-06-16 12:32:50
    常用数据标准化方法python实现 数据标准化是机器学习、数据挖掘中常用的一种方法。包括我自己在做深度学习方面的研究时,数据标准化是最基本的一个步骤。数据标准化主要是应对特征向量中数据很分散的情况,防止小...

    数据标准化是机器学习、数据挖掘中常用的一种方法。包括我自己在做深度学习方面的研究时,数据标准化是最基本的一个步骤。数据标准化主要是应对特征向量中数据很分散的情况,防止小数据被大数据(绝对值)吞并的情况。另外,数据标准化也有加速训练,防止梯度爆炸的作用。下面是从李宏毅教授视频中截下来的两张图。

    左图表示未经过数据标准化处理的loss更新函数,右图表示经过数据标准化后的loss更新图。可见经过标准化后的数据更容易迭代到最优点,而且收敛更快。

    一、[0, 1] 标准化

    [0, 1] 标准化是最基本的一种数据标准化方法,指的是将数据压缩到0~1之间。标准化公式如下,
    x=xmin(x)max(x)mix(x) x = \dfrac{x - min(x)}{max(x) - mix(x)}
    代码实现,

    def MaxMinNormalization(x, min, max):
        """[0,1] normaliaztion"""
        x = (x - min) / (max - min)
        return x
    

    或者,

    def MaxMinNormalization(x):
        """[0,1] normaliaztion"""
        x = (x - np.min(x)) / (np.max(x) - np.min(x))
        return x
    

    二、Z-score标准化

    Z-score标准化是基于数据均值和方差的标准化化方法。标准化后的数据是均值为0,方差为1的正态分布。这种方法要求原始数据的分布可以近似为高斯分布,否则效果会很差。标准化公式如下,
    x=xmeanstd x = \dfrac{x - mean}{std}
    下面,我们看看为什么经过这种标准化方法处理后的数据为是均值为0,方差为1,

    代码实现,

    def ZscoreNormalization(x, mean_, std_):
        """Z-score normaliaztion"""
        x = (x - mean_) / std_
        return x
    

    或者,

    def ZscoreNormalization(x):
        """Z-score normaliaztion"""
        x = (x - np.mean(x)) / np.std(x)
        return x
    

    【参考文献】

    https://en.wikipedia.org/wiki/Feature_scaling

    展开全文
  • 数据标准化方法有很多种,常用的有"最小-最大标准化"、"Z-score标准化"和"按小数定标标准化"等。经过上述标准化处理,原始数据均转换为无量纲化指标测评值,即各指标值都处于同一个数量级别上,可以进行综合测评...
                                                <div class="article-copyright">
                <span class="creativecommons">
                <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">
                    </a>
            <span>
                版权声明:本文为博主原创文章,遵循<a href="http://creativecommons.org/licenses/by-sa/4.0/" target="_blank" rel="noopener"> CC 4.0 BY-SA </a>版权协议,转载请附上原文出处链接和本声明。            </span>
               <div class="article-source-link2222">
                    本文链接:<a href="https://blog.csdn.net/HHTNAN/article/details/80668746">https://blog.csdn.net/HHTNAN/article/details/80668746</a>
                </div>
            </span>
                    </div>
                                                    <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-3019150162.css">
                                        <div id="content_views" class="markdown_views prism-atom-one-dark">
                    <!-- flowchart 箭头图标 勿删 -->
                    <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
                        <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path>
                    </svg>
                                            <p></p><div class="toc"><h3>文章目录</h3><ul><ul><ul><ul><li><a href="#_4" rel="nofollow" data-token="b9ab0ec6298f266af105c1dfcfe9a077" target="_self">数据标准化</a></li><li><a href="#_7" rel="nofollow" data-token="cd47b6def2f5b8901521d02b02d6f57a" target="_self">常见的几种形式</a></li><ul><li><a href="#Minmax__9" rel="nofollow" data-token="458337058966d39bdf02c529666ac5d8" target="_self">Min-max 标准化数据缩放:</a></li><li><a href="#zscore__16" rel="nofollow" data-token="99cf14c6d9543c132cc6f29b3fc2e5fd" target="_self">z-score 标准化</a></li></ul><li><a href="#Python_21" rel="nofollow" data-token="ee34e32b391d718d7cd032226fbf3314" target="_self">Python标准化预处理函数:</a></li><li><a href="#_41" rel="nofollow" data-token="c7f3081d3c675884c7810bd6cd5d834a" target="_self">对应的标准化预处理类:</a></li><ul><ul><li><a href="#classpreprocessingStandardScalercopyTrue_with_meanTruewith_stdTrue_42" rel="nofollow" data-token="e91785b8f56adb2f4d9b6ffc1421853c" target="_self">classpreprocessing.StandardScaler(copy=True, with_mean=True,with_std=True):</a></li><li><a href="#classpreprocessingMinMaxScalerfeature_range0_1copyTrue_53" rel="nofollow" data-token="22dda7dd5f4e901132a6a12fd3f4c9c3" target="_self">classpreprocessing.MinMaxScaler(feature_range=(0, 1),copy=True):</a></li><li><a href="#classpreprocessingMaxAbsScalercopyTrue_63" rel="nofollow" data-token="19df8e888e4535b888cb788f1bab2e70" target="_self">classpreprocessing.MaxAbsScaler(copy=True):</a></li><li><a href="#classpreprocessingKernelCenterer_80" rel="nofollow" data-token="00333c1870cb0f048d299de70c371726" target="_self">classpreprocessing.KernelCenterer:</a></li><li><a href="#_82" rel="nofollow" data-token="ca558b2cf19a0f53801d4d83916dd19a" target="_self">以上几个标准化类的方法:</a></li></ul></ul><li><a href="#_93" rel="nofollow" data-token="a3736b80752b1bb7fb5cb1324e460739" target="_self">数据归一化</a></li><li><a href="#_119" rel="nofollow" data-token="b7bf2e654791c15fa85954d7d3ec541a" target="_self">类别数据编码</a></li><li><a href="#_160" rel="nofollow" data-token="5acb6145f51a0b38b123fb1a11ae18e2" target="_self">数据缺失</a></li><li><a href="#_176" rel="nofollow" data-token="aacf7ef70c359f839c54d903f857dfc5" target="_self">生成多项式数据</a></li><li><a href="#_195" rel="nofollow" data-token="d344075690b62620c794600c87f4621e" target="_self">增加伪特征</a></li><li><a href="#_202" rel="nofollow" data-token="b5be9292109b1cd8f2baf6a098334716" target="_self">自定义数据转换</a></li><li><a href="#_214" rel="nofollow" data-token="8b04ee4c8548401018c391146e183514" target="_self">案例</a></li><ul><li><a href="#scale_237" rel="nofollow" data-token="920a6234eed7d76f766e5e87ebf70ae1" target="_self">使用scale方法进行标准化</a></li></ul><li><a href="#MaxMinScaler_252" rel="nofollow" data-token="4b86c1ca3c6359b8faae1384b2c46d3c" target="_self">MaxMinScaler方法</a></li></ul></ul></ul></ul></div><p></p>
    

    2018博客之星评选,如果喜欢我的文章,请投我一票,编号:No.009 支持连接 ,万分感谢!!!

    数据标准化

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

    常见的几种形式

    通常数据标准化有以下几种:

    Min-max 标准化数据缩放:

    x=xxminxmaxxminx=xxminxmaxxminx=xxminxmaxxminx’=x−xminxmax−xminx’=x−xminxmax−xmin x’ = \frac{x-x_{min}}{x_{max}-x_{min}}x=δxμ μ δ

    Python标准化预处理函数:

    preprocessing.scale(X,axis=0, with_mean=True, with_std=True, copy=True):
    
    • 1

    将数据转化为标准正态分布(均值为0,方差为1)

    preprocessing.minmax_scale(X,feature_range=(0, 1), axis=0, copy=True):
    
    • 1

    将数据在缩放在固定区间,默认缩放到区间 [0, 1]

    preprocessing.maxabs_scale(X,axis=0, copy=True):
    
    • 1

    数据的缩放比例为绝对值最大值,并保留正负号,即在区间 [-1.0, 1.0] 内。唯一可用于稀疏数据
    scipy.sparse的标准化

    preprocessing.robust_scale(X,axis=0, with_centering=True, with_scaling=True,copy=True):
    
    • 1

    通过 Interquartile Range (IQR) 标准化数据,即四分之一和四分之三分位点之间

    对应的标准化预处理类:

    classpreprocessing.StandardScaler(copy=True, with_mean=True,with_std=True):

    标准正态分布化的类
    属性:

    scale_:ndarray,缩放比例
    mean_:ndarray,均值
    var_:ndarray,方差
    n_samples_seen_:int,已处理的样本个数,调用partial_fit()时会累加,调用fit()会重设
    
    • 1
    • 2
    • 3
    • 4
    classpreprocessing.MinMaxScaler(feature_range=(0, 1),copy=True):

    将数据在缩放在固定区间的类,默认缩放到区间 [0, 1],对于方差非常小的属性可以增强其稳定性,维持稀疏矩阵中为0的条目
    属性:

    min_:ndarray,缩放后的最小值偏移量
    scale_:ndarray,缩放比例
    data_min_:ndarray,数据最小值
    data_max_:ndarray,数据最大值
    data_range_:ndarray,数据最大最小范围的长度
    
    • 1
    • 2
    • 3
    • 4
    • 5
    classpreprocessing.MaxAbsScaler(copy=True):

    数据的缩放比例为绝对值最大值,并保留正负号,即在区间 [-1.0, 1.0] 内。可以用于稀疏数据scipy.sparse
    属性:

    scale_:ndarray,缩放比例
    max_abs_:ndarray,绝对值最大值
    n_samples_seen_:int,已处理的样本个数
    
    • 1
    • 2
    • 3
    classpreprocessing.RobustScaler(with_centering=True,with_scaling=True, copy=True):
    
    • 1

    通过 Interquartile Range (IQR) 标准化数据,即四分之一和四分之三分位点之间
    属性:

    center_:ndarray,中心点
    scale_:ndarray,缩放比例
    
    • 1
    • 2
    classpreprocessing.KernelCenterer:

    生成 kernel 矩阵,用于将 svm kernel 的数据标准化(参考资料不全)

    以上几个标准化类的方法:

    fit(X[,y]):根据数据 X 的值,设置标准化缩放的比例
    transform(X[,y, copy]):用之前设置的比例标准化 X
    fit_transform(X[, y]):根据 X设置标准化缩放比例并标准化
    partial_fit(X[,y]):累加性的计算缩放比例
    inverse_transform(X[,copy]):将标准化后的数据转换成原数据比例
    get_params([deep]):获取参数
    set_params(**params):设置参数

    数据归一化

    preprocessing.normalize(X,norm='l2', axis=1, copy=True):
    
    • 1

    将数据归一化到区间 [0, 1],norm 可取值 ‘l1’、‘l2’、‘max’。可用于稀疏数据 scipy.sparse

    classpreprocessing.Normalizer(norm='l2', copy=True):
    
    • 1

    数据归一化的类。可用于稀疏数据 scipy.sparse

    方法:fit(X[,y])、transform(X[, y,copy])、fit_transform(X[,y])、get_params([deep])、
    set_params(**params)
    
    • 1
    • 2

    数据二值化

    preprocessing.binarize(X,threshold=0.0, copy=True):
    
    • 1

    将数据转化为 0 和 1,其中小于等于 threshold 为 0,可用于稀疏数据 scipy.sparse

    classpreprocessing.Binarizer(threshold=0.0,copy=True):
    
    • 1

    二值化处理的类,可用于稀疏数据 scipy.sparse

    方法:fit(X[,y])、transform(X[, y,copy])、fit_transform(X[,y])、get_params([deep])、set_params(**params),其中fit 函数不会做任何操作

    类别数据编码

    数据的某些特征是文本,特征是无序的,比如国籍,但数字是有序的,所以不能直接用数字编码

    classpreprocessing.OneHotEncoder(n_values='auto',categorical_features='all', dtype='float', sparse=True,handle_unknown='error'):
    
    • 1

    将具有多个类别的特征转换为多维二元特征,所有二元特征互斥,当某个二元特征为 1 时,表示取某个类别
    参数:
    n_values:处理的类别个数,可以为‘auto’,int或者 int数组
    categorical_features:被当作类别来处理的特征,可以为“all”或者下标数组指定或者mask数组指定
    属性:
    active_features_:ndarray,实际处理的类别数
    feature_indices_:ndarray,第 i个原特征在转换后的特征中的下标在 feature_indices_[i] 和 feature_indices_[i+1]之间
    n_values_:ndarray,每维的类别数
    方法:fit(X[, y])、transform(X[, y,copy])、fit_transform(X[,y])、get_params([deep])、set_params(**params)

    classpreprocessing.LabelBinarizer(neg_label=0, pos_label=1,sparse_output=False):
    
    • 1

    和 OneHotEncoder 类似,将类别特征转换为多维二元特征,并将每个特征扩展成用一维表示
    属性:
    classes:ndarry,所有类别的值
    y_type_:str
    multilabel_:bool
    sparse_input_:bool
    indicator_matrix_:str
    方法:fit(X[,y])、transform(X[, y,copy])、fit_transform(X[,y])、inverse_transform(y)、get_params([deep])、set_params(**params)

    preprocessing.label_binarize(y,classes, neg_label=0, pos_label=1, sparse_output=False):
    LabelBinarizer 类对应的处理函数
    classpreprocessing.LabelEncoder:
    将类别特征标记为 0 到 n_classes - 1 的数
    方法:fit(X[,y])、transform(X[, y,copy])、fit_transform(X[,y])、inverse_transform(y)、get_params([deep])、set_params(**params)
    classpreprocessing.MultiLabelBinarizer(classes=None,sparse_output=False):
    和 LabelBinarizer 类似

    feature_extraction.DictVectorizer类
    patsy包

    数据缺失

    classpreprocessing.Imputer(missing_values='NaN',strategy='mean', axis=0, verbose=0, copy=True):
    
    • 1

    参数:

    missing_values:int 或者“NaN”,对np.nan的值用 "NaN"
    strategy:"mean"、"median"、"most_frequent"
    
    • 1
    • 2

    属性:

    statistics_:ndarray,当axis==0时,取每列填补时用的值
    
    • 1

    方法:fit(X[,y])、transform(X[, y,copy])、fit_transform(X[,y])、get_params([deep])、set_params(**params)

    生成多项式数据

    可以将数据多项式结合生成多维特征,比如 [a,b] 的二次多项式特征为 [1, a, b, a^2, ab, b^2]

    classpreprocessing.PolynomialFeatures(degree=2,interaction_only=False, include_bias=True):
    
    • 1

    参数:

    degree:int,多项式次数
    interaction_only:boolean,是否只产生交叉相乘的特征
    include_bias:boolean,是否包含偏移列,即全为1 的列
    属性:
    powers_:ndarray,二维数组。powers_[i,j] 表示第 i 维输出中包含的第 j 维输入的次数
    n_input_features_:int,输入维数
    n_output_features_:int,输出维数
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    方法:
    fit(X[,y])、transform(X[, y,copy])、fit_transform(X[,y])、get_params([deep])、set_params(**params)

    增加伪特征

    preprocessing.add_dummy_feature(X,value=1.0):
    
    • 1

    在 X 的第一列插入值为 value 的列

    自定义数据转换

    可以使用自定义的 python函数来转换数据

    classpreprocessing.FunctionTransformer(func=None,validate=True, accept_sparse=False, pass_y=False):
    
    • 1

    方法:

    fit(X[,y])、transform(X[, y,copy])、fit_transform(X[,y])、get_params([deep])、set_params(**params)
    
    • 1

    案例

    自己写一个公式来进行标准化:

    def my_scale(data):
        mean = sum(data) / len(data)  #先求均值
        variance = ( sum([ (I-mean) ** 2 for I in data])  ) / len(data)  #再求方差
        normal = [(I - mean) / (variance ) ** 0.5 for I in data]  #按照公式标准化
        return normal
    
    • 1
    • 2
    • 3
    • 4
    • 5

    利用pandas处理
    对每一列进行标准化(每个数值在0-1之间)

    import numpy as np  
    import pandas as pd  
    np.random.seed(1)  
    df = pd.DataFrame(np.random.randn(4,4)* 4 + 3)  
    方法一  
    df=df.apply(lambda x: (x - np.min(x)) / (np.max(x) - np.min(x)))    
    方法二  
    df=(df - df.min()) / (df.max() - df.min())  
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    使用scale方法进行标准化
    from sklearn import preprocessing
    import numpy as np
    X_train = np.array([[ 1., -1.,  2.],
                        [ 2.,  0.,  0.],
                        [ 0.,  1., -1.]])
    

    X_scaled = preprocessing.scale(X_train)
    print(X_scaled)

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    [[ 0. -1.22474487 1.33630621]
    [ 1.22474487 0. -0.26726124]
    [-1.22474487 1.22474487 -1.06904497]]

    MaxMinScaler方法

    import numpy as np
    from sklearn import preprocessing
    

    X_train = np.array([[ 1., -1., 2.],
    [ 2., 0., 0.],
    [ 0., 1., -1.]])

    min_max_sacler = preprocessing.MinMaxScaler()
    min_max_sacler.fit(X_train)

    print(min_max_sacler.transform(X_train))

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    [[0.5 0. 1. ]
    [1. 0.5 0.33333333]
    [0. 1. 0. ]]

                                    </div>
                <link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-095d4a0b23.css" rel="stylesheet">
    
    展开全文
  • 目前数据标准化方法有多种,归结起来可以分为直线型方法(如极值法、标准差法)、折线型方法(如三折线法)、曲线型方法(如半正态性分布)。不同的标准化方法,对系统的评价结果会产生不同的影响,然而不幸的是,在数据...

     

    数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间。目前数据标准化方法有多种,归结起来可以分为直线型方法(如极值法、标准差法)、折线型方法(如三折线法)、曲线型方法(如半正态性分布)。不同的标准化方法,对系统的评价结果会产生不同的影响,然而不幸的是,在数据标准化方法的选择上,还没有通用的法则可以遵循。

    常见的方法有:min-max标准化(Min-max normalization),log函数转换,atan函数转换,z-score标准化(zero-mena normalization,此方法最为常用),模糊量化法,均值归一化。本文只介绍min-max标准化、Z-score标准化方法、均值归一化、log函数转换、atan函数转换

    data = [1, 3, 4, 5, 2, 13, 23, 71, 11, 19, 9, 24, 38]

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

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

     

    from __future__ import print_function, division
    
    
    # min-max标准化方法
    data0 = [(x - min(data))/(max(data) - min(data)) for x in data]
    

    二、Z-score标准化方法

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

    from __future__ import print_function
    import math
    
    
    # 均值
    average = float(sum(data))/len(data)
    
    
    # 方差
    total = 0
    for value in data:
        total += (value - average) ** 2
     
    stddev = math.sqrt(total/len(data))
    
    
    # z-score标准化方法
    data1 = [(x-average)/stddev for x in data]
    

    三、均值归一化

    两种方式,以max为分母的归一化方法和以max-min为分母的归一化方法

    from __future__ import print_function
    
    # 均值
    average = float(sum(data))/len(data)
    
    
    # 均值归一化方法
    data2_1 = [(x - average )/max(data) for x in data]
    
    data2_2 = [(x - average )/(max(data) - min(data)) for x in data]
    

     四、log函数转换方法

    from __future__ import print_function
    
    import math
    
    
    # log2函数转换
    data3_1 = [math.log2(x) for x in data]
    
    
    # log10函数转换
    data3_2 = [math.log10(x) for x in data]
    

     五、atan函数转换方法

    from __future__ import print_function
    
    import math
    
    
    # atan函数转换方法
    data4 = [math.atan(x) for x in data]
    

    转载于:https://www.cnblogs.com/yahengwang/p/10634010.html

    展开全文
  • # 导入归一化方法 from sklearn.preprocessing import MinMaxScaler mms = MinMaxScaler() # 调用方法对数据进行归一化处理 data['X_train'] = mms.fit_transform(data['X_train']) X_train :需要做归一化处理的...
  • 数据标准化:是指将数据按比例缩放,使之落入到特定区间   1 进行0-1 表转化计算公式 使用环境: 在聚类分析,主成分分析的时候,因为量纲不一所以需要 # 导入归一化方法 from sklearn.preprocessing import ...
  • (一)数据标准化方法: (1)离差标准化(最大最小值标准化) (2)标准差标准化、 (3)归一化标准化 ...
  • 在数据分析之前,我们通常需要先将数据标准化(normalization),利用标准化后的数据进行数据分析。数据标准化也就是统计数据的指数化。数据标准化处理主要包括数据同趋化处理和无量纲化处理两个方面。数据同趋化...
  • 两个常用的数据标准化方法及Matlab和Python实现

    万次阅读 多人点赞 2017-12-12 19:13:12
    数据标准化(归一化)处理是数据挖掘的一项基础工作,不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果。为了消除指标(特征)之间的量纲影响,数据集需要进行数据标准化处理,以解决...
  • python 数据预处理 数据标准化

    千次阅读 2017-05-22 14:03:00
    对每一列进行标准化(每个数值在0-1之间)import numpy as np import pandas as pd np.random.seed(1) df = pd.DataFrame(np.random.randn(4,4)* 4 + 3) 方法一df=df.apply(lambda x: (x - np.min(x)) / (np.max(x)...
  • 数据标准化(归一化)处理是数据挖掘的一项基础工作,不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的...
  • 文章目录前言一、什么是 and 为什么要标准化二、方法介绍与实操1.实现中心化和正态分布的Z-Score2.实现归一化的Max-Min3.用于稀疏矩阵的MaxAbs4....数据标准化是一个常用的数据预处理操作,目的是处理不同.
  • 文章目录数据归一化、标准化、正则化1、归一化2、标准化3、正则化4、代码测试4.1 导库4.2 创建数据4.3 查看原始数据的均值、方差4.4 归一化4.5 标准化4.6 正则化 数据归一化、标准化、正则化 1、归一化 是将数据...
  • 数据挖掘-数据标准化 python实现 数据标准化 数据是 [1, 2, 3, 4, 5, 6, 7,... 代码4-1 Python实现标准化方法 """ import numpy as np import math class DataNorm: def __init__(self): self.arr = [1, 2, 3, 4, 5
  • 文章目录内容介绍标准化&归一化红酒数据集进行标准化&归一化标准化处理对PCA主成分分析的影响 ...数据标准化 同样我们都需要对原始数据进行处理,少不了的就是 standardization (或者叫做 Z-score normaliz
  • 知识点 SVR 参考 支持向量机(SVM)是一种分类算法,但是也可以做回归,根据输入...SVR()就是SVM算法来做回归用的方法(即输入标签是连续值的时候要用的方法),通过以下语句来确定SVR的模式: from sklearn.svm...
  • 数据标准化处理 问题: 量纲不一:就是单位、特征的单位不一致,不能放在一起比较 处理方法: 0-1标准化、Z标准化、normalizer归一化 案例: # -*- coding: utf-8 -*- import pandas import numpy data=...
  • Python数据预处理—归一化,标准化,正则化关于数据预处理的几个概念归一化 (Normalization):属性缩放到一个指定的最大和最小值(通常是1-0)之间,这可以通过preprocessing.MinMaxScaler类实现。常用的最小最大...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 776
精华内容 310
关键字:

python数据标准化方法

python 订阅