噪声数据(Noisy Data)就是无意义的数据,这个词通常作为损坏数据的同义词使用。
1.分箱:
2.回归:
3.聚类:
4.其他:
通过考察数据的“近邻”(周围的值)来光滑有序数据的值。局部光滑。
1.回归:
用一个函数(回归函数)拟合数据来光滑数据。
线性回归
多元线性回归
2.聚类:将类似的值聚集为簇。
检测离群点
噪声数据是有益处的。
1.使用“元数据”:关于数据的数据。
2.编码格式:存在使用不一致、数据表示不一致
3.字段过载:
4.唯一性规则:
5.连续性规则:
6.空值规则:
1.实体识别
2.属性冗余与相关性分析-
3.数据重复(元组冗余)
4.数据值冲突的检测与处理
1.平滑:去掉数据中的噪声。技术包括分箱、回归、聚类。
2.聚集Aggregation:对数据进行汇总或聚集。
3.数据泛化(概化):使用概念分层,用高层概念替换低层或“原始”数据。
4.规范化:将属性数据按比例缩放,使之落入一个小的特定区间。最小-最大、Z-Score、按小数定标规范化。
5.属性构造(特征构造):由给定的属性构造新的属性并添加到属性集中,以帮助挖掘过程。可以帮助提高准确率和对高维数据结构的理解。
数据立方体聚集
概念分层
规范化公式:
1.事先准备,采用红酒数据集,将数据拿出:
from sklearn.model_selection import train_test_split
from sklearn import linear_model
from sklearn.datasets import load_wine
wine = load_wine()
X = wine.data
y = wine.target
2.支持向量机
from sklearn import svm
svm = svm.SVC()
3.支持向量机 training score:
print("支持向量机 training score: ",svm.score(X,y))
svm.fit(wine_X,y)
运行结果为:
6.手动让其进行Min-Max 规范化(最小-最大规范化):
wind_X=X.copy()
for i in range(13):
columu_X = X[:, i]
wind_X[:, i] = (columu_X-columu_X.min())/(columu_X.max()-columu_X.min())
print(wind_X)
7.对照组,输出之前的训练得分:
svm.fit(X,y)
print("支持向量机 training score: ",svm.score(X,y))
8.支持向量机归一化后 training score:
svm.fit(wind_X,y)
print("支持向量机归一化后 training score: ",svm.score(wind_X,y))
9.结果:可以看出,对其改善很大。
1.若存在离群点,可能影响规范化
2.若在规范化后添加新的数据,当新数据落在原数据的区间[minA, max A ]之外,将导致“越界”
错误。
z-score规范化(零均值规范化):属性A的值基于A的平均值和标准差规范化。
对离群点不敏感
1.事先准备,采用红酒数据集,将数据拿出:
from sklearn.model_selection import train_test_split
from sklearn import linear_model
from sklearn.datasets import load_wine
wine = load_wine()
X = wine.data
y = wine.target
2.支持向量机
from sklearn import svm
svm = svm.SVC()
3.使用模型里的按列归一化:
from sklearn import preprocessing
#数据预处理:按列归一化
wine_X=preprocessing.scale(X)
print(wine_X)
4.输出结果为:
5.手动撰写按列归一化
wind_X=X.copy()
for i in range(13):
columu_X = X[:, i]
wind_X[:, i]=(columu_X-columu_X.mean())/columu_X.std()
print(wind_X)563
6.结果查看: