手写数据集分类练习

关于在Digits数据集上使用分类技术的教程练习。

此练习在“有监督的学习”的“分类”部分中使用:从“用于科学数据处理的统计学习”教程的高维观测部分预测输出变量。

输出:

KNN score: 0.961111
LogisticRegression score: 0.933333

输入:

print(__doc__)

from sklearn import datasets, neighbors, linear_model

X_digits, y_digits = datasets.load_digits(return_X_y=True)
X_digits = X_digits / X_digits.max()

n_samples = len(X_digits)

X_train = X_digits[:int(.9 * n_samples)]
y_train = y_digits[:int(.9 * n_samples)]
X_test = X_digits[int(.9 * n_samples):]
y_test = y_digits[int(.9 * n_samples):]

knn = neighbors.KNeighborsClassifier()
logistic = linear_model.LogisticRegression(max_iter=1000)

print('KNN score: %f' % knn.fit(X_train, y_train).score(X_test, y_test))
print('LogisticRegression score: %f'
      % logistic.fit(X_train, y_train).score(X_test, y_test))

脚本的总运行时间:0分0.459秒。