博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Sklearn之标准化数据

Posted on 2018-04-09 15:12  风吹白杨的安妮  阅读(410)  评论(0编辑  收藏  举报

数据标准化不用解释了,很简单的一个概念。要用到sklearn的预处理功能

from sklearn import preprocessing
import numpy as np 
from sklearn.model_selection import train_test_split
from sklearn.datasets.samples_generator import make_classification
from sklearn.svm import SVC
import matplotlib.pyplot as plt
#首先我们来生成一些data,就是生成样本
## X为样本特征,Y为样本类别输出, 共300个样本,每个样本2个特征,没确定输出有几个类别,没有冗余特征,每个类别一个簇
X,y = make_classification(n_samples=300,n_features=2,n_redundant=0,n_informative=2,
                          random_state=22,n_clusters_per_class=1,scale=100)
plt.scatter(X[:,0],X[:,1],c=y)
plt.show()
#横轴是X1,纵轴是X2

#开始进行标准化,用minmax_scale(X,feature_range=())来制定范围,默认是(0,1)
X = preprocessing.scale(X)
#好了,开始分类了,分类前要进行训练集和测试集分开
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.3)
#选用模型
clf = SVC()
#经典fit啦
clf.fit(X_train,y_train)
#计算得分开始
print(clf.score(X_test,y_test))
#卧槽,厉害哦,95%哦,没有标准化的话得分会很低,我试过是48%