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

中山网站排名net域名网站

中山网站排名,net域名网站,微网站建设云帆网络,宁波广告公司所有代码和文档均在golitter/Decoding-ML-Top10: 使用 Python 优雅地实现机器学习十大经典算法。 (github.com)#xff0c;欢迎查看。 K 邻近算法#xff08;K-Nearest Neighbors#xff0c;简称 KNN#xff09;是一种经典的机器学习算法#xff0c;主要用于分类和回归任务… 所有代码和文档均在golitter/Decoding-ML-Top10: 使用 Python 优雅地实现机器学习十大经典算法。 (github.com)欢迎查看。 K 邻近算法K-Nearest Neighbors简称 KNN是一种经典的机器学习算法主要用于分类和回归任务。它的核心思想是给定一个新的数据点通过查找训练数据中最接近的 K 个邻居并根据这些邻居的标签来预测新数据点的标签。 KNN 是一种 基于实例的学习Instance-based learning算法。在训练阶段它并不构建显式的模型而是将训练数据存储起来在预测阶段计算待预测点与训练集中所有点的距离然后选择 K 个最近的邻居根据邻居的标签进行投票或平均来做出预测。 KNN 的优点在于其简单易懂、无需训练过程并且适用于大多数任务。它能够处理复杂的非线性问题不依赖数据分布假设能够很好地适应复杂的决策边界。 然而KNN 的缺点也很明显。它的计算开销大因为每次预测都需要计算所有训练数据的距离导致在大数据集上表现不佳。此外KNN 需要存储所有训练数据占用较大的内存空间并且对异常值敏感可能会影响预测结果的准确性。 KNN算法步骤 选择 K 个邻居的数量K 值通常是一个奇数以避免平票的情况。计算待预测数据点与训练数据集中每个点的距离。根据计算出的距离选择 K 个最接近的点。对于分类任务返回 K 个邻居中最多的类别对于回归任务返回 K 个邻居标签的均值。 代码实现 数据处理使用iris.data数据集用PCA进行降维。 import numpy as np import pandas as pddef pca(X: np.array, n_components: int) - np.array:PCA 进行降维。# 1. 数据标准化去均值X_mean np.mean(X, axis0)X_centered X - X_mean# 2. 计算协方差矩阵covariance_matrix np.cov(X_centered, rowvarFalse)# 3. 计算特征值和特征向量eigenvalues, eigenvectors np.linalg.eig(covariance_matrix)# 4. 按特征值降序排序sorted_indices np.argsort(eigenvalues)[::-1]top_eigenvectors eigenvectors[:, sorted_indices[:n_components]]# 5. 投影到新空间X_pca np.dot(X_centered, top_eigenvectors)return X_pcadef get_data():data pd.read_csv(iris.csv, headerNone)# print(data.dtypes)unq data.iloc[:, -1].unique()for i, u in enumerate(unq):data.iloc[:, -1] data.iloc[:, -1].apply(lambda x: i if x u else x)# print(data.sample(5))xuanze np.random.choice([True, False], len(data), replaceTrue, p[0.8, 0.2])train_data data[xuanze]test_data data[~xuanze]train_data np.array(train_data,dtypenp.float32,)test_data np.array(test_data, dtypenp.float32)# 归一化train_data[:, :-1] (train_data[:, :-1] - train_data[:, :-1].mean(axis0)) / train_data[:, :-1].std(axis0)test_data[:, :-1] (test_data[:, :-1] - test_data[:, :-1].mean(axis0)) / test_data[:, :-1].std(axis0)return (pca(train_data[:, :-1], 2),train_data[:, -1].astype(np.int32),pca(test_data[:, :-1], 2),test_data[:, -1].astype(np.int32),)if __name__ __main__:x_train, y_train, x_test, y_test get_data()print(y_train.dtype)print(x_test, y_test)print(x_train.shape, y_train.shape) knn过程 from data_processing import get_data import numpy as np import matplotlib.pyplot as pltdef euclidean_distance(x_train: np.array, x_test: np.array) - np.array:计算欧拉距离return np.sqrt(np.sum((x_train - x_test) ** 2, axis1))def knn(k: int, x_train: np.array, y_train: np.array, x_test: np.array) - np.array:k近邻算法predictions []for test in x_test:distances euclidean_distance(x_train, test)nearest_indices np.argsort(distances)[:k] # 返回最近的k个点的索引nearest_labels y_train[nearest_indices] # 返回最近的k个点的标签prediction np.argmax(np.bincount(nearest_labels)) # 返回最近的k个点中出现次数最多的标签predictions.append(prediction)return np.array(predictions)def accuracy(predictions: np.array, y_test: np.array) - float:计算准确率return np.sum(predictions y_test) / len(y_test)if __name__ __main__:k 5x_train, y_train, x_test, y_test get_data()predictions knn(k, x_train, y_train, x_test)acc accuracy(predictions, y_test)print(f准确率为: {acc * 100:.2f})# 绘制训练数据plt.scatter(x_train[:, 0], x_train[:, 1], cy_train, cmapviridis, markero, labelTrain Data, alpha0.7)# 绘制测试数据plt.scatter(x_test[:, 0], x_test[:, 1], cy_test, cmapcoolwarm, markerx, labelTest Data, alpha0.7)# 绘制预测结果plt.scatter(x_test[:, 0],x_test[:, 1],cpredictions,cmapcoolwarm,marker.,edgecolorblack,alpha0.7,labelPredictions,)# 添加标题和标签plt.title(KNN Classification Results)plt.xlabel(Feature 1)plt.ylabel(Feature 2)plt.legend()# 显示图形plt.show()
http://www.hkea.cn/news/14376748/

相关文章:

  • 制造业网站建设系统管理软件下载
  • 音乐影视网站建设方案威海市城乡建设局网站
  • 公司网站建设 目录宁波高端网站制作公司
  • 商城网站建设的优势微信公众号制作编辑器
  • 做单页网站的软件潜江资讯网房屋出售
  • 空白网站建设域名查询地址
  • 昆山网站建设书生商友wordpress棋牌插件
  • wordpress 资源站主题网架公司招聘信息
  • 成都品牌网站建设网站做推广需要什么
  • 网站建设发布教程dw制作网页的过程
  • 商丘哪里做网站比较好wordpress删除用户下所有文章
  • 北京app网站建设设计说明书格式
  • 电子商务网站建设实验心得开设购物网站的方案
  • 做瞹瞹瞹视频网站网站建设行业的前景
  • 网站免费主机申请wordpress默认插件
  • 网站开发程序流程图海南在线分类信息
  • 微信认证 网站网站与域名
  • 推荐一些做电子的网站做渔家乐哪个网站最好
  • 做网站要学的知识中国建设银行网站地址
  • 网站推广东莞网站利用e4a做app
  • 影视网站策划书青岛seo外包公司
  • 怎么做自己的淘宝客推广网站浙江五联建设有限公司网站
  • 短视频免费素材网站兼职做放单主持那个网站好
  • 广州一站式网站建设wordpress前台显示中文怎么办
  • 织梦系统网站模板修改新余网站建设人员
  • 切图网站建设银行银监会官方网站
  • 苏州 网站设计做网站有多难
  • 手机网站建设地址有什么网站专做买生活污水设备
  • 网站关键词多少个好国内软件外包公司
  • 网站建设标准流程找个美工做淘宝网站需要多少钱