交叉验证
•什么是交叉验证?
是一种数据集的分割方法,将训练集划分为n份,拿一份做验证集(测试集)、其他n-1份做训练集
利用KNN算法实现手写数字识别
def train_model():
data = pd.read_csv('data/手写数字识别.csv')
# 数据预处理归一化
x = data.iloc[:, 1:] / 255
y = data.iloc[:, 0]
# 分割数据集
split_data= train_test_split(x, y, test_size=0.2, stratify=y, random_state=0)
x_train, x_test, y_train, y_test= split_data
# 模型训练
estimator = KNeighborsClassifier(n_neighbors=3)
estimator.fit(x_train, y_train)
# 模型评估
acc = estimator.score(x_test, y_test)
print('测试集准确率: %.2f' % acc)
# 模型保存joblib.dump(estimator, 'model/knn.pth')