【发布时间】:2021-01-15 23:40:30
【问题描述】:
这适用于必须使用 SVM 方法来提高模型准确性的作业。
一共有3个部分,写了下面的代码
import sklearn.datasets as datasets
import sklearn.model_selection as ms
from sklearn.model_selection import train_test_split
digits = datasets.load_digits();
X = digits.data
y = digits.target
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=30, stratify=y)
print(X_train.shape)
print(X_test.shape)
from sklearn.svm import SVC
svm_clf = SVC().fit(X_train, y_train)
print(svm_clf.score(X_test,y_test))
但在此之后,问题如下
执行digits.data的标准化并存储转换后的数据 在变量digits_standardized中。
提示:使用 sklearn.preprocessing 中所需的实用程序。再来一次, 将digits_standardized 拆分为两组名称X_train 和X_test。 另外,将 digits.target 拆分为两组 Y_train 和 Y_test。
提示:使用 sklearn.model_selection 中的 train_test_split 方法;放 随机状态为 30;并进行分层抽样。构建另一个 SVM 来自 X_train 集和 Y_train 标签的分类器,具有默认值 参数。将模型命名为 svm_clf2。
在测试数据集上评估模型的准确性并打印它的分数。
在上述代码之上,尝试编写此代码,但似乎失败了。任何人都可以就如何标准化数据提供帮助。
std_scale = preprocessing.StandardScaler().fit(X_train)
X_train_std = std_scale.transform(X_train)
X_test_std = std_scale.transform(X_test)
svm_clf2 = SVC().fit(X_train, y_train)
print(svm_clf.score(X_test,y_test))
【问题讨论】:
标签: python scikit-learn