数据标准化不用解释了,很简单的一个概念。要用到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%