从 0 开始的机器学习实践
# 第一个代码:KNN 鸢尾花分类 使用 sklearn 库 # 基础库 import matplotlib.pyplot as plt import matplotlib matplotlib.rcParams['font.sans-serif'] = ['SimHei'] matplotlib.rcParams['axes.unicode_minus'] = False # sklearn 模块 from sklearn import datasets from sklearn.model_selection import...
more...力扣 HOT 100 刷题记录
# 哈希 # 1 两数之和 思路:二分查找。不过要注意下标,采用下标索引转换。 public int[] twoSum(int[] nums, int target) { int n = nums.length; Integer[] indices = new Integer[n]; for (int i = 0; i < n; i++) { indices[i] = i; } Arrays.sort(indices, Comparator.comparingInt(a -> nums[a])); for (int i...
more...项目实践:SMS 垃圾邮件分类
# 简介 数据集:SMS Spam Collection Dataset 目标:将短信分为 ham 和 spam 两类 # 使用的模型 # 文本嵌入 TF-IDF # 监督学习 SVM 决策树 朴素贝叶斯 # 无监督学习 k-means gmm dbscan # 项目过程 主要是下面几个阶段: 数据预处理(数据加载,清洗,向量化) 模型训练 模型评估 对于监督学习模型,数据还进行了特征标准化;训练测试比为 8:2 对于无监督模型,数据进行了 PCA 降维 # 评估结果 # 无监督模型 总体性能较差,难以实现分类的目的。 # k-means 混淆矩阵: [4596 229] [...
more...文本聚类算法
(还没详细看基础理论,放的是 gpt 的总结整理) # K-Means 原理: 目标是将数据划分为 K 个簇,使簇内的样本尽可能相似,簇间尽可能不同。 核心思想:最小化样本点到其所在簇质心(centroid)的距离平方和。 算法步骤: 随机选择 KKK 个初始质心。 将每个样本分配到最近的质心所代表的簇。 重新计算每个簇的质心。 重复步骤 2 和 3,直到质心不再变化或达到最大迭代次数。 优点: 简单、高效 缺点: 只能发现凸形簇,对初始质心敏感,不适用于不同方差或非球形分布的数据 # GMM 原理: 假设数据是由多个高斯分布组成的混合体,每个高斯分布代表一个簇。 通过...
more...








