wordpress图片主题模板,武汉seo首页优化公司,辽宁省疫情最新消息今天,北京知名广告公司有哪些引言
为何现在机器学习如此热门#xff1f; 主要原因是由于“人类无论如何也做不到在短时间内实现从大量的数据中自动的计算出正确的结果操作”。 什么是机器学习#xff1f; 所谓的机器学习#xff0c;就是通过对数据进行反复的学习#xff0c;来找出其中潜藏的规律和模式…
引言
为何现在机器学习如此热门 主要原因是由于“人类无论如何也做不到在短时间内实现从大量的数据中自动的计算出正确的结果操作”。 什么是机器学习 所谓的机器学习就是通过对数据进行反复的学习来找出其中潜藏的规律和模式。 机器学习中所用算法大致分为
监督学习Supervised Learnings无监督学习Unsuoervised Learning强化学习Reinforcement Learning
一、各类机器学习算法简介
理解监督学习 所谓监督学习中的“监督”是指“数据中附带的正确答案标签”。那么“数据中附带的正确答案标签”指的是什么呢 如上图对于表示内容的数据我们称为“正确答案标签”像①~③这样最终对数据所属类别进行预测的应用我们称之为“分类问题”。而数据④是基于面积等量化数据这种用于对类似房租这样连续变化的数值进行预测我们将其称为“回归问题”。
简单来说监督学习的基本原理就是使用大量的数据通过计算机对数据进行反复处理最终能够产生接近正确答案标签的输出值。
理解无监督学习 对比监督学习监督学习包含“正确答案标签”而“无监督学习”中是不包含“正确答案标签”的其属于从输入的数据中发现规则并进行学习的一种方法。监督学习会告诉计算机正确的答案而无监督学习则是使用计算机去推导答案。因而无监督学习具有不存在所谓正确或者错误答案的特点。 无监督学习多用于热卖商品的推荐、饮食店的推荐菜等应用场合。此外在对多维数据中的信息进行压缩又称为主成分分析、数据降维等。
理解强化学习 “强化学习”也不需要监督强化学习提供“智能体”和“环境”。配备智能体和环境后智能体会根据环境的变化采取相应的行动环境将根据行动的结果给予智能体相应的“报酬”而智能体根据其获取的报酬对行动做出“好”或者“不好”的评价并以此决定下次该如何采取行动。 二、机器学习的流程简介
进行机器学习的整体流程
数据收集数据清洗清洗重复或缺失的数据以提高数据的精度运用机器学习算法对数据进行学习获取基准使用测试数据进行性能评测将机器学习模型安装到网页等应用环境中
学习数据的使用方法
在机器学习的“监督学习中”我们将需要处理的数据划分为“训练数据”和“测试数据两种”。其中“训练数据”指的是学习过程中所使用的数据而“测试数据”是指在学习完成之后对模型精度进行评估时所使用的数据。
之所以将数据分为“训练数据”和“测试数据”是因为机器学习是以“预测未知数据”为目的的学术体系。而对比统计学是分析数据对产生这一数据的背景进行描述的学术体系。
留出法的理论与实践 所谓留出法是指将所给的数据集划分为训练数据和测试数据这两种数据的一种简单方法。 接下来将使用第三方软件库Scikit-Learn来进行留出法的实践操作Scikit-Learn是Python的开源机器学习专用软件库。
关于train_test_split()函数介绍 train_test_split() 是 scikit-learnsklearn库中的一个非常重要的函数它用于将数据集分割成训练集和测试集以便进行机器学习模型的训练和评估。该函数的主要作用是随机将数据集中的样本按照指定的比例分为两部分一部分用于训练模型另一部分用于测试模型的性能。
以下是 train_test_split 函数的一般用法和参数解释
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2, random_state42)参数说明
X: 特征矩阵包含了样本的特征数据。y: 目标标签包含了每个样本对应的目标值标签。test_size: 测试集的大小可以是浮点数表示测试集占总样本的比例或整数表示测试集中的样本数量。例如test_size0.2 表示将数据集的20%用于测试而80%用于训练。train_size: 训练集的大小如果不指定会自动计算为 1 - test_size。random_state: 随机种子用于控制数据集的随机分割过程。设置相同的随机种子可以确保每次运行代码时得到相同的分割结果这对于实验的可复现性非常重要。shuffle: 默认情况下数据会被随机打乱shuffle以确保分割是随机的。如果希望关闭数据的随机打乱可以将该参数设置为 False。
函数的返回值包括四个部分
X_train: 训练集的特征矩阵。X_test: 测试集的特征矩阵。y_train: 训练集的目标标签。y_test: 测试集的目标标签。
# 读取执行代码所需的模块
from sklearn import datasets
from sklearn.model_selection import train_test_split# 读取名为Iris的数据集
iris datasets.load_iris() #这一行代码从scikit-learn的datasets模块中加载了鸢尾花数据集将数据存储在名为iris的变量中。
X iris.data #这一行代码将鸢尾花数据集中的特征数据存储在名为X的变量中。每行代表一朵鸢尾花每列代表不同的特征如花瓣长度、花瓣宽度等。
y iris.target #这一行代码将鸢尾花数据集中的目标标签存储在名为y的变量中。每个标签对应于相应鸢尾花的种类# 「X_train, X_test, y_train, y_test」存储数据
#这一行代码使用train_test_split函数将数据集分割成训练集X_train和y_train和测试集X_test和y_test。
#参数test_size0.2表示将数据集的20%用于测试而80%用于训练。random_state参数用于设置随机种子以确保每次运行代码时都得到相同的随机划分。
X_train, X_test, y_train, y_test train_test_split(X, y, test_size___, random_state0)# 检查训练数据和测试数据的大小
print (X_train :, X_train.shape) #表示训练集中特征矩阵的形状行数和列数
print (y_train :, y_train.shape) #这表示训练集中目标标签的形状
print (X_test :, X_test.shape)
print (y_test :, y_test.shape)输出结果 过拟合 在根据数据的模式构建成的计算机中继续输入新的数据时只要数据中不存在严重的杂乱成分计算机就可以正确的根据数据的模型对其进行分类若我们输入带有严重偏差的数据给计算机那么会导致模型出现很大的误差。我们通常称计算机对数据进行了过度的学习而产生的状态简称为过拟合。 欠拟合 我们将计算机对数据进行过度学习的学习状态称为过拟合与之相对对于数据没有得到充分学习的状态我们称为欠拟合。此外我们还将过拟合问题的模型称为方差过高产生欠拟合问题的模型称为偏置过高。