wndong 2020-08-01
?
数据清洗
数据集成
是什么?就是将多个数据源合并存放在一个数据仓库中
数据集成的两种架构
ETL(Extract、Transform、Load)即,(抽取、转换(合并表)、加载)
ELT
数据变换
? 通过以下方法针对算法对数据进行变换
数据可视化
?
Min-max规范化
Z-Sorce规范化
将含义不同的数据使用兴相同的标准来衡量
new = (x - mean )/ std
上述是Z-Score的线性计算公式,用它将考试成绩变为正态分布的前提是,考试成绩本身就是成正泰分布的。
如果考试成绩本身世偏太分布,就要使用非线性公式:
# 先计算“百分等级” 百分等级(年级)=100-(100x 年级名次 -50)/ 有效参加考试人数。 这里百分等级是每个学生在该批学生中的相对位置 # 再按照百分等级数去“标准正太分布表”中查询得出Z-Score值,这样的Z分值便是标准的正态分布,能够将偏态转换为标准正态
小数定标规范化
?
from sklearn import preprocessing import numpy as np # 数据初始化,每行代表一个样本,每列代表一个特征值...就是说按列进行? data = np.array([[0., -3., 1.], [3., 1., 2.], [0., 1., -1.]]) # 进行min-max规范化 min_max_scaler = preprocessing.MinMaxScaler() minmax_data = min_max_scaler.fit_transform(data) print(minmax_data) print("----------") # 线性Z分 scaled_data = preprocessing.scale(data) print(scaled_data) print("----------") # 小数定标 j = np.ceil(np.log10(np.max(abs(data)))) pointscaled_data = data/(10**j) print(pointscaled_data) # j解读为:对所有数取绝对值,然后对每一列取最大的(会有3个),然后计算他们对以十为底的对数值(这里一般都在[0,1]之内),然后向上取整 # **的意思是乘方 print("----------")
?