t make_classification
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
from sklearn import preprocessing
# 生成300个数据,有2个特征,random_state设置了一个随机数的种子,这样每次运行都能得到相同的数据集
X, y = make_classification(n_samples=300, n_features=2, n_redundant=0, n_informative=2, random_state=89, n_clusters_per_class=1, scale=100)
# 正则化数据
X = preprocessing.scale(X)
# 把数据集分割成训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
# 创建SVC算法模型
model = SVC()
# 对训练数据进行训练
model.fit(X_train, y_train)
# 测试结果得分
print(model.score(X_test, y_test))
输出为:
这样得分就提高到了93分,相当于有93%的准确率。 因此,如果数据集中各个属性之间数值取值范围差异比较大的话,可以通过标准化来提高机器学习的性能。
|