knn预测最小案例总结

写10个数组走一遍流程

from sklearn import *

# x = [0,1,2,3,4,5,6,7,8,9]
x = [[0], [1], [2], [3],[4], [5], [6], [7],[8],[9]]
y = [0, 0, 1, 1,2,2,2,2,3,4]

# # 2、数据基本处理 -- 划分数据集
x_train, x_test, y_train, y_test = model_selection.train_test_split(x, y,test_size=0.3,random_state=1)
# x_train, x_test, y_train, y_test = model_selection.train_test_split(x, y,test_size=0.1,random_state=1)
print(x_train)
print(x_test)
print(y_train)
print(y_test)

guiyi=preprocessing.MinMaxScaler(feature_range=(0,1))
data2=guiyi.fit_transform(x_train)
print(data2)
print("归一化的结果:\n", data2)


stand=preprocessing.StandardScaler()
# data = stand.transform(x_train)
data = stand.fit_transform(x_train)
datatest=stand.fit_transform(x_test)
# data = stand.transform(x_train)
# print(data)
print("标准化的结果:\n", data)
# print("每一列特征的平均值:\n", stand.mean_)
# print("每一列特征的方差:\n", stand.var_)

# 实例化API
# est=neighbors.KNeighborsClassifier(n_neighbors=1)
# est.fit(x_train, y_train)

param_dict = {"n_neighbors": [1,2,3,4]}
est1 = neighbors.KNeighborsClassifier()
est=model_selection.GridSearchCV(est1, param_grid=param_dict, cv=3)
# 4.3 fit数据进行训练
est1.fit(x_train, y_train)
est.fit(x_train, y_train)

# 5、评估模型效果
# 方法a:比对预测结果和真实值
y_predict = est1.predict(x_test)
print("比对预测结果和真实值:\n", y_predict == y_test)
# 方法b:直接计算准确率
score = est1.score(x_test, y_test)
print("直接计算准确率:\n", score)

print(y_test)

print(est1.predict(x_test))#[2]

##############归一化和标准化实在无谁优谁劣,最好测试集用训练集的均值和方差,目标数据不用归一或者标准化处理
#其实准确来讲并没有进行学习,只是训练时建立了一个树结构,预测时寻找临近点
#交叉验证时训练集里的折数是不是要和测试集的对应起来
print("在交叉验证中验证的最好结果:\n", est.best_score_)
print("最好的参数模型:\n", est.best_estimator_)
print("每次交叉验证后的准确率结果:\n", est.cv_results_)

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值