机器学习算法基础 3

【图书推荐】《Spark 3.0大数据分析与挖掘:基于机器学习》 Spark作为新兴的、应用范围广泛的大数据处理开源框架,吸引了大量的大数据分析与挖掘从业人员进行相关内容的学习与开发,其中ML是Spark 3.0机器学习框架使用的核心。本书用于Spark 3.0 ML大数据分析与挖掘入门,配套示例源码、PPT课件、数据集、思维导图、开发环境和作者答疑服务。 阅读详情

K-近邻算法(KNN)

定义:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。通俗来说,就是根据你的邻居来推断你的类别
来源:KNN算法最早是由Cover和Hart提出的一种分类算法

计算距离公式(欧氏距离)(重点)

相似的样本,特征之间的值应该都是相近的

K-近邻算法需要对数据作标准化处理

K-近邻算法实例-预测入住位置

https://www.kaggle.com/c/facebook-v-predicting-check-ins

题意分析:

  • 特征值:x、y 坐标,定位准确性,时间戳
  • 目标值:入住位置 id
  • 问题类型:分类类型
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.preprocessing import StandardScaler

# 一、数据集的处理
# 读取数据
data = pd.read_csv('./data/train.csv')
# 处理数据
# 1.缩小数据-缩小数据集范围 DataFrame.query()查询数据筛选
data = data.query('x>1.0 & x<1.25 & y>2.5 & y<2.75')

# 2.处理时间数据
time_value = pd.to_datetime(data['time'], unit='s')

# 3、增加分割的日期数据
# 把日期格式转化成字典格式
time_value = pd.DatetimeIndex(time_value)
# 根据时间  构造一些特征
data.loc[:, 'day'] = time_value.day
data.loc[:, 'hour'] = time_value.hour
data.loc[:, 'weekday'] = time_value.weekday

# 4、删除没用的日期数据
# 把时间戳特征删除,axis的重点在于方向而不在于行或列
# axis = 0表示纵轴表示数据的变化从上至下,体现在行的增加与减少
# axis = 1表示横轴表示数据的变化从左至右,体现在列的增加与减少
data = data.drop(labels='time', axis=1)

# 5.将少于n个用户的签到位置删除
place_count = data.groupby('place_id').count()
tf = place_count[place_count.row_id > 3].reset_index()
# 过滤后的表格
data = data[data['place_id'].isin(tf.place_id)]

# 删除无用的row_id
data = data.drop(labels='row_id', axis=1)
print(data)

# 取出数据中的目标值和特征值
y = data["place_id"]
x = data.drop(labels='place_id', axis=1)

# 二、分割数据集
# 进行数据的分割-训练集测试集
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.25)

# 三、对数据集进行标准化
# 特征工程(标准化)
std = StandardScaler()

# 对训练集与测试集的特征值进行标准化
x_train = std.fit_transform(x_train)
x_test = std.transform(x_test)

# 四、estimator流程进行分类预测
# 进行算法流程-estimator流程进行分类预测
knn = KNeighborsClassifier(n_neighbors=5)
knn.fit(x_train, y_train)
# 得到预测结果
y_predict = knn.predict(x_test)
print('预测的目标签到位置为:', y_predict)

# 得到预测的准确率-预测值与真实值进行比较
print('预测的准确率为:', knn.score(x_test, y_test))

问题

  1. k值(n_neighbors)取多大?有什么影响?
    k值取很小:容易受异常点影响;k值取很大:容易受最近数据太多导致比例变化
  2. 性能问题

k-近邻算法优缺点

优点:

  • 简单,易于理解,易于实现,无需估计参数,无需训练

缺点:

  • 懒惰算法,对测试样本分类时的计算量大,内存开销大
  • 必须指定K值,K值选择不当则分类精度不能保证

使用场景

小数据场景,几千~几万样本,具体场景具体业务去测试

朴素贝叶斯算法

算出属于每个类别的概率,取最高的概率

(朴素=>条件独立的意思)

朴素贝叶斯-贝叶斯公式:

理论上,概率模型分类器是一个条件概率模型。

p(C∣F1,…,Fn)  p(C\vert F_{1},\dots ,F_{n})\, p(C∣F1​,…,Fn​)

独立的类别变量 CCC 有若干类别,条件依赖于若干特征变量 F1,F2F2,...,FnF_{1},{\displaystyle F_{2}}F_{2},...,F_nF1​,F2​F2​,...,Fn​。但问题在于如果特征数量 nnn 较大或者每个特征能取大量值时,基于概率模型列出概率表变得不现实。所以我们修改这个模型使之变得可行。 贝叶斯定理有以下式子:

p(C∣F1,…,Fn)=p(C) p(F1,…,Fn∣C)p(F1,…,Fn). =1Zp(C)∏i=1np(Fi∣C) p(C\vert F_{1},\dots ,F_{n})={\frac {p(C)\ p(F_{1},\dots ,F_{n}\vert C)}{p(F_{1},\dots ,F_{n})}}.\,\\ = {\frac {1}{Z}}p(C)\prod _{{i=1}}^{n}p(F_{i}\vert C) p(C∣F1​,…,Fn​)=p(F1​,…,Fn​)p(C) p(F1​,…,Fn​∣C)​.=Z1​p(C)i=1∏n​p(Fi​∣C)

其中 ZZZ (证据因子)是一个只依赖与 F1,…,FnF_{1},\dots ,F_{n}F1​,…,Fn​ 等的缩放因子,当特征变量的值已知时是一个常数。 由于分解成所谓的类先验概率 p(C)p(C)p(C) 和独立概率分布 p(Fi∣C)p(F_{i}\vert C)p(Fi​∣C),上述概率模型的可掌控性得到很大的提高。

https://zhuanlan.zhihu.com/p/87832246
https://zhuanlan.zhihu.com/p/26329951

拉普拉斯平滑

计算每个分类样本集中每个特征出现的概率,但是这个时候会出现一个问题:可能当前分类样本集中有一个特征 FiF_iFi​ 未出现,就会导致的分子项为0,也就是概率为0,进而产生对新样本进行预测时,连积为0.

拉普拉斯平滑就是解决贝叶斯分类问题下的零概率问题!

对类别 CCC 下,特征 FiF_iFi​ 的取值加 α\alphaα,同时为了满足特征 FiF_iFi​ 所有特征值的概率和为1,也要为分母加上特征取值个数 * α\alphaα。

p(Fi∣C)=ni+αN+αm p(F_i|C) = \frac{n_i + \alpha}{N + \alpha m} p(Fi​∣C)=N+αmni​+α​

其中,α\alphaα 系数一般为 1, mmm 为类别 CCC 的取值个数

推导:https://zhuanlan.zhihu.com/p/24291822

朴素贝叶斯文本分类例子

from sklearn.datasets import fetch_20newsgroups
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics import classification_report
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import MultinomialNB

news = fetch_20newsgroups(subset='all')

# 进行数据分割
x_train, x_test, y_train, y_test = train_test_split(news.data, news.target, test_size=0.25)

# 对数据集进行特征抽取
tf = TfidfVectorizer()

# 以训练集当中的词的列表进行每篇文章重要性统计['a','b','c','d']
x_train = tf.fit_transform(x_train)

print(len(tf.get_feature_names()))

x_test = tf.transform(x_test)

# 进行朴素贝叶斯算法的预测
mlt = MultinomialNB(alpha=1.0)

print(len(x_train.toarray()))

mlt.fit(x_train, y_train)

y_predict = mlt.predict(x_test)

print("预测的文章类别为:", y_predict)

# 得出准确率
print("准确率为:", mlt.score(x_test, y_test))

print("每个类别的精确率和召回率:", classification_report(y_test, y_predict, target_names=news.target_names))

152002
14134
预测的文章类别为: [ 7 15  7 ...  7 15 16]
准确率为: 0.8539898132427843
每个类别的精确率和召回率:
                          precision    recall  f1-score   support

             alt.atheism       0.90      0.77      0.83       202
           comp.graphics       0.86      0.76      0.81       246
 comp.os.ms-windows.misc       0.82      0.87      0.85       237
comp.sys.ibm.pc.hardware       0.78      0.84      0.81       246
   comp.sys.mac.hardware       0.90      0.88      0.89       240
          comp.windows.x       0.96      0.81      0.87       272
            misc.forsale       0.91      0.67      0.77       249
               rec.autos       0.85      0.93      0.89       222
         rec.motorcycles       0.96      0.95      0.96       253
      rec.sport.baseball       0.92      0.97      0.94       243
        rec.sport.hockey       0.93      0.96      0.94       253
               sci.crypt       0.79      0.98      0.87       251
         sci.electronics       0.88      0.84      0.86       224
                 sci.med       0.96      0.89      0.93       244
               sci.space       0.90      0.95      0.92       260
  soc.religion.christian       0.56      1.00      0.72       242
      talk.politics.guns       0.77      0.97      0.86       234
   talk.politics.mideast       0.92      0.97      0.94       241
      talk.politics.misc       1.00      0.58      0.73       201
      talk.religion.misc       1.00      0.20      0.34       152

                accuracy                           0.85      4712
               macro avg       0.88      0.84      0.84      4712
            weighted avg       0.88      0.85      0.85      4712

特点

优点:

  1. 朴素贝叶斯模型发源于古典数学理论,有稳定的分类效率。
  2. 对缺失数据不太敏感,算法也比较简单,常用于文本分类。
  3. 分类准确度高,速度快

缺点:

  1. 训练集误差大时,结果肯定不好;不允许调参
  2. 由于使用样本属性独立性的假设,故样本属性有关联时,其效果最好

其他:

  1. 不需要调参
  2. 神经网络的效果更好

分类模型评估

混淆矩阵

在分类任务下,预测结果(Predicted Condition)
与正确标记(True Condition)之间存在四种不同的组合,构成混淆矩阵(适用于多分类)

https://blog.youkuaiyun.com/xys430381_1/article/details/88198167

二级指标

  • 准确率(accuracy) = 预测对的/所有 = (TP+TN)/(TP+FN+FP+TN)
    • estimator.score() 一般最常见使用的是准确率,即预测结果正确的百分比
  • 精确率(precision) = TP/(TP+FP)
  • 召回率(recall) = TP/(TP+FN)

三级指标

F1 Score=1TP2TP+FN+FP=2PRP+R F1\ Score = \frac{1TP}{2TP + FN + FP} = \frac{2PR}{P+R} F1 Score=2TP+FN+FP1TP​=P+R2PR​

其中,P 代表 Precision,R 代表 Recall。
F1-Score 指标综合了 Precision 与 Recall 的产出的结果。F1-Score 的取值范围从 0 到 1 的,1 代表模型的输出最好,0 代表模型的输出结果最差。
F1-score,反应了模型的稳健性

https://www.zhihu.com/question/19645541

模型的选择与调优

交差验证

交叉验证:为了让被评估的模型更加准确可信

交叉验证过程:

  • 将拿到的数据,分为训练集和验证集。以下图为例:将数据分成5份,其中一份作为验证集。然后经过5次(组)的测试,每次都更换不同的验证集。即得到5组模型的结果,取平均值作为最终结果。又称5折交叉验证。

网格搜索(超参数搜索)

通常情况下,有很多参数是需要手动指定的(如k-近邻算法中的K值),这种叫超参数。但是手动过程繁杂,所以需要对模型预设几种超参数组合。每组超参数都采用交叉验证来进行评估。最后选出最优参数组合建立模型。

  • 多个超参数时,对模型预设多超参数组合,如,二个参数-两两组合、三个参数-三三组合,
  • 每组超参数采用交叉验证(一般采用10折交叉验证)来进行评估,最后选出最优参数组合建立模型

案例 (GridSearchCV)

https://www.kaggle.com/c/facebook-v-predicting-check-ins

from sklearn.neighbors import KNeighborsClassifier
import pandas as pd
from sklearn.model_selection import train_test_split, GridSearchCV
from sklearn.preprocessing import StandardScaler

# 一、数据集的处理
# 读取数据
data = pd.read_csv('./data/train.csv')
# 处理数据
# 1.缩小数据-缩小数据集范围 DataFrame.query()查询数据筛选
data = data.query('x>1.0 & x<1.25 & y>2.5 & y<2.75')

# 2.处理时间数据
time_value = pd.to_datetime(data['time'], unit='s')

# 3、增加分割的日期数据
# 把日期格式转化成字典格式
time_value = pd.DatetimeIndex(time_value)
# 根据时间  构造一些特征
data.loc[:, 'day'] = time_value.day
data.loc[:, 'hour'] = time_value.hour
data.loc[:, 'weekday'] = time_value.weekday

# 4、删除没用的日期数据
# 把时间戳特征删除,axis的重点在于方向而不在于行或列
# axis = 0表示纵轴表示数据的变化从上至下,体现在行的增加与减少
# axis = 1表示横轴表示数据的变化从左至右,体现在列的增加与减少
data = data.drop(labels='time', axis=1)

# 5.将签到位置少于n个用户的删除
place_count = data.groupby('place_id').count()
tf = place_count[place_count.row_id > 3].reset_index()
# 过滤后的表格
data = data[data['place_id'].isin(tf.place_id)]

# 删除无用的row_id
data = data.drop(labels='row_id', axis=1)
print(data)

# 取出数据中的目标值和特征值
y = data["place_id"]
x = data.drop(labels='place_id', axis=1)

# 二、分割数据集
# 进行数据的分割-训练集测试集
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.25)

# 三、对数据集进行标准化
# 特征工程(标准化)
std = StandardScaler()

# 对训练集与测试集的特征值进行标准化
x_train = std.fit_transform(x_train)
x_test = std.transform(x_test)

# 四、estimator流程进行分类预测
# 进行算法流程-estimator流程进行分类预测
knn = KNeighborsClassifier()

# 五、算法调优-网格搜索
# 构造一些参数的值进行搜索
param = {'n_neighbors': [3, 5, 10]}
# 交叉验证分为两组
gc = GridSearchCV(knn, param_grid=param, cv=2)

gc.fit(x_train, y_train)

# 预测准确率
print('在测试集上的准确率:\n', gc.score(x_test, y_test))

print('在交叉验证中最好的结果:\n', gc.best_score_)

print('最好的参数模型:\n', gc.best_estimator_)

print('每个超参数每次交叉验证后的结果:\n', gc.cv_results_)
3、机器学习算法基础介绍 本文系统介绍了机器学习中常见的算法,包括线性回归、逻辑回归、决策树(回归树和分类树)、装袋法(随机森林)以及提升算法(GBM 和 XGBoost)。详细讲解了每种算法的原理、特性、适用场景及其实现方式,并通过代码示例展示了如何在 R 和 Python 中使用这些算法。此外,还提供了算法选择的流程图,帮助读者根据数据特点和问题需求选择合适的模型。文章旨在为读者提供全面的算法基础介绍,便于在实际项目中合理选择和应用相关技术。 阅读详情

相关推荐

1.3 机器学习基础-常见函数及优化算法

但是,Sigmoid函数在输入值比较大或比较小时,梯度会变得非常小,从而导致梯度消失的问题,因此在较深的网络中很少使用。汉明损失函数是一种多标签分类问题中的损失函数,它衡量模型预测结果与真实结果之间的汉明距离(即模型预测的标签和真实标签不相同的数量)。Swish函数在ReLU函数的基础上加入了sigmoid函数的非线性特性,其表现优于ReLU函数,但是计算代价稍大。优化算法是深度学习训练过程中至关重要的一部分,它的作用是通过调整模型参数来最小化损失函数,从而达到训练模型的目的。

u010940941的博客 598

Python3入门机器学习经典算法与应用 第3章 matplotlib基础

moonlightpeng的博客 896

机器学习算法详解与实践指南

本文详细介绍了机器学习的三种主要算法类型:回归、分类和聚类。深入探讨了特征工程、选择和提取的重要性,以及降维技术如PCA在数据预处理中的应用。通过数据集的处理流程,如数据清洗、训练集与测试集的划分、交叉验证等方法,为机器学习项目的成功实施提供了实用指南。

weixin_42581846的博客 364

机器学习算法基础3

机器学习-线性回归、逻辑回归、k-means

yxy618的博客 253

一文了解向量数据库在RAG中扮演的角色

向量数据库:AI新纪元的基石。探索如何通过这一创新技术优化RAG,提高语言模型的信息处理能力

2401_82452722的博客 2454

【3D Slicer】的小白入门使用指南一

3D Slicer 是一个免费的开源软件平台,用于医学、生物医学和其他 3D 图像的可视化、处理、分割、配准和分析。Slicer 的功能包括:读/写。

图挖掘领域,新晋砖家 ☞ 未来可期,欢迎和静静一起学习交流吖 5559

机器学习算法基础 Day3

如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。KNN算法最早是由Cover和Hart提出的一种分类算法计算距离公式两个样本的距离可以通过如下公式计算,又叫欧式距离比如说,a(a1,a2,a3),b(b1,b2,b3)

weixin_43902376的博客 224

AgentScope Java 2.0 项目实战:教你完整搭建企业级多租户AI数据分析Agent平台

本文详细讲解如何从零开始构建一个企业级多租户AI数据分析Agent平台(agentscope-dataagent)。涵盖项目的环境准备、项目骨架搭建、后端15个核心模块开发(认证授权、Agent网关、会话管理、SSE流式聊天、能力市场、Webhook通道、Docker沙箱等)、前端完整开发(路由守卫、SSE流式读取、28个页面组件)、内置资源定义、构建打包、测试验证及单机/Docker/分布式部署全流程。

program哲学 602

机器学习基础算法梳理-3

#@TOC 一、信息论基础 1.1 熵 1.1.1 熵定义 熵的概念最早起源于物理学,用语度量一个热力系统的无序程度 在信息论则叫信息量;从控制论上来看,应叫不确定性。 1.1.2 联合熵 联合熵是一组变量之间不确定性的衡量方法: x, y 为X, Y中特定的值,相应的,P(x, y)是这些值联合出现的概率。其性质是: 大于每个独立的熵 小于独立熵的和 可参考下图,其中把两个单独概率事件,关...

p515659704的博客 475

【全网首发】2026华为OD双机位C卷 机考真题题库含考点说明以及在线OJ(OD上机考试双机位C卷)

【全网首发】2026华为OD机位C卷 机考真题题库含考点说明以及在线OJ(OD上机考试双机位C卷)

算法大师! 8816

EndNote X9 快速上手教程(毕业论文参考文献管理器)

EndNote X9 快速上手教程一、EndNote X9安装1.安装2 安装之后重要步骤二、第一次打开 EndNote三、参考文献引用1. 导入知网文献2. 参考文献引用四、常见问题1. 引用文献中出现%J的问题2 参考文献中出现et.al1 在文章中引用的编号的地方出现2 在参看文献列表里出现 一、EndNote X9安装 1.安装 打开文件夹 安装前,一定要读 #Readme.txt 文件 一定要把License.dat和ENX9Inst.msi放在同一文件夹,安装的时候会自动激活。 我的安装路

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 2万+

ML基础-k近邻算法-3

手写识别系统步骤 收集数据:提供文本文件。 准备数据:编写函数classify0() ,将图像格式转换为分类器使用的list格式。 分析数据:在Python命令提示符中检查数据,确保它符合要求。 训练算法:此步骤不适用于k近邻算法。 测试算法:编写函数使用提供的部分数据集作为测试样本,测试样本与非测试样本的区别在于测试样本是已经完成分类的数据,如果预测分类与实际类别不同,则标记为一个错误。

想进步总不是坏事 278

添加USB wifi驱动到RK3568

在日常开发中我们经常需要用到wifi功能,一般来说soc厂家都会事先做好了几个厂家的wifi驱动在内核源码目录下,我们只需要按原理图配置对应的设备树即可。常用的wifi的接口有:USBSDIOPCIE下面来介绍这这种接口是如何使用wifi芯片。提示:以下是本篇文章正文内容,下面案例可供参考本小节介绍了一个配置一个USBwifi驱动的整个流程,并没有介绍到SDIO,下小节基于AP6256介绍如何使用。

qq_24093081的博客 2051

机器学习算法基础(3)

1、KNN算法: 2、朴素贝叶斯算法: 3、 混淆矩阵: 4、 交叉验证、网格搜索:

qq_44122407的博客 466

无线传感网络的Matlab实现

Matlab是一种功能强大的数值计算和数据分析工具,也可以用于无线传感网络的建模和仿真。根据实际需求,可以进一步扩展和优化模型,例如考虑节点能量消耗、网络路由、数据融合等方面的问题。函数用于绘制节点之间的连接关系,其中第一个参数是邻接矩阵,描述了节点之间的连接关系。这里使用了一个4个节点的简单例子,可以根据实际需求修改节点数量和连接关系。可以使用Matlab中的图形绘制函数来可视化节点的位置和连接关系。在无线传感网络中,节点的能量是一个关键因素。通过计算节点的剩余能量,可以评估节点的能量消耗情况。

2301_79331387的博客 250

petalinux2022.2启动文件编译配置

petalinux2021之前的版本里,导入目录components/yocto/下的“environment-setup-aarch64-xilinx-linux” 和 “layers/core/oe-init-build-env”的环境,能使用Yocto的devtool工具。(加入下面内容,先petalinux-build下载完成后才能有源码)制作 BOOT.BIN 启动文件:petalinux-package --boot --fsbl --fpga --u-boot --force。

wangjie36的博客 1401

机器学习基础入门3——回归与聚类算法

定义:线性回归是利用回归方程(函数)对一个或多个自变量(特征值)和因变量(目标值)之间关系进行建模的一种分析方式。注:简单来说,一种是统计的说法,一种是机器学习中的说法,两者无非就是函数关系 特征值和目标值线性模型数据挖掘基础期末成绩 :0.7x考试成绩 + 0.3x平时成绩广义线性模型~ 非线性关系线性模型:自变量一次参数一次注:线性关系一定是线性模型,线性模型不一定是线性关系。4.1.2 线性回归的损失和优化原理(理解记忆)目标:求模型参数模型参数能够使得预测准确。

2501_93696036的博客 1622

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

机器学习算法基础day3

文章目录分类算法-k近邻算法计算距离公式sklearn k-近邻算法APIk近邻算法实例-预测入住位置数据的处理实例流程k-近邻算法优缺点分类算法-朴素贝叶斯算法联合概率和条件概率朴素贝叶斯-贝叶斯公式拉普拉斯平滑sklearn朴素贝叶斯实现API朴素贝叶斯分类优缺点分类模型的评估混淆矩阵精确率(Precision)与召回率(Recall)F1-score分类模型评估API模型的选择与调优交叉验证过程超参数搜索-网格搜索APIGridSearchCV 分类算法-k近邻算法 定义:如果一个样本在特征空间中的k

prettygirlman的博客 248

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

机器学习算法基础3 - 回归算法

回归:连续性数据 线性回归模型 通过特征的线性组合作为预测函数。 损失函数 最小二乘法 系数矩阵w求解 -1- 正规方程 (sklearn.linear_model.LinearRegression) 缺点: 当特征数量多而复杂时,求解速度慢,复杂算法无法通过正规方程求解。 from sklearn.datasets import load_boston from sklearn.linear_model import LinearRegression, SGDRegressor from

cmaster1219的博客 491

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

机器学习算法基础-打卡-day3

Task03:EM算法一、初步了解二、详细了解1.极大似然估计1)创建模型2)用数学知识解决现实问题3)最大似然函数估计值的求解步骤2.Jensen不等式三、EM算法详解 EM算法也称期望最大化(Expectation-Maximum,简称EM)算法,它是一个基础算法,是很多机器学习领域算法的基础。 https://mp.weixin.qq.com/s?src=11&timestamp=1...

ban1818的博客 303

终极指南:如何10周成为机器学习工程师使用handson-ml3实战教程

想要在短短10周内从机器学习新手成长为合格的ML工程师吗?🤔 今天我要为你揭秘一个完整的机器学习学习路径——**handson-ml3实战教程**,这是基于《Hands-on Machine Learning with Scikit-Learn, Keras and TensorFlow》第三版的完整学习资源。这个项目包含了一系列精心设计的Jupyter笔记本,通过Python实战教你掌握Sci

gitblog_00061的博客 629

机器学习基础算法(3)

3、朴素贝叶斯算法 贝叶斯学派的思想可以概括为先验概率+数据=后验概率。也就是说我们在实际问题中需要得到的后验概率,可以通过先验概率和数据一起综合得到。数据大家好理解,被频率学派攻击的是先验概率,一般来说先验概率就是我们对于数据所在领域的历史经验,但是这个经验常常难以量化或者模型化,于是贝叶斯学派大胆的假设先验分布的模型,比如正态分布,beta分布等。这个假设一般没有特定的依据,因此一直被频率学派认为很荒谬。虽然难以从严密的数学逻辑里推出贝叶斯学派的逻辑,但是在很多实际应用中,贝叶斯理论很好用,比如垃圾邮

weixin_43238102的博客 385

从0到1学handson-ml3:机器学习核心算法完全指南 [特殊字符]

想要快速掌握机器学习核心算法?Hands-on Machine Learning with Scikit-Learn, Keras and TensorFlow (3rd edition) 提供了从基础到高级的完整学习路径。这个开源项目包含一系列Jupyter笔记本,带你系统学习机器学习核心算法和深度学习技术。 ## 📊 机器学习算法全景图 handson-ml3项目覆盖了机器学习的完整知识

gitblog_00991的博客 1093

机器学习基础-Task3 EM算法

EM算法是机器学习十大算法之一,它很简单,但是也同样很有深度,简单是因为它就分两步求解问题: E步:求期望(expectation) M步:求极大(maximization) 深度在于它的数学推理涉及到比较繁杂的概率公式等。 EM算法引入 概率模型有时候既含有观测变量,又含有隐变量或潜在变量,如果概率模型的变量都是观测变量,那么给定数据,可以直接用极大似然估计法,或贝叶斯估计方法估计模型参数,但是...

Simone_future的博客 330

零基础入门:机器学习与深度学习的区别是什么?如何选择研究方向?

这些年,我专注AI转行求职辅导,带过上千名零基础学员从非科班背景转入AI领域,从销售、文员、教师到财务,他们中很多人一开始对机器学习和深度学习一头雾水,但通过精准方向选择和求职指导,几个月就拿到了算法助理、数据工程师或ML工程师的offer。举例,我一个文员背景学员,先学ML,2个月做分类项目,面试时讲“怎么用决策树处理数据不均衡”,轻松过关。- 学员案例:原程序员学员,有ML基,转DL,5个月做生成AI项目,入职腾讯香港分部,年薪HKD 55k。他说:“先ML稳,再DL冲,offer来得快。

AI97980001的博客 61

Python3入门机器学习之2.1k近邻算法基础

Python3入门机器学习 2.1 k近邻算法基础 什么是k近邻算法? K最近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。 所谓K近邻算法,即是给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的K个实例(也就是上面所说的K个邻居), 这K个实例的多数属于某个类,就把该输入实例分类到这个类中。 下面通过一个实例来进一步说明k近邻算法: (1).首先准备实验所需要的数据集。raw_data_X表示样本的特征,raw_d

qq_42686927的博客 200
上一篇: 机器学习算法基础 2
下一篇: 机器学习算法基础 4 决策树与随机森林
eddiechen10081
博客等级 码龄11年 1粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值