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

旅游门户网站源码怎么做的如何优化关键词

旅游门户网站源码怎么做的,如何优化关键词,app开发网站排行,网络推广协议K最近邻#xff08;K-Nearest Neighbors, KNN#xff09;理论知识推导 KNN算法是一个简单且直观的分类和回归方法#xff0c;其基本思想是#xff1a;给定一个样本点#xff0c;找到训练集中与其最近的K个样本点#xff0c;根据这些样本点的类别#xff08;分类问题K-Nearest Neighbors, KNN理论知识推导 KNN算法是一个简单且直观的分类和回归方法其基本思想是给定一个样本点找到训练集中与其最近的K个样本点根据这些样本点的类别分类问题或值回归问题来预测该样本点的类别或值。 距离度量 欧氏距离Euclidean Distance 曼哈顿距离Manhattan Distance 曼哈顿距离也称为L1距离或城市街区距离适用于连续型和离散型变量。其计算公式为 切比雪夫距离Chebyshev Distance 闵可夫斯基距离Minkowski Distance 余弦相似度Cosine Similarity 余弦相似度用于度量两个向量之间的角度差异适用于文本数据和高维稀疏数据。其计算公式为 汉明距离Hamming Distance 汉明距离用于度量两个字符串或向量之间不同字符或元素的数量适用于离散变量。其计算公式为 import numpy as np from sklearn.neighbors import KNeighborsClassifier from sklearn.preprocessing import StandardScaler from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score# 生成随机多维数据 np.random.seed(42) X np.random.rand(200, 5) y np.random.choice([0, 1], size200)# 分割数据集 X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.3, random_state42)# 特征缩放 scaler StandardScaler() X_train_scaled scaler.fit_transform(X_train) X_test_scaled scaler.transform(X_test)# 使用欧氏距离的KNN模型 knn_euclidean KNeighborsClassifier(n_neighbors3, metriceuclidean) knn_euclidean.fit(X_train_scaled, y_train) y_pred_euclidean knn_euclidean.predict(X_test_scaled) accuracy_euclidean accuracy_score(y_test, y_pred_euclidean)# 使用曼哈顿距离的KNN模型 knn_manhattan KNeighborsClassifier(n_neighbors3, metricmanhattan) knn_manhattan.fit(X_train_scaled, y_train) y_pred_manhattan knn_manhattan.predict(X_test_scaled) accuracy_manhattan accuracy_score(y_test, y_pred_manhattan)# 使用切比雪夫距离的KNN模型 knn_chebyshev KNeighborsClassifier(n_neighbors3, metricchebyshev) knn_chebyshev.fit(X_train_scaled, y_train) y_pred_chebyshev knn_chebyshev.predict(X_test_scaled) accuracy_chebyshev accuracy_score(y_test, y_pred_chebyshev)print(f欧氏距离模型的准确率: {accuracy_euclidean}) print(f曼哈顿距离模型的准确率: {accuracy_manhattan}) print(f切比雪夫距离模型的准确率: {accuracy_chebyshev})选择最近的K个邻居 根据距离排序选择距离最小的K个样本点。 投票或平均 对于分类问题对这K个邻居的类别进行投票得票最多的类别作为预测类别对于回归问题对这K个邻居的值取平均作为预测值。 KNN的优缺点 优点 简单易实现。不需要模型训练。对噪声数据不敏感通过选择合适的K值。 缺点 计算复杂度高需要计算所有样本点的距离。存储复杂度高需要存储所有训练数据。对数据的尺度敏感需要进行标准化处理。 参数解读 n_neighborsK值即选择的最近邻居的数量。weights权重函数用于预测。常用的有uniform所有邻居权重相等和distance根据距离加权。metric距离度量方法默认是欧氏距离。 实施步骤 数据准备准备训练数据集和测试数据集。特征标准化对数据进行标准化处理。选择K值和距离度量方法初始化KNN模型。模型训练KNN算法不需要训练过程但需要拟合数据。预测对测试数据进行预测并计算准确率或误差。 选择K值K值越小模型越复杂K值越大模型越简单。一般通过交叉验证选择最佳K值。距离度量方法常用欧氏距离选择合适的距离度量方法可以提高模型性能。权重uniform表示所有邻居权重相同distance表示距离越近的邻居权重越大。 多维KNN模型 import numpy as np import pandas as pd from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.neighbors import KNeighborsClassifier from sklearn.metrics import accuracy_score import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from sklearn.model_selection import GridSearchCV# 生成多维数据 np.random.seed(42) X np.random.rand(100, 3) * 100 # 三维特征数据 y np.random.choice([0, 1], 100) # 二分类标签# 数据标准化 scaler StandardScaler() X_scaled scaler.fit_transform(X)# 分割数据集 X_train, X_test, y_train, y_test train_test_split(X_scaled, y, test_size0.2, random_state42)# 初始化KNN分类模型 knn KNeighborsClassifier(n_neighbors5) knn.fit(X_train, y_train)# 预测 y_pred knn.predict(X_test)# 计算准确率 accuracy accuracy_score(y_test, y_pred) print(f未优化分类模型的准确率: {accuracy:.2f})# 使用网格搜索优化KNN分类模型 param_grid {n_neighbors: range(1, 21), weights: [uniform, distance]} grid_search GridSearchCV(KNeighborsClassifier(), param_grid, cv5) grid_search.fit(X_train, y_train)best_knn grid_search.best_estimator_ y_pred_optimized best_knn.predict(X_test)accuracy_optimized accuracy_score(y_test, y_pred_optimized) print(f优化后分类模型的准确率: {accuracy_optimized:.2f})# 可视化三维数据分布和预测结果 fig plt.figure(figsize(18, 6))# 未优化模型结果 ax1 fig.add_subplot(121, projection3d) ax1.scatter(X_test[:, 0], X_test[:, 1], X_test[:, 2], cy_test, markero, labelTrue Labels) ax1.scatter(X_test[:, 0], X_test[:, 1], X_test[:, 2], cy_pred, markerx, labelPredicted Labels) ax1.set_title(未优化模型) ax1.set_xlabel(Feature 1) ax1.set_ylabel(Feature 2) ax1.set_zlabel(Feature 3) ax1.legend()# 优化后模型结果 ax2 fig.add_subplot(122, projection3d) ax2.scatter(X_test[:, 0], X_test[:, 1], X_test[:, 2], cy_test, markero, labelTrue Labels) ax2.scatter(X_test[:, 0], X_test[:, 1], X_test[:, 2], cy_pred_optimized, markerx, labelPredicted Labels) ax2.set_title(优化后模型) ax2.set_xlabel(Feature 1) ax2.set_ylabel(Feature 2) ax2.set_zlabel(Feature 3) ax2.legend()plt.show()可视化展示 警告D:\PyCharm\PyCharm2024.1.3\plugins\python\helpers\pycharm_matplotlib_backend\backend_interagg.py:80: UserWarning: Glyph 26410 (\N{CJK UNIFIED IDEOGRAPH-672A}) missing from font(s) DejaVu Sans.   FigureCanvasAgg.draw(self) D:\PyCharm\PyCharm2024.1.3\plugins\python\helpers\pycharm_matplotlib_backend\backend_interagg.py:80: UserWarning: Glyph 20248 (\N{CJK UNIFIED IDEOGRAPH-4F18}) missing from font(s) DejaVu Sans.   FigureCanvasAgg.draw(self) D:\PyCharm\PyCharm2024.1.3\plugins\python\helpers\pycharm_matplotlib_backend\backend_interagg.py:80: UserWarning: Glyph 21270 (\N{CJK UNIFIED IDEOGRAPH-5316}) missing from font(s) DejaVu Sans.   FigureCanvasAgg.draw(self) D:\PyCharm\PyCharm2024.1.3\plugins\python\helpers\pycharm_matplotlib_backend\backend_interagg.py:80: UserWarning: Glyph 27169 (\N{CJK UNIFIED IDEOGRAPH-6A21}) missing from font(s) DejaVu Sans.   FigureCanvasAgg.draw(self) D:\PyCharm\PyCharm2024.1.3\plugins\python\helpers\pycharm_matplotlib_backend\backend_interagg.py:80: UserWarning: Glyph 22411 (\N{CJK UNIFIED IDEOGRAPH-578B}) missing from font(s) DejaVu Sans.   FigureCanvasAgg.draw(self) D:\PyCharm\PyCharm2024.1.3\plugins\python\helpers\pycharm_matplotlib_backend\backend_interagg.py:80: UserWarning: Glyph 21518 (\N{CJK UNIFIED IDEOGRAPH-540E}) missing from font(s) DejaVu Sans.   FigureCanvasAgg.draw(self) 结果解释 未优化分类模型 准确率显示未优化模型的分类准确率通常受初始参数设置的影响。可视化通过三维散点图展示真实标签和预测标签的分布情况观察误分类样本的位置。 优化后分类模型 准确率通过网格搜索优化K值和距离度量方法后显示优化后的分类准确率通常高于未优化模型。可视化通过三维散点图展示真实标签和优化后模型的预测标签分布情况观察误分类样本的位置。 以上实例展示了KNN算法在未优化和优化后的性能差异通过适当的参数调优可以显著提升模型的预测效果。
http://www.hkea.cn/news/14456857/

相关文章:

  • 义乌建设网站制作成都市分类信息网站开发
  • 建设网站建设白度经验wordpress美化登录
  • 建网站app需要多少钱科讯cms 网站地图
  • 网站建设的售后服务流程著名的设计作品有哪些
  • 大连网站建设-中国互联北京app制作公司
  • 做微网站公司名称手机网页制作图片
  • 外贸平台有哪些小网站找大连做企业网站的公司
  • 网站提交地址资阳公司短视频优化服务
  • 怎样找到免费的黄页网站中山网站建设平台
  • 海安市建设局网站短链接在线生成器
  • discuz 旅游网站模版只做网站应该找谁
  • 盐城市住房城乡建设网站开鲁seo网站
  • 个人接网站开发的平台网站代运营做哪些
  • 湖北襄阳住房保障和城市建设局网站wordpress文章编辑器插件
  • 网站开发小组分工如何建立国际网站
  • seo综合查询 站长工具广西建设职业技术学院图书馆网站
  • 网站推广百度优化wordpress 商品页规格
  • 珠海网站建设推广公司网站关键词优化到首页难度
  • 公司网站建设免费微信上怎么创建公众号
  • 用asp.net做的网站贴吧中国旅游网站建设
  • 电商网站设计的原则wordpress标签id在哪里
  • 怎么建设网站容易被百度抓取动态ip地址做网站
  • 网站模版下载孵化器网站建设方案
  • 深圳住房建设厅网站首页中华网军事
  • 兰州快速seo整站优化招商wordpress插图文章排版
  • 网站上线方案丹东seo优化
  • wordpress 数据库挂马通辽做网站0475seo
  • 购物网站模板代码一级消防工程师考试难度有多大
  • 外贸行业网站建设公司网站中使用特殊字体
  • 青岛网站制作套餐网站搭建后显示建设中