当前位置: 首页 > news >正文

商标可以做网站吗模板网站劣势

商标可以做网站吗,模板网站劣势,广告设计专业术语,免备案空间主机文章目录 数据准备阶段KNN预测的过程1.计算新样本与已知样本点的距离2.按照举例排序3.确定k值4.距离最近的k个点投票 scikit-learn中的KNN算法 数据准备阶段 import matplotlib.pyplot as plt import numpy as np# 样本特征 data_X [[0.5, 2],[1.8, 3],[3.9, 1],[4.7, 4],[6.…

文章目录

  • 数据准备阶段
  • KNN预测的过程
    • 1.计算新样本与已知样本点的距离
    • 2.按照举例排序
    • 3.确定k值
    • 4.距离最近的k个点投票
  • scikit-learn中的KNN算法

数据准备阶段

import matplotlib.pyplot as plt
import numpy as np
# 样本特征
data_X = [[0.5, 2],[1.8, 3],[3.9, 1],[4.7, 4],[6.2, 6],[7.5, 5],[8.3, 3.5],[9.1, 7],[9.8, 4.5]
]# 样本标记
data_y = [0, 0, 0, 1, 1, 1, 1, 1, 1]
X_train = np.array(data_X)
y_train = np.array(data_y)
X_train
array([[0.5, 2. ],[1.8, 3. ],[3.9, 1. ],[4.7, 4. ],[6.2, 6. ],[7.5, 5. ],[8.3, 3.5],[9.1, 7. ],[9.8, 4.5]])
y_train
array([0, 0, 0, 1, 1, 1, 1, 1, 1])

选出样本标记为0的样本特征

y_train == 0
array([ True,  True,  True, False, False, False, False, False, False])
X_train[y_train==0]
array([[0.5, 2. ],[1.8, 3. ],[3.9, 1. ]])
X_train[y_train==0, 0]
array([0.5, 1.8, 3.9])
X_train[y_train==0, 1]
array([2., 3., 1.])
X_train[y_train==1, 0].shape
(6,)
X_train[y_train==1, 1].shape
(6,)
plt.scatter(X_train[y_train==0, 0], X_train[y_train==0, 1], color='red', marker='x')
plt.scatter(X_train[y_train==1, 0], X_train[y_train==1, 1], color='black', marker='o')
plt.show()

在这里插入图片描述

增加新的样本点

data_new = np.array([4, 5])
plt.scatter(X_train[y_train==0, 0], X_train[y_train==0, 1], color='red', marker='x')
plt.scatter(X_train[y_train==1, 0], X_train[y_train==1, 1],color='black', marker='o')
plt.scatter(data_new[0], data_new[1], color='b', marker='^')
plt.show()

在这里插入图片描述

KNN预测的过程

1.计算新样本与已知样本点的距离

for data in X_train:print(np.sqrt(np.sum((data - data_new) ** 2)))
4.6097722286464435
2.973213749463701
4.001249804748512
1.2206555615733703
2.4166091947189146
3.5
4.5541190146942805
5.478138369920935
5.821511831131154
distances = [np.sqrt(np.sum((data - data_new) ** 2)) for data in X_train]
distances
[4.6097722286464435,2.973213749463701,4.001249804748512,1.2206555615733703,2.4166091947189146,3.5,4.5541190146942805,5.478138369920935,5.821511831131154]

2.按照举例排序

np.sort(distances)
array([1.22065556, 2.41660919, 2.97321375, 3.5       , 4.0012498 ,4.55411901, 4.60977223, 5.47813837, 5.82151183])
sort_index = np.argsort(distances)
sort_index
array([3, 4, 1, 5, 2, 6, 0, 7, 8], dtype=int64)

3.确定k值

k = 5

4.距离最近的k个点投票

first_k = [y_train[i] for i in sort_index[:k]]
first_k
[1, 1, 0, 1, 0]
from collections import Counter
Counter(first_k)
Counter({1: 3, 0: 2})
Counter(first_k).most_common()
[(1, 3), (0, 2)]
Counter(first_k).most_common(1)
[(1, 3)]
predict_y = Counter(first_k).most_common(1)[0][0]
predict_y
1

得到结果为1,KNN判断新加入的点data_y的标记应该为1,从图中也可以看到,新加入的点更靠近标记为1的点群。

scikit-learn中的KNN算法

 from sklearn.neighbors import KNeighborsClassifier
kNN_classifier = KNeighborsClassifier(n_neighbors=5)
kNN_classifier.fit(X_train, y_train)
data_new.reshape(1, -1)
array([[4, 5]])
predict_y = kNN_classifier.predict(data_new.reshape(1, -1))
predict_y
array([1])

与手写KNN得到的结果相同,皆判断为1。

http://www.yayakq.cn/news/518207/

相关文章:

  • 做网站排名多少钱2021年企业所得税优惠政策最新
  • 建设网站如何挂到网上织梦网站文章相互调用
  • php在网站后台建设中的优势营销型网站建设大千建站
  • 网站怎么做qq的授权登陆管理咨询公司名称
  • 遵义做网站优化深圳网站建设平台
  • 学院加强网站建设黄骅市网站建设公司
  • 中英双语网站建设什么网站做顶置便宜
  • 重庆网站建设熊掌号响应式网站模板企业
  • 织梦网站需要优化招聘网站建设工作总结
  • 一个小型购物网站开发做国外网站赚钱
  • 国内做的比较好的旅游网站个人怎么开发软件
  • 网站首页面设计代码wordpress适合下载收费的主题
  • 温州网站优化排名推广青海网站设计高端
  • 音乐网站设计总结wordpress菜单字体大小
  • 有哪些做搞笑视频的网站学校网站开发报价表
  • 汕头龙湖网站建设国际人才网app
  • 俄文网站设计寿县住房与城乡建设局网站
  • 石家庄网站推广软件h5案例
  • dw织梦做网站设计之家效果图
  • 东莞品牌网站建设费用企业做的网站费入什么科目
  • 网站中的图片展示功能该设计什么合肥城乡建设网站
  • 做网站建设网站制作旺店通erp多少钱一年
  • vs网站开发入门nodejs可以做网站么
  • 东莞市手机网站wordpress 参数传人
  • 最新网站建设wordpress百度统计代码
  • 男生做男生网站在那看小微企业如何注册
  • 做博客网站赚钱微信小程序制作详细流程
  • 网站没有收录怎么办做网站一般都用什么字体
  • 小说网站建站程序百度拍照搜题
  • 网站源码下载 用户注册菏泽郓城网站建设