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

陕西省建设银行分行互联网互联网站软件技术是什么专业

陕西省建设银行分行互联网互联网站,软件技术是什么专业,wordpress 网银,wordpress 原创 转载人工智能专栏文章汇总#xff1a;人工智能学习专栏文章汇总-CSDN博客 本篇目录 一、介绍 1. 1 Scikit-learn的发展历程及定义 1.2 理解算法包、算法库及算法框架之间的区别和联系 二、Scikit-learn官网结构 三、安装与设置 3.1 Python环境的安装与配置 3.2 Scikit-lea…人工智能专栏文章汇总人工智能学习专栏文章汇总-CSDN博客 本篇目录 一、介绍 1. 1 Scikit-learn的发展历程及定义 1.2 理解算法包、算法库及算法框架之间的区别和联系 二、Scikit-learn官网结构 三、安装与设置 3.1 Python环境的安装与配置 3.2 Scikit-learn的安装 四、Scikit-learn的快速入门 4.1 数据集的导入和处理 4.2 数据集切分 4.3 数值数据的标准化 4.4 数值数据的归一化 4.4 核心对象类型评估器estimator 4.5 高级特性-管道Pipeline 4.6 模型保存 五、实操使用Scikit-learn实现线性回归建模 5.1 建模流程 5.2 什么是超参数 5.3 如何在官网中找到模型操作文档 六、总结 一、介绍 1. 1 Scikit-learn的发展历程及定义 Scikit-learn的发展始于2007年由David Cournapeau在Google Summer of Code项目中启动。项目后续得到了许多开发者的贡献包括INRIA法国国家信息与自动化研究所Waikato大学和其他机构。 项目之所以取名为Scikit-Learn也是因为该算法库是基于SciPy来进行的构建而Scikit则是SciPy KitSciPy衍生的工具套件的简称 Scikit-learn是目前机器学习领域最完整、同时也是最具影响力的算法库。它基于Numpy, Scipy和matplotlib包含了大量的机器学习算法实现包括分类、回归、聚类和降维等还包含了诸多模型评估及选择的方法。Scikit-learn的API设计的非常清晰易于使用和理解适合于新手入门同时也满足了专业人士在实际问题解决中的需求。 1.2 理解算法包、算法库及算法框架之间的区别和联系 算法包包含预先编写的针对特定问题或一系列相关问题的算法实现。算法包可以用于执行特定的任务或操作例如数值分析、机器学习、图像处理等。使用者可以直接调用这些算法而不需要自己从零开始编写。如表格数据分析包Pandas 算法库算法库和算法包非常相似通常可以互换使用。它也是包含了预先编写的用于解决特定问题的一系列算法的集合主要指代封装程度更高、对机器学习这一大类算法功能实现更加完整、甚至是定义了一类数据结构的代码模块如科学计算库NumPy 算法框架算法框架则是一个更大的概念它提供了一个用于开发、构建和实现算法的系统通常包含了一套标准的编程接口API、工具、库和规范。它的主要目的是简化和标准化开发过程使得开发者可以更专注于实现特定的功能或算法而不需要处理大量的基础设施问题。如机器学习算法库Scikit-Learn 通俗的理解一下用一个餐厅的比喻来理解这三个概念 算法包Algorithm Package就像餐厅菜单上的某个具体的菜品。每个菜品都有特定的制作方法各种食材以特定的方式搭配制作出特定的菜。比如你想吃鱼香肉丝你可以直接点这道菜而不需要告诉厨师应该怎么做。算法库Algorithm Library就像整个餐厅的菜单。菜单包含了很多菜品不论你想吃主食、汤还是甜点你都可以在菜单上找到。你只需要从菜单中选择你想要的菜而不需要知道具体的做法。算法框架Algorithm Framework就像整个餐厅的运营模式。这不仅仅包括菜单还有餐厅的装修风格服务员的服务态度烹饪食物的方式以及提供食物的时间等等。它提供了一种方便的方式使得你可以在一个地方享受到完整的用餐体验而不仅仅是食物本身。 所以在编程中直接使用算法包来解决特定的问题使用算法库可以解决一系列的问题而使用算法框架则可以帮助我们更好地组织和构建代码更有效地解决问题。 二、Scikit-learn官网结构 对于大多数流行的开源项目官网都是学习的绝佳资源。而对于Scikit-Learn来说尤其是如此。哪怕是顶级开源项目盛行的当下Scikit-Learn官网在相关内容介绍的详细和完整程度上都是业内首屈一指的。无论是Scikit-Learn的安装、更新还是具体算法的使用方法甚至包括算法核心原理的论文出处以及算法使用的案例在Scikit-Learn官网上都有详细的介绍。其官网地址 Scikit-Learn官网主要功能介绍如下 image-20230703105257138 导航栏 image-20230703103736820 六大功能模块 Scikit-learn将所有的评估器和函数功能分为六大类分别是分类模型Classification、回归模型Regression、聚类模型Clustering、降维方法Dimensionality reduction、模型选择Model selection和数据预处理六大类。 六个功能模块的划分其实是存在很多交叉的对于很多模型来说既能处理分类问题、同时也能处理回归问题而很多聚类算法同时也可以作为降维方法实用。例如线性回归对用评估器可从Regression进入进行查找而对用模型评估指标由于评估指标最终是指导进行模型选择的因此模型评估指标计算的实用函数的查找应该从Model selection入口进入。 image-20230703104323919 User Guidesklearn所有内容的合集文档 在最上方的User Guide一栏进入sklearn所有内容的合集页面其中包含了sklearn的所有内容按照使用顺序进行的排序。如果点击左上方的Other versions则可以下载sklearn所有版本的User Guide的PDF版本。 image-20230703105941226 API按照二级模块首字母排序的接口查询文档 如果想根据评估器或实用函数的名字去查找相关API说明文档则可以点击最上方的API一栏进入到根据二极模块首字母排序的API查询文档中。其中二级模块指的是类似包含线性回归的linear_model模块或者包含MSE的metrics模块。 image-20230703110042249 三、安装与设置 3.1 Python环境的安装与配置 如果您还不知道怎么安装Python基础环境建议您阅读此文详解了Anaconda的下载、安装与启动Jupyter的基本操作及其强大的Notebook编辑环境及轻松升级Python版本、维护和管理Python的第三方库满满干货 Python包的安装和部署的几种方式 | 满满干货 3.2 Scikit-learn的安装 在完成Python环境的安装和配置后可以进行Scikit-learn的安装在官网上对应的位置如下 image-20230703110330682 Scikit-learn需要Python ( 3.6) 和pip。 安装Scikit-learn的依赖包包括NumPy和SciPy。如果已经安装了这些包可以跳过此步。如果还没有可以使用以下命令来安装 pip install numpy scipy 接下来可以安装Scikit-learn了。使用以下命令来安装 pip install -U scikit-learn 这个命令将会安装或者升级Scikit-learn到最新版本。 如果使用的是Anaconda那么安装Scikit-learn更加简单直接使用以下命令 conda install scikit-learn 确认Scikit-learn是否已经成功安装可以尝试在Python环境中导入它 import sklearn sklearn.__version__ 如果没有出现任何错误信息那么就说明Scikit-learn已经成功安装了。 以上是基本的安装步骤不同的操作系统和Python环境可能会有一些差异。需要根据自己的实际情况进行调整。如果在安装过程中遇到任何问题可以查阅Scikit-learn的官方文档或者在网上搜索解决方案。 版本更新 pip install --upgrade sklearn 四、Scikit-learn的快速入门 4.1 数据集的导入和处理 Scikit-learn提供了非常多的内置数据集并且还提供了一些创建数据集的方法这些数据集常用于演示各种机器学习算法的使用方法。这些数据集分为两种类型小规模的玩具数据集Toy Datasets和大规模的真实世界数据集Real-World Datasets。 以下是几个常见的玩具数据集 Iris鸢尾花一个分类问题的数据集包含了三种鸢尾花的四个特征目标是根据这些特征预测鸢尾花的种类。Digits手写数字一个多分类问题的数据集包含了手写数字的8x8像素图像目标是识别这些图像对应的数字。Boston House Prices波士顿房价这是一个回归问题的数据集包含了波士顿各个区域的房价和其他13个特征目标是预测房价。Breast Cancer乳腺癌这是一个二分类问题的数据集包含了乳腺肿瘤的30个特征目标是预测肿瘤是良性还是恶性。 sklearn中的数据集相关功能都在datasets模块下可以通过API文档中的datasets模块所包含的内容对所有的数据集和创建数据集的方法进行概览。 image-20230703140835097 image-20230703141003085 image-20230703141104936 要在Scikit-learn中加载这些数据集可以使用sklearn.datasets模块中的相关函数例如 from sklearn.datasets import load_irisiris load_iris() 这个函数会返回一个Bunch对象包含了数据、目标和其他信息。例如iris.data是一个包含了特征的二维数组iris.target是一个包含了目标的一维数组。 名称描述data数据集特征矩阵target数据集标签数组feature_names各列名称target_names各类别名称frame当生成对象是DataFrame时返回完整的DataFrame 对应的可以使用如下代码查看 # 数据集包含四个特征 print(Features: , iris.feature_names) # 数据集有三种分类标签 print(Labels: , iris.target_names)# 将数据转换为DataFrame以便于查看 iris_df pd.DataFrame(iris.data, columnsiris.feature_names)# 添加分类标签到DataFrame iris_df[label] iris.target# 显示数据的前五行 print(iris_df.head()) image-20230703141719555 Scikit-learn也提供了一些真实世界的数据集但由于规模较大通常需要下载。这些数据集可以用于更复杂的任务和算法的测试。例如fetch_20newsgroups函数可以下载20 Newsgroups文本数据集用于文本分类等任务。 4.2 数据集切分 在Scikit-learn中通常将原始数据集切分为训练集和测试集这样做可以评估模型在未见过的数据上的性能。数据集切分的目的是为了更好的进行模型性能评估而更好的进行模型性能评估则是为了更好的进行模型挑选Scikit-learn提供了train_test_split函数来帮助完成这一任务train_test_split在model_selection模块下。 image-20230703142713957 image-20230703142909817 可以这样调用并使用它 from sklearn.model_selection import train_test_split# 假设X是特征y是目标 X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2, random_state42) train_test_split函数的主要参数有 X, y需要被切分的数据。test_size代表测试集的比例。在上面的例子中我们将20%的数据用作测试集。random_state随机种子可以确保每次运行代码时数据的切分方式相同。 在代码上可以使用?的方式来查看函数的详细信息 # 查阅该函数的帮助文档 train_test_split? image-20230703143118481 这里面有两个参数需要关注一下 随机数种子的设置random_state取值不同切分结果就会各有不同stratify参数是控制训练集和测试集不同类别样本所占比例的参数若希望切分后的训练集和测试集中0、1两类的比例和原始数据相同1:1则可另stratifyy。 4.3 数值数据的标准化 如果你还不理解什么是标准化和归一化一定要看这篇整篇都是干货 梯度下降优化(一)数据归一化的理论与实践 当时是手动实现的而Scikit-learn中可以直接调用函数来使用非常方便简单。 Scikit-learn中的预处理模块sklearn.preprocessing提供了许多实用的特征缩放功能包括数据归一化Normalization和标准化Standardization。这两种技术都用于改变特征的尺度以便在训练机器学习模型时保证它们在相同的范围内。 此处需要注意一点从功能上划分Scikit-learn中的归一化其实是分为标准化Standardization和归一化Normalization两类。Z-Score标准化和0-1标准化都属于Standardization的范畴Normalization则特指针对单个样本一行数据利用其范数进行放缩的过程。 数据归一化归一化通常意味着将数据缩放到[0, 1]的范围内或者使得所有数据的范围都在[-1, 1]之间。可以使用Scikit-learn的MinMaxScaler来实现。 python from sklearn.preprocessing import MinMaxScaler X np.arange(30).reshape(5, 6) X_train, X_test train_test_split(X) scaler MinMaxScaler() X_train_normalized scaler.fit_transform(X_train) X_test_normalized scaler.transform(X_test) X_test_normalized 这段代码首先创建了一个MinMaxScaler对象然后使用fit_transform方法对训练数据进行拟合和转换最后使用transform方法对测试数据进行转换。 数据标准化标准化则是将数据缩放使得它们的均值为0标准差为1。这可以通过Scikit-learn的StandardScaler来实现。 X np.arange(30).reshape(5, 6)X_train, X_test train_test_split(X)scaler StandardScaler()X_train_standardized scaler.fit_transform(X_train)# 利用训练集的均值和方差对测试集进行标准化处理 X_test_standardized scaler.transform(X_test)X_test_standardized 4.3.1 为什么对训练集要使用fit_transform而对测试集只使用transform? 您可能也注意到了我们对训练集使用了fit_transform()而对测试集直接调用了transform()方法这样Scikit-learn会使用之前在训练集上计算得到的均值和标准差来对测试集进行标准化。 这样做是为了使训练集和测试集在一个统一的标准维度上进行计算和测试这样得到的预测值才是具有可比性的。因此任何形式的预处理包括特征缩放都应当只以训练集的数据为基准来完成。 4.4 数值数据的归一化 在Scikit-learn中preprocessing.normalize是另一种类型的归一化。 preprocessing.normalize的功能是按照向量空间模型Vector Space Model对特征向量进行转换使得每个特征向量的欧几里得长度L2范数等于1或者每个元素的绝对值之和L1范数等于1。换句话说和标准化不同Scikit-learn中的归一化特指将单个样本一行数据放缩为单位范数1范数或者2范数为单位范数的过程该操作常见于核方法或者衡量样本之间相似性的过程中。 假设向量$x [x_1, x_2, ..., x_n]^T$则向量x的1-范数的基本计算公式为 (1)||||1|1||2|...|| 在数学中范数Norm是一个函数其将向量映射为非负值。直观上范数可以理解为向量的“长度”或“大小”。 即各分量的绝对值之和。而向量x的2-范数计算公式为 (2)||||2(|1|2|2|2...||2) 即各分量的平方和再开平方。 而Scikit-learn中的Normalization过程实际上就是将每一行数据视作一个向量然后用每一行数据去除以该行数据的1-范数或者2-范数。具体除以哪个范数以preprocessing.normalize函数中输入的norm参数为准。 from sklearn.preprocessing import normalize import numpy as np# 创建一个numpy数组 X np.array([[1., -1., 2.],[2., 0., 0.],[0., 1., -1.]])# 对数据进行归一化处理使用默认的L2范数 X_normalized normalize(X, norml2) 在上面的代码中每一行的特征向量被归一化为单位范数长度为1。这就意味着每一个样本的所有特征值的平方和为1。也可以通过设置norm参数为l1来进行L1范数归一化使得每个样本的所有特征值的绝对值和为1。 4.4 核心对象类型评估器estimator 许多功能强大的第三方库都定义了自己的核心对象类型这些对象类型实际上都是源码中定义的特定类的实例。例如NumPy的核心是数组ArrayPandas的核心是DataFramePyTorch的核心则是张量Tensor。这些对象类型为数据分析和机器学习提供了强大的工具。 对于Scikit-learn来说它的核心对象类型是评估器Estimator。可以将评估器看作是一种封装了各种机器学习模型的工具。在Scikit-learn中进行模型训练的过程其核心就是围绕着这些评估器展开的。 总的来说这些不同库的核心对象类型都为处理特定任务提供了便捷使得可以更加专注于问题的解决而不需要深入底层去处理复杂的细节。 围绕评估器的使用也基本分为两步其一是实例化该对象其二则是围绕某数据进行模型训练。 4.5 高级特性-管道Pipeline 在Scikit-learn中Pipeline是一种方便地将多个步骤组织在一起的工具常常用于包含多个步骤的数据预处理和建模过程。Pipeline在确保步骤顺序执行代码整洁并在进行交叉验证时防止数据泄露方面有很大的优势。 Pipeline工作流程类似于生产线每个步骤都是独立的但所有的步骤都依次串联起来上一步的输出作为下一步的输入。一个典型的Pipeline可能包括数据的缩放如归一化或标准化、特征选择、降维以及最后的模型训练等步骤。 直接来看下代码 from sklearn.pipeline import Pipeline from sklearn.preprocessing import StandardScaler from sklearn.linear_model import LinearRegression from sklearn.datasets import load_diabetes from sklearn.model_selection import train_test_split# 加载糖尿病数据集 diabetes load_diabetes() X_train, X_test, y_train, y_test train_test_split(diabetes.data, diabetes.target, random_state0)# 创建一个Pipeline pipe Pipeline([(scaler, StandardScaler()), # 第一步是标准化(regressor, LinearRegression()) # 第二步是线性回归 ])# 使用Pipeline进行训练 pipe.fit(X_train, y_train)# 使用Pipeline进行预测 y_pred pipe.predict(X_test)y_pred 在这个例子中创建了一个Pipeline它包含两个步骤一个是StandardScaler用于对数据进行标准化处理另一个是LinearRegression用于进行回归预测。然后在训练集上调用fit方法Pipeline会依次对每个步骤进行训练也就是说它首先在数据上进行标准化然后使用标准化的数据训练回归模型。当在测试集上调用predict方法时Pipeline会依次对每个步骤进行预测即先进行标准化然后使用训练好的回归模型进行预测。 4.6 模型保存 模型保存model persistence是一种将训练好的机器学习模型保存到磁盘然后在以后的时间点可能是在不同的环境中加载和使用的技术。这是非常有用的因为通常训练一个好的模型可能需要大量的时间和计算资源。一旦模型被训练我们可能希望在未来重新使用它而不是每次需要时都重新训练。 在Scikit-learn中可以使用Python的内置库pickle或者joblib库一种特别针对大数据的pickle来实现模型保存和加载。 直接上代码演示如何使用joblib保存和加载模型 pythonCopy codefrom sklearn.ensemble import RandomForestClassifier from sklearn.datasets import load_iris from joblib import dump, load# 加载iris数据集并训练一个随机森林分类器 iris load_iris() clf RandomForestClassifier() clf.fit(iris.data, iris.target)# 将模型保存到磁盘 dump(clf, randomforest_model.joblib) # 在需要的时候加载模型 clf_loaded load(randomforest_model.joblib) # 使用加载的模型进行预测 y_pred clf_loaded.predict(iris.data) 以上代码中dump函数将模型保存到指定的文件中而load函数则从文件中加载模型。注意保存和加载模型的代码通常不会在同一脚本或同一会话中运行这里只是为了演示。 如果模型包含了大量的numpy数组例如神经网络或随机森林等模型使用joblib可能比使用pickle更高效。因此Scikit-learn官方文档推荐使用joblib来保存和加载模型。 五、实操使用Scikit-learn实现线性回归建模 5.1 建模流程 Step 1准备数据生成1000个基本规律满足$y2x_1-x_21$分布回归类数据集 # 科学计算模块 import numpy as np import pandas as pd# 绘图模块 import matplotlib as mpl import matplotlib.pyplot as plt# 回归数据创建函数 def arrayGenReg(num_examples 1000, w [2, -1, 1], bias True, delta 0.01, deg 1):回归类数据集创建函数。:param num_examples: 创建数据集的数据量:param w: 包括截距的如果存在特征系数向量:param bias是否需要截距:param delta扰动项取值:param deg方程最高项次数:return: 生成的特征张和标签张量if bias True:num_inputs len(w)-1 # 数据集特征个数features_true np.random.randn(num_examples, num_inputs) # 原始特征w_true np.array(w[:-1]).reshape(-1, 1) # 自变量系数b_true np.array(w[-1]) # 截距labels_true np.power(features_true, deg).dot(w_true) b_true # 严格满足人造规律的标签features np.concatenate((features_true, np.ones_like(labels_true)), axis1) # 加上全为1的一列之后的特征else: num_inputs len(w)features np.random.randn(num_examples, num_inputs) w_true np.array(w).reshape(-1, 1) labels_true np.power(features, deg).dot(w_true)labels labels_true np.random.normal(size labels_true.shape) * deltareturn features, labels 这段代码的目的是创建一个回归类数据集。它定义了一个函数arrayGenReg用于生成具有特定规律的回归类数据集。该函数根据给定的参数生成特征和标签数据并可以选择是否添加截距项。特征数据根据正态分布随机生成而标签数据根据设定的规律进行计算并添加了服从正态分布的扰动项。这个函数的目的是方便生成用于回归问题的人工数据集。 Step 2 : 根据函数生成特征和标签数据。 # 设置随机数种子 np.random.seed(24) # 扰动项取值为0.01 features, labels arrayGenReg(delta0.01) image-20230703114334556 在这一步中通过使用np.random.seed(24)设置了随机数种子为24。这样做的目的是确保接下来的随机生成过程可重复即每次运行代码都会得到相同的随机数序列。然后调用arrayGenReg函数生成回归类数据集的特征和标签。在这个例子中将扰动项的取值设置为0.01即delta0.01。 Step3 : 绘制两个子图观察数据集在不同特征维度上的分布情况 # 可视化数据分布 plt.subplot(121) plt.plot(features[:, 0], labels, o) plt.subplot(122) plt.plot(features[:, 1], labels, o) 分别绘制特征矩阵features的第一列features[:, 0]、第二列features[:, 1]与标签列labels之间的关系。 image-20230703114707573 Step 4调用Scikit-learn中的线性回归评估器 首先从Scikit-learn库中导入线性回归评估器使用LinearRegression评估器进行线性回归建模。 from sklearn.linear_model import LinearRegression 然后创建一个线性回归模型对象被赋值给名为model的变量。 model LinearRegression() 接下来从之前生成的数据集中提取特征矩阵和标签特征矩阵选取了前两个特征features[:, :2]并将其赋值给X变量。将标签数组赋值给y变量。 codeX features[:, :2] # 特征矩阵选择前两个特征 y labels # 标签数组 最后通过调用评估器中的fit()方法对模型进行训练 model.fit(X, y) 通过这些步骤线性回归模型将被训练并学习数据集中的模式和关联。 在机器学习中评估器Estimator是用于学习数据模式和进行预测的对象。线性回归评估器LinearRegression是一种用于拟合线性模型的评估器。 实例化评估器是为了创建一个可供使用的评估器对象。通过实例化可以设置评估器的参数和属性以便进行后续的训练和预测操作。在这段代码中通过使用LinearRegression()创建了一个线性回归评估器的实例并将其赋值给model变量。 fit()方法是评估器的一个重要方法用于对模型进行训练。在训练过程中评估器根据提供的特征矩阵和标签数据通过最小化损失函数来调整模型的参数使其能够更好地拟合数据。通过训练过程模型能够学习特征与标签之间的关系并建立一个预测模型。 综上所述通过实例化评估器、提供特征矩阵和标签数据以及调用fit()方法来进行模型训练才能够使用评估器拟合数据并得到一个能够预测未知样本的线性回归模型。 Step 5 查看模型训练参数 print(自变量参数:, model.coef_) print(模型截距:, model.intercept_) 返回参数如下 image-20230703120003507 Step 6: 结果解读 自变量参数模型学习到的自变量参数为 [[1.99961892, -0.99985281]]接近于基本规律中的 [2, -1]。这表示模型能够很好地学习到数据生成的规律并对特征之间的关系进行准确建模。 模型截距模型学习到的截距为 [0.99970541]接近于基本规律中的 1。这意味着即使没有特征输入时模型预测的输出值仍接近于1。 因此根据模型的自变量参数和截距结果可以得出结论线性回归模型成功地学习到了基本规律中的特征之间的关系并能够对未知样本进行准确的预测。 Step 7: 使用MSE做模型评估 可以使用Scikit-learn库中的均方误差Mean Squared ErrorMSE计算函数计算了预测值和真实标签之间的均方误差。 # 在metrics模块下导入MSE计算函数 from sklearn.metrics import mean_squared_error# 输入数据进行计算 mean_squared_error(model.predict(X), y) 至此就完成了调用Scikit-learn的线性回归模型进行建模的流程 5.2 什么是超参数 重要你必须要知道的概念超参数 超参数指的是无法通过数学过程进行最优值求解、但却能够很大程度上影响模型形式和建模结果的因素例如线性回归中方程中自变量系数和截距项的取值是通过最小二乘法或者梯度下降算法求出的最优解而是否带入带入截距项、是否对数据进行归一化等这些因素同样会影响模型形态和建模结果但却是“人工判断”然后做出决定的选项而这些就是所谓的超参数。 而Scikit-learn中对每个评估器进行超参数设置的时机就在评估器类实例化的过程中。可以查看LinearRegression评估器的相关说明其中Parameters部分就是当前模型超参数的相关说明 image-20230703121933604 在上述Step 4过程中直接使用的是 model LinearRegression() 这是因为使用的都是默认的参数这些超参数可以在实例化过程中进行设置和修改例如可以创建一个不包含截距项的线性方程模型 model1 LinearRegression(fit_interceptFalse) model1.get_params() image-20230703134439570 对于一个已经实例化好的评估器可以通过get_params来获取其建模所用的参数 在实例化模型的过程中必须谨慎的选择模型超参数以达到最终模型训练的预期。不同的模型有不同的超参数这也是在后面学习建模过程中非常重要的一点。 5.3 如何在官网中找到模型操作文档 在官网中找到相关评估器模型说明对于理解模型的原理及使用方法等是非常重要的。以LinearRegression评估器为例 实现线性回归参数计算的方法有很多种可以通过最小二乘法进行一步到位的参数求解同时也能够通过梯度下降进行迭代求解如果要详细了解训练过程的参数求解方法就需要回到官网中查阅评估器的相关说明。首先我们已经知道了。LinearRegression是一个回归类模型所以肯定在sklearn官网说明Regression板块中。 image-20230703135642365 点进去就可以看到在该模块的1.1.1.Ordinary Least Squares中就是关于LinearRegression评估器的相关说明。对于任何一个评估器算法模型说明文档会先介绍算法的基础原理、算法公式往往就是损失函数计算表达式以及一个简单的例子必要时还会补充算法提出的相关论文链接带领用户快速入门。 image-20230703135901176 image-20230703140050243 还会对算法的某些特性进行探讨往往都是在使用过程中需要注意的问题例如对于普通最小二乘法最大的问题还是在于特征矩阵出现严重多重共线性时预测结果会出现较大的误差。然后说明文档会例举一个该算法的完整使用过程也就是穿插在说明文档中的example。再然后说明文档会讨论几个在模型使用过程中经常会比较关注的点对于线性回归此处列举了两个常见问题其一是非负最小二乘如何实现以及最小二乘法的计算复杂度。 image-20230703140313506 Scikit-learn官网说明文档非常细致并且非常完整当使用其他模型按照相同的方式进行学习、检索就能充分理解模型的原理和使用。 六、总结 本文详细解释了Scikit-learn的一些基础用法包括它的定义、安装、核心对象类型评估器和关键特性如数据预处理数据集切分数据标准化和归一化并学习了如何实现线性回归模型包括了解超参数的概念以及如何保存和加载模型希望通过本文能帮助大家对Scikit-learn有一个更深入的认识。 最后感谢您阅读这篇文章如果您觉得有所收获别忘了点赞、收藏并关注我这是我持续创作的动力。您有任何问题或建议都可以在评论区留言我会尽力回答并接受您的反馈。如果您希望了解某个特定主题也欢迎告诉我我会乐于创作与之相关的文章。谢谢您的支持期待与您共同成长 期待与您在未来的学习中共同成长。
http://www.sczhlp.com/news/211168/

相关文章:

  • 住建部城乡建设网站网站建设名词解释与简答题
  • 襄阳网站建设制作费用东莞网络推广案例
  • 文化传媒网站建设没有网站怎么做排名优化
  • 企业网站系统模板php做网站的支付功能
  • 电子商务网站策划书3500字肇庆搞产品网站的公司
  • 网站的代运营网站备案 建设方案书
  • 推广项目网站怎么样网站建设
  • wordpress中文下载站龙腾盛世网站建设
  • 福州正规网站建设公司报价网站排名推广软件
  • 芮城网站建设二手书网站开发
  • 和印度做外贸的网站如何做网站步骤
  • 郑州航空港区建设局网站网站建设经费放哪个经济科目
  • 合同模板网站前端开发就是做网站吗
  • 网站登录系统做普通网站价格
  • 网站用户体验诊断wordpress 豆瓣
  • 投资公司网站建设需求网站建设必须要主机吗
  • 陌陌网站开发成本自学软装设计该怎么入手
  • 和女人做的电影网站为企业做好服务保障
  • 免费 企业网站管理系统wordpress统计在线人数
  • 周口网站建设费用建设银行网站怎么取消短信服务
  • 微网站管理平台女性适合开什么工作室
  • 如何建设一个简易的网站成都医院做网站建设
  • 江西住房和城乡建设部网站首页线上网站制作
  • wordpress门户网站模板下载长春市科学技术局网站
  • 网站建设的参考文献网站优化公司seo案例
  • 成都专业网站推广网络营销策划书案例
  • 网站vr视角怎么做jsp网站开发 心得
  • dw设计一个简单网站wordpress留言板模板下载
  • 螺纹钢的中线节奏
  • 编程指北的 C++