René's URL Explorer Experiment


Title: 一文全览机器学习建模流程(Python代码) · Issue #21 · aialgorithm/Blog · GitHub

Open Graph Title: 一文全览机器学习建模流程(Python代码) · Issue #21 · aialgorithm/Blog

X Title: 一文全览机器学习建模流程(Python代码) · Issue #21 · aialgorithm/Blog

Description: 注:本文基于之前的文章做了些修改,重复部分可以跳过看。示例的项目为基于LR模型对癌细胞分类的任务。 随着人工智能时代的到来,机器学习已成为解决问题的关键工具。我们接下来会详细介绍机器学习如何应用到实际问题,并概括机器学习应用的一般流程。 1.1 明确问题 明确业务问题是机器学习的先决条件,即抽象出该问题为机器学习的预测问题:需要学习什么样的数据作为输入,目标是得到什么样的模型做决策作为输出。 一个简单的新闻分类的场景,就是学习已有的新闻及其类别标签数据,得到一个文本分类...

Open Graph Description: 注:本文基于之前的文章做了些修改,重复部分可以跳过看。示例的项目为基于LR模型对癌细胞分类的任务。 随着人工智能时代的到来,机器学习已成为解决问题的关键工具。我们接下来会详细介绍机器学习如何应用到实际问题,并概括机器学习应用的一般流程。 1.1 明确问题 明确业务问题是机器学习的先决条件,即抽象出该问题为机器学习的预测问题:需要学习什么样的数据作为输入,目标是得到什么样的模型做决策作为输出。...

X Description: 注:本文基于之前的文章做了些修改,重复部分可以跳过看。示例的项目为基于LR模型对癌细胞分类的任务。 随着人工智能时代的到来,机器学习已成为解决问题的关键工具。我们接下来会详细介绍机器学习如何应用到实际问题,并概括机器学习应用的一般流程。 1.1 明确问题 明确业务问题是机器学习的先决条件,即抽象出该问题为机器学习的预测问题:需要学习什么样的数据作为输入,目标是得到什么样的模型做决策作为输出。...

Opengraph URL: https://github.com/aialgorithm/Blog/issues/21

X: @github

direct link

Domain: github.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"一文全览机器学习建模流程(Python代码)","articleBody":"\r\n\r\n\u003e 注:本文基于之前的文章做了些修改,重复部分可以跳过看。示例的项目为基于LR模型对癌细胞分类的任务。\r\n\r\n随着人工智能时代的到来,机器学习已成为解决问题的关键工具。我们接下来会详细介绍机器学习如何应用到实际问题,并概括机器学习应用的一般流程。\r\n\r\n![](https://img-blog.csdnimg.cn/img_convert/d038027b3de5f0f90cbed41c8977fa99.png)\r\n\r\n\r\n## 1.1 明确问题\r\n明确业务问题是机器学习的先决条件,即抽象出该问题为机器学习的预测问题:需要学习什么样的数据作为输入,目标是得到什么样的模型做决策作为输出。\r\n一个简单的新闻分类的场景,就是学习已有的新闻及其类别标签数据,得到一个文本分类模型,通过模型对每天新的新闻做类别预测,以归类到每个新闻频道。\r\n\r\n![](https://img-blog.csdnimg.cn/img_convert/060d85a5e96228a8d0075fdad7fabfe2.png)\r\n\r\n## 1.2 数据选择\r\n机器学习广泛流传一句话:“数据和特征决定了机器学习结果的上限,而模型算法只是尽可能逼近这个上限”,意味着数据及其特征表示的质量决定了模型的最终效果,且在实际的工业应用中,算法通常占了很小的一部分,大部分的工作都是在找数据、提炼数据、分析数据及特征工程。\r\n\r\n数据选择是准备机器学习原料的关键,需要关注的是:\r\n① 数据的代表性:数据质量差或无代表性,会导致模型拟合效果差;\r\n② 数据时间范围:对于监督学习的特征变量X及标签Y,如与时间先后有关,则需要划定好数据时间窗口,否则可能会导致数据泄漏,即存在和利用因果颠倒的特征变量的现象。(如预测明天会不会下雨,但是训练数据引入明天温湿度情况); \r\n③ 数据业务范围:明确与任务相关的数据表范围,避免缺失代表性数据或引入大量无关数据作为噪音。\r\n\r\n## 2 特征工程\r\n特征工程就是对原始数据分析处理转化为模型可用的特征,这些特征可以更好地向预测模型描述潜在规律,从而提高模型对未见数据的准确性。特征工程按技术上可分为如下几步:\r\n① 探索性数据分析:数据分布、缺失、异常及相关性等情况;\r\n② 数据预处理:缺失值/异常值处理,数据离散化,数据标准化等;\r\n③ 特征提取:特征表示,特征衍生,特征选择,特征降维等;\r\n### 2.1 探索性数据分析\r\n拿到数据后,可以先做探索性数据分析(EDA)去理解数据本身的内部结构及规律,如果你对数据情况不了解也没有相关的业务背景知识,不做相关的分析及预处理,直接将数据喂给传统模型往往效果不太好。\r\n通过探索性数据分析,可以了解数据分布、缺失、异常及相关性等情况,利用这些基本信息做数据的处理及特征加工,可以进一步提高特征质量,灵活选择合适的模型方法。\r\n\r\n![](https://img-blog.csdnimg.cn/img_convert/a3ae3156800415579ddcec02ab3b6c89.png)\r\n\r\n### 2.2 数据预处理\r\n##### 异常值处理\r\n收集的数据由于人为或者自然因素可能引入了异常值(噪音),这会对模型学习进行干扰。  通常需要处理人为引起的异常值,通过业务或技术手段(如3σ准则)判定异常值,再由(正则式匹配)等方式筛选异常的信息,并结合业务情况删除或者替换数值。\r\n##### 缺失值处理\r\n数据缺失值可以通过结合业务进行填充数值、不做处理或者删除。根据特征缺失率情况及处理方式分为以下情况:\r\n  ① 缺失率较高,并结合业务可以直接删除该特征变量。经验上可以新增一个bool类型的变量特征记录该字段的缺失情况,缺失记为1,非缺失记为0;\r\n  ② 缺失率较低,结合业务可使用一些缺失值填充手段,如pandas的fillna方法、训练回归模型预测缺失值并填充;\r\n  ③ 不做处理:部分模型如随机森林、xgboost、lightgbm能够处理数据缺失的情况,不需要对缺失数据再做处理。\r\n##### 数据离散化\r\n离散化是将连续的数据进行分段,使其变为一段段离散化的区间,分段的原则有等宽、等频等方法。通过离散化一般可以增加抗噪能力、使特征更有业务解释性、减小算法的时间及空间开销(不同算法情况不一)。\r\n##### 数据标准化\r\n数据各个特征变量的量纲差异很大,可以使用数据标准化消除不同分量量纲差异的影响,加速模型收敛的效率。常用的方法有:\r\n ① min-max 标准化:\r\n 可将数值范围缩放到(0, 1)且无改变数据分布。max为样本最大值,min为样本最小值。\r\n\r\n![](https://img-blog.csdnimg.cn/img_convert/4f87513f6affde814e9ef81bae2e9005.png)\r\n\r\n ② z-score 标准化:\r\n 可将数值范围缩放到0附近, 经过处理的数据符合标准正态分布。是平均值,σ是标准差。\r\n\r\n ![](https://img-blog.csdnimg.cn/img_convert/13cfdf595c27c57017a7c713bd24f36d.png)\r\n\r\n### 2.3 特征提取\r\n##### 特征表示\r\n数据需要转换为计算机能够处理的数值形式,图片类的数据需要转换为RGB三维矩阵的表示。\r\n\r\n![](https://img-blog.csdnimg.cn/img_convert/db2c56b25416e98de182a13ae3615f6b.png)\r\n\r\n字符类的数据可以用多维数组表示,有Onehot独热编码表示(用单独一个位置的1来表示)、word2vetor分布式表示等;\r\n\r\n![](https://img-blog.csdnimg.cn/img_convert/f24cba2ceef537be0d3001de4a070dd8.png)\r\n\r\n##### 特征衍生\r\n基础特征对样本信息的表达有限,可通过特征衍生可以增加特征的非线性表达能力,提升模型效果。另外,在业务上的理解设计特征,还可以增加模型的可解释性。(如体重除以身高就是表达健康情况的重要特征。)\r\n特征衍生是对现有基础特征的含义进行某种处理(聚合/转换之类),常用方法人工设计、自动化特征衍生(图4.15):\r\n① 结合业务的理解做人工衍生设计:\r\n聚合的方式是指对字段聚合后求平均值、计数、最大值等。比如通过12个月工资可以加工出:平均月工资,薪资最大值 等等;\r\n转换的方式是指对字段间做加减乘除之类。比如通过12个月工资可以加工出:当月工资收入与支出的比值、差值等等;\r\n\r\n![](https://img-blog.csdnimg.cn/img_convert/c867c1dcc1fdb38ebec2392d89d593d0.png)\r\n\r\n② 使用自动化特征衍生工具:如Featuretools等,可以使用聚合(agg_primitives)、转换(trans_primitives)或则自定义方式暴力生成特征;\r\n##### 特征选择\r\n特征选择的目标是寻找最优特征子集,通过筛选出显著特征、摒弃冗余特征,减少模型的过拟合风险并提高运行效率。特征选择方法一般分为三类:\r\n① 过滤法:计算特征的缺失情况、发散性、相关性、信息量、稳定性等类型的指标对各个特征进行评估选择,常用如缺失率、单值率、方差验证、pearson相关系数、chi2卡方检验、IV值、信息增益及PSI等方法。\r\n② 包装法:通过每次选择部分特征迭代训练模型,根据模型预测效果评分选择特征的去留,如sklearn的RFE递归特征消除。\r\n③ 嵌入法:直接使用某些模型训练的到特征重要性,在模型训练同时进行特征选择。通过模型得到各个特征的权值系数,根据权值系数从大到小来选择特征。常用如基于L1正则项的逻辑回归、XGBOOST特征重要性选择特征。\r\n\r\n![](https://img-blog.csdnimg.cn/img_convert/4a246a59481c0ee1df1551bf7c1a3cbe.png)\r\n\r\n#### 特征降维\r\n如果特征选择后的特征数目仍太多,这种情形下常会有数据样本稀疏、距离计算困难的问题(称为 “维数灾难”),可以通过特征降维解决。常用的降维方法有:主成分分析法(PCA)等。\r\n## 3 模型训练\r\n模型训练是利用既定的模型方法去学习数据经验的过程,这过程还需要结合模型评估以调整算法的超参数,最终选择表现较优的模型。\r\n### 3.1 数据集划分\r\n训练模型前,常用的HoldOut验证法(此外还有留一法、k折交叉验证等方法),把数据集分为训练集和测试集,并可再对训练集进一步细分为训练集和验证集,以方便评估模型的性能。\r\n① 训练集(training set):用于运行学习算法,训练模型。\r\n② 开发验证集(development set)用于调整超参数、选择特征等,以选择合适模型。\r\n③ 测试集(test set)只用于评估已选择模型的性能,但不会据此改变学习算法或参数。\r\n###3.2 模型方法选择\r\n结合当前任务及数据情况选择合适的模型方法,常用的方法如下图 ,scikit-learn模型方法的选择。此外还可以结合多个模型做模型融合。\r\n\r\n![](https://img-blog.csdnimg.cn/img_convert/d425e2fa0f8ec686233878ecc1afd3b0.png)\r\n\r\n### 3.3 训练过程\r\n模型的训练过程即学习数据经验得到较优模型及对应参数(如神经网络最终学习到较优的权重值)。整个训练过程还需要通过调节超参数(如神经网络层数、梯度下降的学习率)进行控制优化的。\r\n调节超参数是一个基于数据集、模型和训练过程细节的实证过程,需要基于对算法的原理理解和经验,借助模型在验证集的评估进行参数调优,此外还有自动调参技术:网格搜索、随机搜索及贝叶斯优化等。\r\n\r\n![](https://img-blog.csdnimg.cn/img_convert/fcb4d55a717e8ad446369964737522b2.png)\r\n\r\n## 4 模型评估\r\n机器学习的直接目的是学(拟合)到“好”的模型,不仅仅是学习过程中对训练数据的良好的学习预测能力,根本上在于要对新数据能有很好的预测能力(泛化能力),所以客观地评估模型性能至关重要。技术上常根据训练集及测试集的指标表现,评估模型的性能。\r\n### 4.1 评估指标\r\n##### 评估分类模型\r\n常用的评估标准有查准率P、查全率R及两者调和平均F1-score 等,并由混淆矩阵的统计相应的个数计算出数值:\r\n\r\n![](https://img-blog.csdnimg.cn/img_convert/c587ba990b782c1ddbfd0df1b8f9f74a.png)\r\n\r\n查准率是指分类器分类正确的正样本(TP)的个数占该分类器所有预测为正样本个数(TP+FP)的比例;\r\n 查全率是指分类器分类正确的正样本个数(TP)占所有的正样本个数(TP+FN)的比例。\r\nF1-score是查准率P、查全率R的调和平均:\r\n\r\n![](https://img-blog.csdnimg.cn/img_convert/dd745c84043c46ccccc9a935cf55f4e0.png)\r\n\r\n##### 评估回归模型\r\n常用的评估指标有MSE均方误差等。反馈的是预测数值与实际值的拟合情况。\r\n\r\n![](https://img-blog.csdnimg.cn/img_convert/39776750b0f7460728599c7a8f738231.png)\r\n\r\n##### 评估聚类模型\r\n可分为两类方式,一类将聚类结果与某个“参考模型”的结果进行比较,称为“外部指标”(external index):如兰德指数,FM指数等。另一类是直接考察聚类结果而不利用任何参考模型,称为“内部指标”(internal index):如紧凑度、分离度等。\r\n### 4.2 模型评估及优化\r\n训练机器学习模型所使用的数据样本集称之为训练集(training set), 在训练数据的误差称之为训练误差(training error),在测试数据上的误差,称之为测试误差(test error)或泛化误差 (generalization error)。\r\n\r\n![](https://img-blog.csdnimg.cn/img_convert/16f01fbfc520290b4c8667ae19034130.png)\r\n\r\n描述模型拟合(学习)程度常用欠拟合、拟合良好、过拟合,我们可以通过训练误差及测试误差评估模型的拟合程度。从整体训练过程来看,欠拟合时训练误差和测试误差均较高,随着训练时间及模型复杂度的增加而下降。在到达一个拟合最优的临界点之后,训练误差下降,测试误差上升,这个时候就进入了过拟合区域。\r\n\r\n![](https://img-blog.csdnimg.cn/img_convert/91f939d7bd1e0fed886c6c29af3f8150.png)\r\n\r\n欠拟合是指相较于数据而言模型结构过于简单,以至于无法学习到数据中的规律。\r\n过拟合是指模型只过分地匹配训练数据集,以至于对新数据无良好地拟合及预测。其本质是较复杂模型从训练数据中学习到了统计噪声导致的。\r\n分析模型拟合效果并对模型进行优化,常用的方法有:\r\n\r\n![](https://img-blog.csdnimg.cn/img_convert/dbd04015fb657dcd1fd46ef1ee7d3028.png)\r\n\r\n## 5 模型决策\r\n决策应用是机器学习最终目的,对模型预测信息加以分析解释,并应用于实际的工作领域。需要注意的是,工程上是结果导向,模型在线上运行的效果直接决定模型的成败,不仅仅包括其准确程度、误差等情况,还包括其运行的速度(时间复杂度)、资源消耗程度(空间复杂度)、稳定性的综合考虑。\r\n\r\n## 6 机器学习项目实战(数据挖掘)\r\n\r\n### 6.1 项目介绍\r\n\r\n项目的实验数据来源著名的UCI机器学习数据库,该数据库有大量的人工智能数据挖掘数据。本例选用的是sklearn上的数据集版本:Breast Cancer Wisconsin DataSet(威斯康星州乳腺癌数据集),这些数据来源美国威斯康星大学医院的临床病例报告,每条样本有30个特征属性,标签为是否良性肿瘤,即有监督分类预测的问题。  项目的建模思路是通过分析乳腺癌数据集数据,特征工程,构建逻辑回归模型学习数据,预测样本的类别是否为良性肿瘤。\r\n\r\n### 6.2 代码实现\r\n\r\n导入相关的Python库,加载cancer数据集,查看数据介绍, 并转为DataFrame格式。\r\n```\r\nimport numpy as np  \r\nimport pandas as pd\r\nimport matplotlib.pyplot as plt\r\n\r\nfrom keras.models import Sequential\r\nfrom keras.layers import Dense, Dropout\r\nfrom keras.utils import plot_model\r\nfrom sklearn import datasets\r\nfrom sklearn.preprocessing import StandardScaler\r\nfrom sklearn.model_selection import train_test_split\r\nfrom sklearn.metrics import precision_score, recall_score, f1_score\r\n```\r\n```\r\ndataset_cancer = datasets.load_breast_cancer()    # 加载癌细胞数据集\r\n\r\nprint(dataset_cancer['DESCR'])\r\n\r\ndf = pd.DataFrame(dataset_cancer.data, columns=dataset_cancer.feature_names)  \r\n\r\ndf['label'] = dataset_cancer.target\r\n\r\nprint(df.shape)\r\n\r\ndf.head()\r\n```\r\n![](https://img-blog.csdnimg.cn/img_convert/f119b68bc1c535e8a94ce9f1e9a92884.png)\r\n\r\n探索性数据分析EDA:使用pandas_profiling库分析数据数值情况,缺失率及相关性等。\r\n```\r\nimport pandas_profiling\r\n\r\npandas_profiling.ProfileReport(df, title='Breast Cancer DataSet EDA')\r\n```\r\n![](https://img-blog.csdnimg.cn/img_convert/34acc6c2c5b95182a59b6120c7c36831.png)\r\n\r\n特征工程方面主要的分析及处理有:\r\n● 分析特征无明显异常值及缺失的情况,无需处理;\r\n● 已有mean/standard error等衍生特征,无需特征衍生;\r\n● 结合相关性等指标做特征选择(过滤法);\r\n● 对特征进行标准化以加速模型学习过程;\r\n```\r\n# 筛选相关性\u003e0.99的特征清单列表及标签\r\ndrop_feas = ['label','worst_radius','mean_radius']\r\n\r\n# 选择标签y及特征x\r\ny = df.label\r\nx = df.drop(drop_feas,axis=1)  # 删除相关性强特征及标签列\r\n\r\n# holdout验证法: 按3:7划分测试集 训练集\r\nx_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3)\r\n\r\n# 特征z-score 标准化\r\nsc = StandardScaler()\r\n\r\nx_train = sc.fit_transform(x_train)  # 注:训练集测试集要分别标准化,以免测试集信息泄露到模型训练\r\nx_test = sc.transform(x_test) \r\n```\r\n\r\n模型训练:使用keras搭建逻辑回归模型,训练模型,观察模型训练集及验证集的loss损失\r\n\r\n```\r\n_dim = x_train.shape[1]   # 输入模型的特征数\r\n\r\n# LR逻辑回归模型\r\nmodel = Sequential()   \r\n\r\nmodel.add(Dense(1, input_dim=_dim, activation='sigmoid',bias_initializer='uniform'))  # 添加网络层,激活函数sigmoid\r\n\r\nmodel.summary()\r\n\r\nplot_model(model,show_shapes=True)\r\n```\r\n```\r\nmodel.compile(optimizer='adam', loss='binary_crossentropy')  #模型编译:选择交叉熵损失函数及adam梯度下降法优化算法\r\n\r\nmodel.fit(x, y, validation_split=0.3, epochs=200)   # 模型迭代训练: validation_split比例0.3, 迭代epochs200次\r\n\r\n# 模型训练集及验证集的损失\r\n\r\nplt.figure()\r\n\r\nplt.plot(model.history.history['loss'],'b',label='Training loss')\r\n\r\nplt.plot(model.history.history['val_loss'],'r',label='Validation val_loss')\r\n\r\nplt.title('Traing and Validation loss')\r\n\r\nplt.legend()\r\n```\r\n![](https://img-blog.csdnimg.cn/img_convert/98efbd893166efdf67745e0f6a5c4a17.png)\r\n\r\n以测试集F1-score等指标的表现,评估模型的泛化能力。最终测试集的f1-score有88%,有较好的模型表现。\r\n\r\n![](https://img-blog.csdnimg.cn/img_convert/3ab14a3a5dc0fc62ab0fc061ac5b640d.png)\r\n```\r\ndef model_metrics(model, x, y):\r\n    \"\"\"\r\n\r\n    评估指标\r\n\r\n    \"\"\"\r\n    yhat = model.predict(x).round()  # 模型预测yhat,预测阈值按默认0.5划分\r\n\r\n    result = {\r\n              'f1_score': f1_score(y, yhat),\r\n\r\n              'precision':precision_score(y, yhat),\r\n\r\n              'recall':recall_score(y, yhat)\r\n             }\r\n\r\n    return result\r\n\r\n# 模型评估结果\r\n\r\nprint(\"TRAIN\")\r\n\r\nprint(model_metrics(model, x_train, y_train))\r\n\r\nprint(\"TEST\")\r\n\r\nprint(model_metrics(model, x_test, y_test))\r\n```","author":{"url":"https://github.com/aialgorithm","@type":"Person","name":"aialgorithm"},"datePublished":"2021-08-19T08:39:49.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":0},"url":"https://github.com/21/Blog/issues/21"}

route-pattern/_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format)
route-controllervoltron_issues_fragments
route-actionissue_layout
fetch-noncev2:72ca0328-60f4-61e5-9e91-cd75f72342ca
current-catalog-service-hash81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114
request-id83E6:333370:7D799F:ACD0FB:696A2279
html-safe-nonce0ff2b25638f9375a38d503382b1d6a0cb16c34e1f5b2da8cc1a591f2ff779a40
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4M0U2OjMzMzM3MDo3RDc5OUY6QUNEMEZCOjY5NkEyMjc5IiwidmlzaXRvcl9pZCI6IjU4MzE5MTUyNTQzNzg1Mzc1OTMiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmacc95924bf5a4cc733ee79854c5b1b2145120ce822070a8c95b903e63ad9d0e029
hovercard-subject-tagissue:974418738
github-keyboard-shortcutsrepository,issues,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/issues_fragments/issue_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/aialgorithm/Blog/21/issue_layout
twitter:imagehttps://opengraph.githubassets.com/0e706772323a4f9e2986efe2ebeb5fe4a488386d02c77be279c3dbe5a326a10d/aialgorithm/Blog/issues/21
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/0e706772323a4f9e2986efe2ebeb5fe4a488386d02c77be279c3dbe5a326a10d/aialgorithm/Blog/issues/21
og:image:alt注:本文基于之前的文章做了些修改,重复部分可以跳过看。示例的项目为基于LR模型对癌细胞分类的任务。 随着人工智能时代的到来,机器学习已成为解决问题的关键工具。我们接下来会详细介绍机器学习如何应用到实际问题,并概括机器学习应用的一般流程。 1.1 明确问题 明确业务问题是机器学习的先决条件,即抽象出该问题为机器学习的预测问题:需要学习什么样的数据作为输入,目标是得到什么样的模型做决策作为输出。...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernameaialgorithm
hostnamegithub.com
expected-hostnamegithub.com
None014f3d193f36b7d393f88ca22d06fbacd370800b40a547c1ea67291e02dc8ea3
turbo-cache-controlno-preview
go-importgithub.com/aialgorithm/Blog git https://github.com/aialgorithm/Blog.git
octolytics-dimension-user_id33707637
octolytics-dimension-user_loginaialgorithm
octolytics-dimension-repository_id147093233
octolytics-dimension-repository_nwoaialgorithm/Blog
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id147093233
octolytics-dimension-repository_network_root_nwoaialgorithm/Blog
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
released515f6f09fa57a93bf90355cb894eb84ca4f458f
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/aialgorithm/Blog/issues/21#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Faialgorithm%2FBlog%2Fissues%2F21
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Faialgorithm%2FBlog%2Fissues%2F21
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fissues_fragments%2Fissue_layout&source=header-repo&source_repo=aialgorithm%2FBlog
Reloadhttps://github.com/aialgorithm/Blog/issues/21
Reloadhttps://github.com/aialgorithm/Blog/issues/21
Reloadhttps://github.com/aialgorithm/Blog/issues/21
aialgorithm https://github.com/aialgorithm
Bloghttps://github.com/aialgorithm/Blog
Notifications https://github.com/login?return_to=%2Faialgorithm%2FBlog
Fork 259 https://github.com/login?return_to=%2Faialgorithm%2FBlog
Star 942 https://github.com/login?return_to=%2Faialgorithm%2FBlog
Code https://github.com/aialgorithm/Blog
Issues 66 https://github.com/aialgorithm/Blog/issues
Pull requests 0 https://github.com/aialgorithm/Blog/pulls
Actions https://github.com/aialgorithm/Blog/actions
Projects 0 https://github.com/aialgorithm/Blog/projects
Security Uh oh! There was an error while loading. Please reload this page. https://github.com/aialgorithm/Blog/security
Please reload this pagehttps://github.com/aialgorithm/Blog/issues/21
Insights https://github.com/aialgorithm/Blog/pulse
Code https://github.com/aialgorithm/Blog
Issues https://github.com/aialgorithm/Blog/issues
Pull requests https://github.com/aialgorithm/Blog/pulls
Actions https://github.com/aialgorithm/Blog/actions
Projects https://github.com/aialgorithm/Blog/projects
Security https://github.com/aialgorithm/Blog/security
Insights https://github.com/aialgorithm/Blog/pulse
New issuehttps://github.com/login?return_to=https://github.com/aialgorithm/Blog/issues/21
New issuehttps://github.com/login?return_to=https://github.com/aialgorithm/Blog/issues/21
一文全览机器学习建模流程(Python代码)https://github.com/aialgorithm/Blog/issues/21#top
https://github.com/aialgorithm
https://github.com/aialgorithm
aialgorithmhttps://github.com/aialgorithm
on Aug 19, 2021https://github.com/aialgorithm/Blog/issues/21#issue-974418738
https://camo.githubusercontent.com/7a91290eef9c4099a7139f13ae6aa8f40f78ffd969950d0d00ee636e8ed507df/68747470733a2f2f696d672d626c6f672e6373646e696d672e636e2f696d675f636f6e766572742f64303338303237623364653566306639306362656434316338393737666139392e706e67
https://camo.githubusercontent.com/91588f01ab20eb99c9f818476cf9305a994bc55dff1824cae93c35fa0b59e9f8/68747470733a2f2f696d672d626c6f672e6373646e696d672e636e2f696d675f636f6e766572742f30363064383561356539363232386138643030373566646164376661626665322e706e67
https://camo.githubusercontent.com/66e535e5b4579da6764fbc1fdac0421bfe0f6b3ca7017e493e0fc1f93ff670b1/68747470733a2f2f696d672d626c6f672e6373646e696d672e636e2f696d675f636f6e766572742f61336165333135363830303431353537396464636563303261623362366338392e706e67
https://camo.githubusercontent.com/470a9adb325175afdb43d9649b34c779ffbcfc4ee3c87571cb0ce2c6d0e43f9b/68747470733a2f2f696d672d626c6f672e6373646e696d672e636e2f696d675f636f6e766572742f34663837353133663661666664653831346539656638316261653265393030352e706e67
https://camo.githubusercontent.com/c1ab041c948f149db96c50ab0f95f50d8896e1c17f7457a110b487ab9fa6a1c1/68747470733a2f2f696d672d626c6f672e6373646e696d672e636e2f696d675f636f6e766572742f31336366646635393563323763353730313761376337313362643234663336642e706e67
https://camo.githubusercontent.com/cfbb59aaf0eb081d518a274b023ca4ad0c4ed0a1fa4b0a9bb6e00380f926b47b/68747470733a2f2f696d672d626c6f672e6373646e696d672e636e2f696d675f636f6e766572742f64623263353662323534313665393864653138326131336165333631356636622e706e67
https://camo.githubusercontent.com/0741946077685ae28b9ed4e882dde790adf90b309f0bd76d497520f3e0f7959e/68747470733a2f2f696d672d626c6f672e6373646e696d672e636e2f696d675f636f6e766572742f66323463626132636565663533376265306433303031646534613037306464382e706e67
https://camo.githubusercontent.com/497aadc15009c8faef82781f29189e577d7fcc0bc1c7bd8d057b57d121ffa6f0/68747470733a2f2f696d672d626c6f672e6373646e696d672e636e2f696d675f636f6e766572742f63383637633164636331666462333865626563323339326438396435393364302e706e67
https://camo.githubusercontent.com/71e784fba2520d94b5aa5e374a19df4004d19ef8b84b844b035a02665da65552/68747470733a2f2f696d672d626c6f672e6373646e696d672e636e2f696d675f636f6e766572742f34613234366135393438316330656531646631353531626637633161336362652e706e67
#3https://github.com/aialgorithm/Blog/issues/3
https://camo.githubusercontent.com/1055a72e2b94ee553e4059c0decb236765ae7f4f560b750a478813df235d0470/68747470733a2f2f696d672d626c6f672e6373646e696d672e636e2f696d675f636f6e766572742f64343235653266613066386563363836323333383738656363316166643362302e706e67
https://camo.githubusercontent.com/0d6c221ef66a5421e9b737b69606b0ee487e3429653b7426cf5777d6947bf8bd/68747470733a2f2f696d672d626c6f672e6373646e696d672e636e2f696d675f636f6e766572742f66636234643535613731376538616434343633363939363437333735323262322e706e67
https://camo.githubusercontent.com/4c69e256ba2aeb0e87662ebac70893acd6dc71b632cbad6dc63146ecf7dbeb8a/68747470733a2f2f696d672d626c6f672e6373646e696d672e636e2f696d675f636f6e766572742f63353837626139393062373832633164646266643064663162386639663734612e706e67
https://camo.githubusercontent.com/0362c3f7eb432423b7888e8000f0768d9a146c42c12110a8df8db5c56b1ffa79/68747470733a2f2f696d672d626c6f672e6373646e696d672e636e2f696d675f636f6e766572742f64643734356338343034336334366363636363396139333563663535663465302e706e67
https://camo.githubusercontent.com/62bbd31c5259f44e2aba775602d7db50433c0115a4d775380518202e7073ac06/68747470733a2f2f696d672d626c6f672e6373646e696d672e636e2f696d675f636f6e766572742f33393737363735306230663734363037323835393963376138663733383233312e706e67
https://camo.githubusercontent.com/5830698f2d4996bcdd259331148d508bb63797c409c836a186b72d6d1a46b79e/68747470733a2f2f696d672d626c6f672e6373646e696d672e636e2f696d675f636f6e766572742f31366630316662666335323032393062346338363637616531393033343133302e706e67
https://camo.githubusercontent.com/01082407d67437f510b4b733241aa03959ca1066a662300d67011765edd14d6c/68747470733a2f2f696d672d626c6f672e6373646e696d672e636e2f696d675f636f6e766572742f39316639333964376264316530666564383836633663323961663366383135302e706e67
https://camo.githubusercontent.com/a2e252d29f024de6adf9298af26d8fe0c1b46ebbc637e1c3f7048e6ed5c1a387/68747470733a2f2f696d672d626c6f672e6373646e696d672e636e2f696d675f636f6e766572742f64626430343031356662363537646364316664343665663165653764333032382e706e67
https://camo.githubusercontent.com/241176d850198556ca0d011fb40565c227094dd6182d32d855b92dcd47e109fa/68747470733a2f2f696d672d626c6f672e6373646e696d672e636e2f696d675f636f6e766572742f66313139623638626331633533356538613934636539663165396139323838342e706e67
https://camo.githubusercontent.com/eac8980ed72665a042405042c88e3a7f275e30be3b7721456f937f8eccbc495c/68747470733a2f2f696d672d626c6f672e6373646e696d672e636e2f696d675f636f6e766572742f33346163633663326335623935313832613539623631323063376333363833312e706e67
https://camo.githubusercontent.com/5f488fe1d3e7c0c0af7963b188d8a77cdc77cfcb5c8017406c4c464dbdad10dc/68747470733a2f2f696d672d626c6f672e6373646e696d672e636e2f696d675f636f6e766572742f39386566626438393331363665666466363737343565306636613563346131372e706e67
https://camo.githubusercontent.com/710592afa615c14020772e572773c506b2cb2d0f3a525027d42e79caed48642d/68747470733a2f2f696d672d626c6f672e6373646e696d672e636e2f696d675f636f6e766572742f33616231346133613564633066633632616230666330363161633562363430642e706e67
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.