当前位置: 首页 > news >正文

织梦网站被攻击网站制作优化排名

织梦网站被攻击,网站制作优化排名,wordpress中文摘要,怎么用织梦制作响应式布局网站OX00 引言数据和特征决定了机器学习的上限#xff0c;而模型和算法只是逼近这个上限而已。由此可见#xff0c;特征工程在机器学习中占有相当重要的地位。在实际应用当中#xff0c;可以说特征工程是机器学习成功的关键。特征做不好#xff0c;调参调到老。重视调参#x…OX00 引言数据和特征决定了机器学习的上限而模型和算法只是逼近这个上限而已。由此可见特征工程在机器学习中占有相当重要的地位。在实际应用当中可以说特征工程是机器学习成功的关键。特征做不好调参调到老。重视调参少走弯路特征工程又包含了Data PreProcessing数据预处理、Feature Extraction特征提取、Feature Selection特征选择和Feature construction特征构造等子问题而数据预处理又包括了数据清洗和特征预处理等子问题。OX01 标准化、归一化与正态分布化sklearn中的IRIS鸢尾花数据集来对特征处理功能进行说明from sklearn.datasets import load_iris #导入IRIS数据集 iris load_iris() #特征矩阵 iris.data #目标向量 iris.targetarray([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2]) 在sklearn中专门的用来数据归一化的方法StandardScaler。from 无量纲化使不同规格的数据转换到同一规格。常见的无量纲化方法有标准化和归一化。1.1 归一化最大最小【01】归一化区间缩放法利用了边界值信息将属性缩放到[0,1]。缺点这种方法有一个缺陷就是当有新数据加入时可能导致max和min的变化需要重新定义MinMaxScaler对异常值的存在非常敏感。import numpy as np import pandas as pd #方法一 def autoNorm(dataSet):norm_data(dataSet-dataSet.min(axis0))/(dataSet.max(axis0)-dataSet.min(axis0))return norm_data train_datanp.arange(16).reshape(4,4) print(autoNorm(train_data))[[0. 0. 0. 0. ][0.33333333 0.33333333 0.33333333 0.33333333][0.66666667 0.66666667 0.66666667 0.66666667][1. 1. 1. 1. ]] Python自带的【01】归一化from sklearn import preprocessing import numpy as np # 初始化数据每一行表示一个样本每一列表示一个特征 x np.array([[ 0., -3., 1.],[ 3., 1., 2.],[ 0., 1., -1.]]) # 将数据进行 [0,1] 规范化 min_max_scaler preprocessing.MinMaxScaler() minmax_x min_max_scaler.fit_transform(x) print (minmax_x)[[0. 0. 0.66666667][1. 1. 1. ][0. 1. 0. ]]MaxAbs归一化单独地缩放和转换每个特征使得训练集中的每个特征的最大绝对值将为1.0将属性缩放到[-1,1]。它不会移动/居中数据因此不会破坏任何稀疏性。缺点这种方法有一个缺陷就是当有新数据加入时可能导致max和min的变化需要重新定义MaxAbsScaler与先前的缩放器不同绝对值映射在[0,1]范围内。在仅有正数据时该缩放器的行为MinMaxScaler与此类似因此也存在大的异常值。from 1.2 标准化标准化也叫Z-score standardization,均值为0方差为1对列向量处理)标准化的前提是特征值服从正态分布标准化后其转换成标准正态分布。基于原始数据的均值mean和标准差standarddeviation进行数据的标准化。将A的原始值x使用z-score标准化到x’。z-score标准化方法适用于属性A的最大值和最小值未知的情况或有超出取值范围的离群数据的情况。优点Z-Score最大的优点就是简单容易计算Z-Score能够应用于数值型的数据并且不受数据量级的影响因为它本身的作用就是消除量级给分析带来的不便。缺点估算Z-Score需要总体的平均值与方差但是这一值在真实的分析与挖掘中很难得到大多数情况下是用样本的均值与标准差替代Z-Score对于数据的分布有一定的要求正态分布是最有利于Z-Score计算的Z-Score消除了数据具有的实际意义A的Z-Score与B的Z-Score与他们各自的分数不再有关系因此Z-Score的结果只能用于比较数据间的结果数据的真实意义还需要还原原值在存在异常值时无法保证平衡的特征尺度。def autoNorm(dataSet):norm_data(dataSet-dataSet.mean(axis0))/dataSet.std(axis0)return norm_data train_datanp.arange(16).reshape(4,4) print(autoNorm(train_data))[[-1.34164079 -1.34164079 -1.34164079 -1.34164079][-0.4472136 -0.4472136 -0.4472136 -0.4472136 ][ 0.4472136 0.4472136 0.4472136 0.4472136 ][ 1.34164079 1.34164079 1.34164079 1.34164079]]from sklearn import preprocessing import numpy as np # 初始化数据 x np.array([[ 0., -3., 1.],[ 3., 1., 2.],[ 0., 1., -1.]]) # 将数据进行 Z-Score 规范化 scaled_x preprocessing.scale(x) print (scaled_x) [[-0.70710678 -1.41421356 0.26726124][ 1.41421356 0.70710678 1.06904497][-0.70710678 0.70710678 -1.33630621]]数据标准化的原因某些算法要求样本具有零均值和单位方差需要消除样本不同属性具有不同量级时的影响。归一化有可能提高精度 数量级的差异将导致量级较大的属性占据主导地位从而与实际情况相悖比如这时实际情况是值域范围小的特征更重要数量级的差异将导致迭代收敛速度减慢 当使用梯度下降法寻求最优解时很有可能走“之字型”路线垂直等高线走从而导致需要迭代很多次才能收敛依赖于样本距离的算法对于数据的数量级非常敏感。1.3 标准化与归一化对比相同点它们的相同点在于都能取消由于量纲不同引起的误差都是一种线性变换都是对向量X按照比例压缩再进行平移。不同点目的不同归一化是为了消除纲量压缩到[0,1]区间标准化只是调整特征整体的分布归一化与最大最小值有关标准化与均值标准差有关归一化输出在[0,1]之间标准化无限制。什么时候用归一化什么时候用标准化如果对输出结果范围有要求用归一化如果数据较为稳定不存在极端的最大最小值用归一化如果数据存在异常值和较多噪音用标准化可以间接通过中心化避免异常值和极端值的影响。归一化与标准化的应用场景在分类、聚类算法中需要使用距离来度量相似性的时候如SVM、KNN、或者使用PCA技术进行降维的时候标准化(Z-score standardization)表现更好在不涉及距离度量、协方差计算、数据不符合正太分布的时候可以使用归一化方法。比如图像处理中将RGB图像转换为灰度图像后将其值限定在[0 255]的范围基于树的方法不需要进行特征的归一化。例如随机森林bagging与boosting等方法。如果是基于参数的模型或者基于距离的模型因为需要对参数或者距离进行计算都需要进行归一化。一般来说建议优先使用标准化。对于输出有要求时再尝试别的方法如归一化或者更加复杂的方法。很多方法都可以将输出范围调整到[0, 1]如果我们对于数据的分布有假设的话更加有效的方法是使用相对应的概率密度函数来转换。除了上面介绍的方法外还有一些相对没这么常用的处理方法RobustScaler、PowerTransformer、QuantileTransformer和QuantileTransformer等。1.4 正态分布化 正态分布化 -Normalizer将同一行数据的不同特征进行规范化这样一个数据的不同特征具有相同的量纲正则化的过程是将每个样本缩放到单位范数(每个样本的范数为1)如果要使用如二次型(点积)或者其它核方法计算两个样本之间的相似性这个方法会很有用。该方法是文本分类和聚类分析中经常使用的向量空间模型Vector Space Model)的基础。Normalization主要思想是对每个样本计算其p-范数然后对该样本中每个元素除以该范数这样处理的结果是使得每个处理后样本的p-范数(l1-norm,l2-norm)等于1。from sklearn.preprocessing import Normalizer #归一化返回值为归一化后的数据 Normalizer().fit_transform(iris.data)array([[0.80377277, 0.55160877, 0.22064351, 0.0315205 ],[0.82813287, 0.50702013, 0.23660939, 0.03380134],[0.80533308, 0.54831188, 0.2227517 , 0.03426949],[0.80003025, 0.53915082, 0.26087943, 0.03478392],[0.790965 , 0.5694948 , 0.2214702 , 0.0316386 ],#normalizer Normalizer(norml2).fit(X_train) #normalizer.transform(X_train)from sklearn.preprocessing import Normalizer import math data np.array([[1,2],[3,4],[5,6]]).reshape(3,2) print(data)print (data[0][0]/math.sqrt((data[0][0])**2 (data[0][1])**2)) # 计算第一个元素L2正则化后的值 # 规范化 Normalizer().fit_transform(data)[[1 2][3 4][5 6]] 0.4472135954999579 Out[27]:array([[0.4472136 , 0.89442719],[0.6 , 0.8 ],[0.6401844 , 0.76822128]]) 参考链接腾讯文档 OX02 数值型特征分箱数据离散化离散化是数值型特征非常重要的一个处理其实就是要将数值型数据转化成类别型数据。连续值的取值空间可能是无穷的为了便于表示和在模型中处理需要对连续值特征进行离散化处理。分箱的重要性及其优势离散特征的增加和减少都很容易易于模型的快速迭代稀疏向量内积乘法运算速度快计算结果方便存储容易扩展离散化后的特征对异常数据有很强的鲁棒性比如一个特征是年龄30是1否则0。如果特征没有离散化一个异常数据“年龄300岁”会给模型造成很大的干扰对于线性模型表达能力受限单变量离散化为N个后每个变量有单独的权重相当于模型引入了非线性能够提升模型表达能力加大拟合离散化后可以进行特征交叉由MN个变量变为M*N个变量进一步引入非线性提升表达能力特征离散化后模型会更稳定比如如果对用户年龄离散化20-30作为一个区间不会因为一个用户年龄长了一岁就变成一个完全不同的人。当然处于区间相邻处的样本会刚好相反所以怎么划分区间是门学问特征离散化以后起到了简化了逻辑回归模型的作用降低了模型过拟合的风险可以将缺失作为独立的一类带入模型将所有变量变换到相似的尺度上。2.1 无监督分箱法自定义分箱自定义分箱是指根据业务经验或者常识等自行设定划分的区间然后将原始数据归类到各个区间中。等距分箱按照相同宽度将数据分成几等份。import pandas as pd df pd.DataFrame([[22,1],[13,1],[33,1],[52,0],[16,0],[42,1],[53,1],[39,1],[26,0],[66,0]],columns[age,Y]) df[age_bin_2] pd.cut(df[age],3) #新增一列存储等距划分的分箱特征 display(df) # 输出age Y age_bin 0 22 1 (12.947, 30.667] 1 13 1 (12.947, 30.667] 2 33 1 (30.667, 48.333] 3 52 0 (48.333, 66.0] 4 16 0 (12.947, 30.667] 5 42 1 (30.667, 48.333] 6 53 1 (48.333, 66.0] 7 39 1 (30.667, 48.333] 8 26 0 (12.947, 30.667] 9 66 0 (48.333, 66.0]等频分箱将数据分成几等份每等份数据里面的个数是一样的。import pandas as pd df pd.DataFrame([[22,1],[13,1],[33,1],[52,0],[16,0],[42,1],[53,1],[39,1],[26,0],[66,0]],columns[age,Y]) df[age_bin_1] pd.qcut(df[age],3) #新增一列存储等频划分的分箱特征 display(df) # 输出age Y age_bin 0 22 1 (12.999, 26.0] 1 13 1 (12.999, 26.0] 2 33 1 (26.0, 42.0] 3 52 0 (42.0, 66.0] 4 16 0 (12.999, 26.0] 5 42 1 (26.0, 42.0] 6 53 1 (42.0, 66.0] 7 39 1 (26.0, 42.0] 8 26 0 (12.999, 26.0] 9 66 0 (42.0, 66.0]聚类分箱基于k均值聚类的分箱k均值聚类法将观测值聚为k类但在聚类过程中需要保证分箱的有序性第一个分箱中所有观测值都要小于第二个分箱中的观测值第二个分箱中所有观测值都要小于第三个分箱中的观测值等等。实现步骤Step 0对预处理后的数据进行归一化处理Step 1将归一化处理过的数据应用k-means聚类算法划分为多个区间采用等距法设定k-means聚类算法的初始中心得到聚类中心Step 2在得到聚类中心后将相邻的聚类中心的中点作为分类的划分点将各个对象加入到距离最近的类中从而将数据划分为多个区间Step 3重新计算每个聚类中心然后重新划分数据直到每个聚类中心不再变化得到最终的聚类结果。from sklearn.cluster import KMeans kmodelKMeans(n_clustersk) #k为聚成几类 kmodel.fit(data.reshape(len(data),1))) #训练模型 cpd.DataFrame(kmodel.cluster_centers_) #求聚类中心 cc.sort_values(by’列索引) #排序   wpd.rolling_mean(c,2).iloc[1:] #用滑动窗口求均值的方法求相邻两项求中点作为边界点 w[0] list(w[0] [ data.max() ] #把首末边界点加上 d3 pd.cut(data,w,labelsrange(k)) #cut函数2.2 二值化二值化可以将数值型numerical的feature进行阀值化得到boolean型数据。这对于下游的概率估计来说可能很有用比如数据分布为Bernoulli分布时。对定量特征二值化对列向量处理) 定性与定量区别 定性博主很胖博主很瘦 定量博主有80kg博主有60kg from sklearn.preprocessing import Binarizer #二值化阈值设置为3返回值为二值化后的数据 ;3显示为1否则为0 print(iris.data) Binarizer(threshold3).fit_transform(iris.data)对定性特征哑编码对列向量处理from sklearn.preprocessing import OneHotEncoder #哑编码对IRIS数据集的目标值返回值为哑编码后的数据 print(OneHotEncoder().fit_transform(iris.target.reshape((-1,1))))2.3 有监督分箱法2.3.1 卡方分箱法自底向上的(即基于合并的)数据离散化方法。它依赖于卡方检验具有最小卡方值的相邻区间合并在一起,直到满足确定的停止准则。https://github.com/tatsumiw/ChiMerge/blob/master/ChiMerge.py2.3.2 最小熵法分箱需要使总熵值达到最小也就是使分箱能够最大限度地区分因变量的各类别。熵是信息论中数据无序程度的度量标准提出信息熵的基本目的是找出某种符号系统的信息量和冗余度之间的关系以便能用最小的成本和消耗来实现最高效率的数据存储、管理和传递。数据集的熵越低说明数据之间的差异越小最小熵划分就是为了使每箱中的数据具有最好的相似性。给定箱的个数如果考虑所有可能的分箱情况最小熵方法得到的箱应该是具有最小熵的分箱。2.4 小结我们对特征进行分箱后需要对分箱后的每组箱进行woe编码和IV值的计算通过IV值进行变量筛选后然后才能放进模型训练。分箱后需要进行特征编码如LabelEncode、OneHotEncode或LabelBinarizer等。OX03 其它特征变换方法多项式变换对行向量处理) 在多元回归分析中 当特征不满足线性可以多特征进行多项式变换from sklearn.preprocessing import PolynomialFeatures#多项式转换 #参数degree为度默认值为2 PolynomialFeatures().fit_transform(iris.data)from numpy import log1p from sklearn.preprocessing import FunctionTransformer #自定义转换函数为对数函数的数据变换 #第一个参数是单变元函数 FunctionTransformer(log1p).fit_transform(iris.data) Box-Cox变换对因变量处理from scipy.stats import boxcox_normmax from scipy.special import boxcox1p lambda_2boxcox_normmax(test.B) print(lambda_2) test.Bboxcox1p(test.B,lambda_2) print(test) print(test.skew(axis0))OUT 0.9999999595600494A B c 0 1 5.033370 4 1 2 17.332385 5 2 3 26.623161 6 3 4 5.033370 7 A 0.000000 B 0.633103 c 0.000000 dtype: float64 特征工程这篇文档比较全面sklearn中的数据预处理和特征工程 - 是安酱和菜菜呀 - 博客园 11种降维方法未写特征选择方法待补充选择特征的角度很多变量的预测能力变量之间的相关性变量的简单性容易生成和使用变量的强壮性不容易被绕过变量在业务上的可解释性被挑战时可以解释的通等等。但是其中最主要和最直接的衡量标准是变量的预测能力。预测能力衡量IV值信息增益基尼系数等1、 特征选择特征发散如果一个特征不发散方差为0说明样本在这个特征上基本没有差异这个特征对于样本区分基本没用2、 特征选择考虑特征与目标的相关性优先选择与目标相关性高的特征3、 根据方差选择特征计算各个特征的方差选择方差大于阈值的特征4、 单变量特征选择计算每个特征与y的相关性对于回归问题或分类问题可以采用卡方检验的方式对特征进行检测5、 皮尔逊相关系数适用于回归问题即y连续简单实用6、 基于模型的特征融合方法主成分分析聚类支持向量机随机森林都可以作为筛选特征的方法未完待续……最后欢迎关注我的数据分析专栏目前已经超过1000小伙伴聚集在这里学习了数据分析​zhuanlan.zhihu.com
http://wiki.neutronadmin.com/news/83362/

相关文章:

  • 西安做网站朋朋wordpress次级目录ftp
  • 网站建设与技术团队网站免费源码大全无需下载
  • 好商网的网站可以做中英文切换吗自媒体写作平台
  • 怎样才能建设只是于自己的网站辽宁建设工程信息网专家入库
  • 高端网站设计官网百度软件市场
  • 做lol数据的网站北京网站建设公司华网制作作
  • 网站开发找聚脑网最快网站备案
  • 太原h5建站东昌府做网站
  • 建设咖啡厅网站的意义平顶山营销型网站建设
  • 长沙网站的优化沧州网站制作网站
  • 业网站制作网站建设设计猫和老鼠
  • 做网站的去哪找客户网上网站怎么做
  • 老薛主机做两个网站做个电商平台要多少钱
  • 做外贸的j交易网站东莞企业网站建设
  • 网站备案费用多少公司百度网站建设
  • 做网站感觉挣不到钱啊wordpress获取权限
  • 云南哪几个建网站公司阿里巴巴国际站介绍
  • 关于设计方面的网站wordpress 多人编辑
  • 电影网站做流量关于推动门户网站建设d
  • 增城新塘网站建设用自己的电脑做网站需要备案吗
  • 南通网站建设要多少钱专业做推广的公司
  • 华强北网站建设网络推广代理
  • 北京网站优化培训淘宝美工做兼职的网站
  • stm32做网站服务器网页设计与网站建设报告
  • 青岛工程建设监理公司网站网站建设与管理需要什么软件有哪些
  • 济南做公司网站需要多少钱公司网站建设费如何入账
  • 安顺住房和城乡建设部网站辽宁公司网站建设
  • ipv6网站建设东莞移动版wordpress主题
  • php商城网站建设多少钱游戏网站免费入口
  • 免费照片的网站模板wordpress上传附件