- K最近邻(K-Nearest Neighbors, KNN)
KNN算法就像你在一个班级里找朋友,你想知道一个新的转校生小明应该参加哪个兴趣小组。做法是看看小明身边最近的5个同学分别参加了什么小组,如果其中大多数是篮球队员,那就认为小明也应该加入篮球队。这里的“最近”是指按照某种相似度(比如身高、体重、年龄等特征的欧氏距离)计算得出的邻居。
假设我们在分类水果,新来一个未知水果,它的颜色、形状、大小等特征值已知。KNN算法会查找训练集中跟这个未知水果最接近(特征距离最小)的K个已知水果,然后根据这K个水果中最多的种类将其分类,比如大部分是苹果,则预测这个未知水果也是苹果。
- 决策树(Decision Tree)
决策树就像是一个问答游戏。每到一个节点,都会问一个问题,根据答案转向下一个节点,直到最后确定类别。比如判断一部电影是否值得观看,首先可能会问:“评分高于8分吗?”如果是,那就可能直接预测为“值得看”;如果不是,则继续提问如“主演是不是知名演员?”以此类推。
建立一个判断顾客是否会购买某商品的决策树模型。第一层节点可能是“顾客收入是否高于平均水平”,如果是,则进入下一节点“商品评价是否优秀”,如果都满足,则预测顾客可能购买此商品。
- 支持向量机(Support Vector Machine, SVM)
SVM像是画一条边界线(或超平面),这条线能够尽可能清晰地区分不同类别的数据。想象一下在二维空间中,两类不同的水果(如橙子和苹果)的数据点分布在不同区域,SVM的目标是找到一条直线,使得两边的水果分开得最远,也就是间隔最大。
在信用卡欺诈检测中,SVM可以帮助我们找到区分正常交易和欺诈交易的最佳边界。通过对交易金额、地点、时间等多种特征分析,SVM算法会找到一个最优分割面,使得欺诈交易和正常交易被最大程度地区分开。
- 朴素贝叶斯(Naive Bayes)
朴素贝叶斯法就像根据天气预报决定穿什么衣服出门。即使天气间相互影响的因素很多,但朴素贝叶斯假设各因素独立,它会根据历史上各个条件下的穿衣情况,计算今天晴天、温度高的条件下穿短袖的概率有多大。
垃圾邮件过滤器就是朴素贝叶斯的一个应用实例。它会统计邮件中出现某些词汇(如“免费”、“赚钱”)时是垃圾邮件的概率,然后综合所有词汇信息判断一封未标注邮件是垃圾邮件还是正常邮件的概率。
2024java面试八股文+从入门到架构师的学习资料,关注公众号:周盛欢Java,免费领取!