机器学习初学者 2024年11月26日
【机器学习】通透!十大回归模型最强总结!!
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文深入总结了十大常用的回归算法模型,包括线性回归、岭回归、Lasso回归、决策树回归、随机森林回归、梯度提升回归、支持向量回归、XGBoost回归、LightGBM回归和神经网络回归。文章详细介绍了每个算法模型的核心原理、优缺点、适用场景以及核心代码示例,帮助读者全面理解回归算法的重要性、应用场景和操作方法,为数据科学和实际问题的解决提供有力工具。通过学习本文,读者可以掌握回归算法的基本概念,了解不同算法模型的特点,并能够根据实际情况选择合适的算法模型进行建模和分析。

🤔**线性回归**:是最基础的回归算法,通过建立特征与目标之间的线性关系进行预测,适用于数据线性关系较强的情况,但对异常值和噪声敏感。

📈**岭回归**:针对线性回归中多重共线性问题提出的改进算法,通过引入L2正则化项提高模型稳定性,适用于自变量之间存在高度相关性的情况。

📉**Lasso回归**:同样用于处理多重共线性问题,通过引入L1正则化项实现特征选择,适用于希望通过模型进行特征选择的情况。

🌳**决策树回归**:基于树结构的回归模型,通过递归划分输入空间进行预测,能够处理非线性关系,但容易过拟合。

🌲**随机森林回归**:通过构建多棵决策树并集成其预测结果,提高模型泛化性能,适用于复杂回归问题和高维数据集。

⛰️**梯度提升回归**:通过顺序构建弱学习器,每个学习器修正前一个学习器的预测误差,适用于非线性回归问题和复杂特征交互。

🚀**支持向量回归**:利用支持向量机进行回归,通过将输入空间映射到高维特征空间寻找最优超平面,适用于复杂的非线性回归问题。

🔥**XGBoost回归**:基于梯度提升树的集成学习算法,具有高效性、鲁棒性和正则化等特点,适用于各种类型的回归问题。

💡**LightGBM回归**:XGBoost的改进版本,优化了训练速度和内存占用,适用于大规模数据集。

🧠**神经网络回归**:通过构建神经网络模型进行回归预测,适用于复杂的非线性关系,但需要大量数据和计算资源。

cos大壮 2024-11-26 12:02 浙江

十大回归算法模型,涉及到线性回归、岭回归、Lasso回归、决策树回归、随机森林回归、梯度提升回归、支持向量回归、XGBoost回归、LightGBM回归、神经网络回归,核心点全总结!

前几天发布了关于分类算法的一些总结,不少人给予了反馈。

令我没想到的是,居然足足有一半的人想要看关于回归的总结,今天它来了!~

先来进行一个简单的介绍,回归算法的重要性体现在其能够建立特征与目标之间的关系模型,实现预测、关系分析和特征重要性评估等多方面的应用。通过回归分析,我们能够理解变量之间的趋势、检测异常值、为决策提供支持,并在时间序列中进行趋势分析,为数据科学和实际问题提供有力的工具。

其次,咱们今天从下面 10 个方面,全面理解回归,全面熟悉回归的重要意义和所有的操作。

咱们一起来看看回归所有的内容~

线性回归

线性回归绝对是我们大家最熟悉的一个算法模型。线性回归是一种用于建模和分析变量之间关系的统计方法,特别是用于预测一个变量(被称为因变量)与一个或多个自变量之间的关系。在简单线性回归中,只有一个自变量,而在多元线性回归中,有多个自变量。

核心原理

1. 简单线性回归

在简单线性回归中,我们试图建立一个线性关系模型:

其中:

我们的目标是找到最优的  和  来最小化误差项 

简单线性回归的最小二乘法

最小二乘法的目标是最小化残差平方和(Residual Sum of Squares,RSS)。我们定义残差为观测值与模型预测值之差,即 。最小二乘法的目标是最小化 

通过对  对  和  求偏导数,并令其等于零,可以得到最优解。

最终, 的最优解为:

其中  和  分别是  和  的均值。

 的最优解为:

2. 多元线性回归

在多元线性回归中,有多个自变量,模型的表达式为:

其中  是自变量的数量。

优缺点和适用场景

优点:

缺点:

适用场景:

一个核心案例代码

import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
# 生成示例数据
np.random.seed(0)
X = 2 * np.random.rand(1001)
Y = 4 + 3 * X + np.random.randn(1001)
# 使用最小二乘法计算斜率和截距
X_mean = np.mean(X)
Y_mean = np.mean(Y)
numerator = np.sum((X - X_mean) * (Y - Y_mean))
denominator = np.sum((X - X_mean)**2)
beta_1 = numerator / denominator
beta_0 = Y_mean - beta_1 * X_mean
# 使用sklearn进行线性回归
model = LinearRegression()
model.fit(X, Y)
# 绘制数据点和回归线
plt.scatter(X, Y, label='Data Points')
plt.plot(X, beta_0 + beta_1 * X, color='red', label='Regression Line (Manual)')
plt.plot(X, model.predict(X), color='green', linestyle='dashed', label='Regression Line (Sklearn)')
plt.xlabel('X')
plt.ylabel('Y')
plt.legend()
plt.show()

线性回归是一种简单而有效的建模方法,通过最小二乘法求解最优参数。然而,它对数据要求较高,对异常值和非线性关系敏感。适用于数据呈现线性关系、对解释性要求较高的场景。

岭回归

岭回归(Ridge Regression)是一种用于处理多重共线性问题的线性回归扩展。多重共线性指的是自变量之间存在高度相关性的情况,这会导致普通线性回归的参数估计不稳定。岭回归通过在损失函数中引入正则化项(L2范数)来解决这个问题。

核心原理

考虑岭回归的优化目标,我们的损失函数由最小二乘法的目标改变为:

其中:

最终,岭回归的优化目标是最小化 

推导岭回归的最小二乘法

通过对损失函数求偏导数,并令其等于零,我们可以得到岭回归的最优解。考虑损失函数中的正则化项,我们得到以下岭回归的闭式解:

其中  是自变量矩阵, 是因变量向量, 是单位矩阵。

优缺点和适用场景

优点:

缺点:

适用场景:

一个核心案例代码

import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import Ridge
from sklearn.preprocessing import StandardScaler
# 生成示例数据
np.random.seed(0)
X = 2 * np.random.rand(1001)
Y = 4 + 3 * X + np.random.randn(1001)
# 使用岭回归进行建模
alpha = 1.0
ridge_model = Ridge(alpha=alpha)
ridge_model.fit(X, Y)
# 绘制数据点和岭回归线
plt.scatter(X, Y, label='Data Points')
plt.plot(X, ridge_model.predict(X), color='red', label=f'Ridge Regression (alpha={alpha})')
plt.xlabel('X')
plt.ylabel('Y')
plt.legend()
plt.show()

岭回归是一种用于解决多重共线性问题的线性回归方法,通过引入正则化项提高模型稳定性。它适用于自变量之间存在高度相关性的情况,但需要调整正则化参数。在实际使用中,可以通过交叉验证等方法选择合适的 

Lasso回归

Lasso回归(Least Absolute Shrinkage and Selection Operator Regression)是一种用于处理多重共线性问题的线性回归方法。与岭回归类似,Lasso回归引入了正则化项,但使用的是L1范数,可以导致部分系数变为零,从而实现特征选择的效果。

核心原理

考虑Lasso回归的优化目标,我们的损失函数由最小二乘法的目标改变为:

其中:

最终,Lasso回归的优化目标是最小化 

推导Lasso回归的最小二乘法

通过对损失函数求偏导数,我们可以得到Lasso回归的最优解。考虑损失函数中的正则化项,我们得到以下Lasso回归的闭式解:

其中  是  的符号函数。由于  不是处处可导,我们可以使用次梯度来解决。

优缺点和适用场景

优点

缺点

适用场景

一个核心案例代码

import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import Lasso
from sklearn.preprocessing import StandardScaler
# 生成示例数据
np.random.seed(0)
X = 2 * np.random.rand(1001)
Y = 4 + 3 * X + np.random.randn(1001)
# 使用Lasso回归进行建模
alpha = 0.1
lasso_model = Lasso(alpha=alpha)
lasso_model.fit(X, Y)
# 绘制数据点和Lasso回归线
plt.scatter(X, Y, label='Data Points')
plt.plot(X, lasso_model.predict(X), color='red', label=f'Lasso Regression (alpha={alpha})')
plt.xlabel('X')
plt.ylabel('Y')
plt.legend()
plt.show()

Lasso回归是一种通过引入L1范数正则化项来处理多重共线性问题的线性回归方法。它在高维数据集中表现较好,并可以实现特征选择的效果。在实际的项目中,需要调整正则化参数 

决策树回归

决策树回归是一种基于树结构的回归模型,它通过对输入空间进行递归的划分,将每个划分区域内的样本的目标值取平均值作为预测值。以下是决策树回归的详细原理和核心公式。

核心原理

1. 决策树的建立

决策树的建立分为以下步骤:

2. 决策树回归预测

对于新的输入样本,通过决策树的结构,从根节点开始逐级判断样本应该属于哪个叶子节点,然后将该叶子节点内训练样本的目标值作为预测值。

3. 决策树回归的核心公式

在决策树回归中,每个叶子节点的目标值  为该节点内训练样本的目标值的平均值。

其中  表示第  个叶子节点内的样本索引集合, 表示该叶子节点内的样本数量。

优缺点和适用场景

优点

缺点

适用场景

一个核心案例代码

import numpy as np
import matplotlib.pyplot as plt
from sklearn.tree import DecisionTreeRegressor
# 生成示例数据
np.random.seed(0)
X = np.sort(5 * np.random.rand(801), axis=0)
y = np.sin(X).ravel() + np.random.randn(80) * 0.1
# 使用决策树回归进行建模
tree_model = DecisionTreeRegressor(max_depth=4)
tree_model.fit(X, y)
# 预测新数据点
X_test = np.arange(0.05.00.01)[:, np.newaxis]
y_pred = tree_model.predict(X_test)
# 绘制数据点和决策树回归曲线
plt.scatter(X, y, s=20, edgecolor="black", c="darkorange", label="data")
plt.plot(X_test, y_pred, color="cornflowerblue", label="prediction")
plt.xlabel("data")
plt.ylabel("target")
plt.title("Decision Tree Regression")
plt.legend()
plt.show()

决策树回归是一种基于树结构的回归模型,通过递归地划分输入空间来进行预测。它具有易解释性和可视化效果好的特点,适用于处理非线性关系的情况。然而,容易过拟合和对输入数据的变化敏感是其缺点,需要通过剪枝等方法进行优化。

随机森林回归

随机森林回归是一种基于决策树的集成学习算法,通过建立多个决策树并对其进行平均或投票来提高模型的泛化性能。以下是随机森林回归的详细原理和核心公式。

核心原理

1. 随机森林的建立

2. 随机森林回归预测

对于回归问题,随机森林通过对每棵树的预测结果进行平均来得到最终的预测值。

其中  是森林中树的数量, 是第  棵树的预测值。

优缺点和适用场景

优点:

缺点:

适用场景:

一个核心案例代码

import numpy as np
import matplotlib.pyplot as plt
from sklearn.ensemble import RandomForestRegressor
# 生成示例数据
np.random.seed(0)
X = np.sort(5 * np.random.rand(801), axis=0)
y = np.sin(X).ravel() + np.random.randn(80) * 0.1
# 使用随机森林回归进行建模
rf_model = RandomForestRegressor(n_estimators=100, random_state=42)
rf_model.fit(X, y)
# 预测新数据点
X_test = np.arange(0.05.00.01)[:, np.newaxis]
y_pred = rf_model.predict(X_test)
# 绘制数据点和随机森林回归曲线
plt.scatter(X, y, s=20, edgecolor="black", c="darkorange", label="data")
plt.plot(X_test, y_pred, color="cornflowerblue", label="prediction")
plt.xlabel("data")
plt.ylabel("target")
plt.title("Random Forest Regression")
plt.legend()
plt.show()

随机森林回归是一种通过构建多个决策树并对其进行集成来提高泛化性能的方法。它适用于复杂的回归问题和高维数据集,具有较好的性能。然而,模型解释性相对较差。实际项目中,可以通过调整树的数量和其他参数来优化模型。

梯度提升回归

梯度提升回归(Gradient Boosting Regression)是一种集成学习方法,通过顺序地构建弱学习器,每个弱学习器修正前一个弱学习器的预测误差,从而得到累积的、更强大的预测模型。以下是梯度提升回归的详细原理和核心公式。

核心原理

1. 基本思想

梯度提升回归的基本思想是通过组合多个弱学习器(通常是决策树),每个学习器关注前一个学习器的预测误差,从而逐步减小模型在训练集上的残差。

2. 损失函数的定义

梯度提升的损失函数通常选择平方损失函数,即对于第  个样本,损失函数为:

3. 训练过程

对于第  轮的弱学习器 

4. 最终模型

最终的预测模型为累加的弱学习器:

优缺点和适用场景

优点

缺点:

适用场景:

一个核心案例代码

import numpy as np
import matplotlib.pyplot as plt
from sklearn.ensemble import GradientBoostingRegressor
# 生成示例数据
np.random.seed(0)
X = np.sort(5 * np.random.rand(801), axis=0)
y = np.sin(X).ravel() + np.random.randn(80) * 0.1
# 使用梯度提升回归进行建模
gb_model = GradientBoostingRegressor(n_estimators=100, learning_rate=0.1, random_state=42)
gb_model.fit(X, y)
# 预测新数据点
X_test = np.arange(0.05.00.01)[:, np.newaxis]
y_pred = gb_model.predict(X_test)
# 绘制数据点和梯度提升回归曲线
plt.scatter(X, y, s=20, edgecolor="black", c="darkorange", label="data")
plt.plot(X_test, y_pred, color="cornflowerblue", label="prediction")
plt.xlabel("data")
plt.ylabel("target")
plt.title("Gradient Boosting Regression")
plt.legend()
plt.show()

梯度提升回归是一种通过构建多个弱学习器,每个学习器关注前一个学习器的预测误差来提高模型性能的方法。它适用于复杂的非线性回归问题,但训练时间相对较长。在实际使用的时候,可以通过调整学习率和树的数量等参数来优化模型。

支持向量回归

支持向量回归(Support Vector Regression,SVR)是一种使用支持向量机(SVM)来进行回归的方法。SVR通过将输入空间映射到高维特征空间,并在高维空间中寻找最优超平面来进行回归。以下是支持向量回归的详细原理和核心公式。

核心原理

1. 基本思想

2. 核心公式

SVR的基本公式可以表示为:

其中:

SVR的优化目标是最小化损失函数

满足约束条件:

  

其中  是正则化参数, 是控制边界的松弛变量, 是对应于每个样本的松弛变量。

3. 高斯径向基核(RBF)

常用的核函数之一是高斯径向基核:

其中  是控制核函数宽度的参数。

优缺点和适用场景

优点:

缺点:

适用场景

一个核心案例代码

import numpy as np
import matplotlib.pyplot as plt
from sklearn.svm import SVR
# 生成示例数据
np.random.seed(0)
X = 5 * np.random.rand(1001)
y = np.sin(X).ravel() + np.random.randn(100) * 0.1
# 使用支持向量回归进行建模
svr_model = SVR(kernel='rbf', C=100, epsilon=0.1, gamma='auto')
svr_model.fit(X, y)
# 预测新数据点
X_test = np.arange(0.05.00.01)[:, np.newaxis]
y_pred = svr_model.predict(X_test)
# 绘制数据点和支持向量回归曲线
plt.scatter(X, y, s=20, edgecolor="black", c="darkorange", label="data")
plt.plot(X_test, y_pred, color="cornflowerblue", label="prediction")
plt.xlabel("data")
plt.ylabel("target")
plt.title("Support Vector Regression (RBF Kernel)")
plt.legend()
plt.show()

支持向量回归是一种通过映射输入空间到高维特征空间,找到最优超平面来进行回归的方法。它适用于复杂的非线性回归问题,但在大规模数据集上训练时间较长。在实际使用中,需要通过调整核函数和参数来优化模型。

XGBoost回归

XGBoost(eXtreme Gradient Boosting)是一种基于梯度提升树的集成学习算法,被广泛应用于回归和分类问题。它的原理相对复杂,但核心思想是通过迭代训练多个弱学习器(决策树),每次迭代都根据上一轮的残差来拟合一个新的模型,并将这些弱学习器组合成一个强大的模型。

核心原理

XGBoost的目标是最小化目标函数,该目标函数由损失函数和正则化项组成:

其中, 是样本数量,是真实标签,是预测标签,是树的数量,是第个树,是树 的正则化项。

XGBoost的损失函数通常采用平方损失函数(对于回归问题),并加上正则化项,具体形式为:

其中, 是叶子节点的数量, 和  是正则化参数, 是叶子节点的分数。

XGBoost使用泰勒展开来近似损失函数,将其扩展为二阶泰勒展开式:

其中, 和  是损失函数的一阶和二阶梯度, 是第  个树对样本  的预测。

XGBoost的目标是最小化目标函数,采用贪婪算法逐步构建树模型,每一步都根据损失函数的近似进行拟合。具体步骤包括:

    初始化:树的初始预测值为常数,使用负梯度的平均值。

    迭代生长树:对于每一轮迭代,根据当前模型的预测值计算负梯度,并使用这些负梯度拟合一个回归树。然后,通过线性搜索确定最佳的叶子节点分数,以最小化目标函数。

    正则化剪枝:根据正则化参数,对叶子节点进行剪枝,以防止过拟合。

    更新预测值:将新树的预测值与之前的预测值相加,得到更新后的模型。

    终止条件:根据设定的迭代次数或损失函数的变化程度确定是否终止迭代。

特点和适用场景

XGBoost具有以下特点:

适用场景包括:

一个核心案例代码

import xgboost as xgb
from sklearn.datasets import load_diabetes
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
import matplotlib.pyplot as plt
# 加载数据
diabetes = load_diabetes()
X, y = diabetes.data, diabetes.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 构建XGBoost回归模型
params = {
    'objective''reg:squarederror',  # 损失函数为平方损失函数
    'max_depth'3,  # 树的最大深度
    'learning_rate'0.1,  # 学习率
    'n_estimators'100  # 树的数量
}
model = xgb.XGBRegressor(**params)
# 拟合模型
model.fit(X_train, y_train)
# 预测
y_pred = model.predict(X_test)
# 计算均方误差
mse = mean_squared_error(y_test, y_pred)
print("Mean Squared Error:", mse)
# 绘制特征重要性
xgb.plot_importance(model)
plt.show()

XGBoost是一种高效、灵活且性能优异的集成学习算法,通过迭代训练多个决策树,并将它们组合成一个强大的模型。它具有高效性、鲁棒性、正则化和灵活性等特点,在回归和分类问题中广泛应用。通过调节参数和监控模型的性能,可以在实际问题中取得良好的预测效果。

LightGBM回归

LightGBM(Light Gradient Boosting Machine)是一种基于梯度提升树的集成学习算法,它与传统的梯度提升算法相比具有更高的效率和更快的训练速度。

核心原理

LightGBM的核心思想与XGBoost类似,都是通过迭代训练多个决策树,并将它们组合成一个强大的模型。与传统的梯度提升算法不同,LightGBM使用基于直方图的算法来加速训练过程。

直方图算法

LightGBM使用直方图算法来构建每棵树,主要包括以下步骤:

    将数据划分为多个直方桶:LightGBM首先将特征值进行离散化,然后将每个特征的取值范围划分为若干个直方桶。

    构建直方图:对于每个直方桶,统计落入该桶的样本的梯度之和和梯度的二阶导数之和,这些统计量称为直方图。这一步可以高效地并行计算,加速了训练过程。

    根据直方图找到最佳划分点:根据直方图的信息,LightGBM选择最佳的划分点来构建决策树节点。

梯度单边采样

为了进一步提高训练速度,LightGBM引入了梯度单边采样(GOSS)和互斥特征捆绑(EFB)等技术。

LightGBM的目标函数

LightGBM的目标是最小化目标函数,它由损失函数和正则化项组成。对于回归问题,损失函数通常采用平方损失函数,形式为:

其中, 是样本数量,是真实标签,是预测标签,是树的数量,是第个树,是树 的正则化项。

特点和适用场景

LightGBM具有以下特点:

适用场景包括:

Python代码和图形

以下是使用LightGBM进行回归任务的简单示例代码:

import lightgbm as lgb
from sklearn.datasets import load_diabetes
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
import matplotlib.pyplot as plt
# 加载数据
diabetes = load_diabetes()
X, y = diabetes.data, diabetes.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 转换数据为LightGBM数据格式
train_data = lgb.Dataset(X_train, label=y_train)
test_data = lgb.Dataset(X_test, label=y_test)
# 设置参数
params = {
    'objective''regression',  # 损失函数为回归
    'metric''l2',  # 使用均方误差作为评估指标
    'num_leaves'31,  # 树的最大叶子节点数
    'learning_rate'0.1,  # 学习率
    'feature_fraction'0.8,  # 每次迭代使用的特征比例
    'bagging_fraction'0.8,  # 每次迭代使用的样本比例
    'bagging_freq'5  # bagging的频率
}
# 训练模型
model = lgb.train(params, train_data, valid_sets=[test_data], num_boost_round=100, early_stopping_rounds=10)
# 预测
y_pred = model.predict(X_test, num_iteration=model.best_iteration)
# 计算均方误差
mse = mean_squared_error(y_test, y_pred)
print("Mean Squared Error:", mse)
# 绘制特征重要性
lgb.plot_importance(model)
plt.show()

LightGBM是一种高效、准确且易于使用的机器学习算法,适用于大规模数据集和需要高效训练的场景。它利用基于直方图的算法和梯度单边采样技术,提高了训练速度,同时保持了模型的准确性。

神经网络回归

神经网络回归是一种使用神经网络进行回归任务的方法。神经网络由多个神经元(或称为节点)组成,这些神经元通过层次结构连接在一起,每个连接都有一个权重。以下是神经网络回归的详细原理和核心公式。

核心原理

1. 基本结构

2. 激活函数

神经网络中的每个神经元通常都会使用激活函数来引入非线性性质,常用的激活函数包括 Sigmoid、ReLU、Tanh 等。

3. 前向传播

神经网络的前向传播过程是通过输入层到输出层的一系列计算,其中每个神经元都计算其输入的加权和,并通过激活函数得到输出。

其中  是神经元的输出,  是权重,  是输入特征,  是偏置项,  是激活函数。

4. 损失函数

神经网络回归的损失函数通常选择均方误差(Mean Squared Error,MSE):

其中  是实际值,  是预测值,  是样本数量。

5. 反向传播

通过反向传播算法,根据损失函数对模型参数进行梯度下降优化。通过链式法则,计算每个参数对损失函数的梯度,然后更新参数。

其中  是神经元的输入。

优缺点和适用场景

优点:

缺点:

适用场景:

一个核心案例代码

import numpy as np
import matplotlib.pyplot as plt
from sklearn.neural_network import MLPRegressor
# 生成示例数据
np.random.seed(0)
X = 5 * np.random.rand(1001)
y = np.sin(X).ravel() + np.random.randn(100) * 0.1
# 使用神经网络回归进行建模
nn_model = MLPRegressor(hidden_layer_sizes=(100,), activation='relu', max_iter=1000, random_state=42)
nn_model.fit(X, y)
# 预测新数据点
X_test = np.arange(0.05.00.01)[:, np.newaxis]
y_pred = nn_model.predict(X_test)
# 绘制数据点和神经网络回归曲线
plt.scatter(X, y, s=20, edgecolor="black", c="darkorange", label="data")
plt.plot(X_test, y_pred, color="cornflowerblue", label="prediction")
plt.xlabel("data")
plt.ylabel("target")
plt.title("Neural Network Regression")
plt.legend()
plt.show()

神经网络回归是一种通过构建多层神经元网络来捕捉复杂的非线性关系的方法。它在大规模数据集和复杂问题上表现良好,但需要较长的训练时间。在实际项目中,可以通过调整网络结构、激活函数和正则化等参数来优化模型。

最后

大家有问题可以直接在评论区留言即可~

喜欢本文的朋友可以收藏、点赞、转发起来!

往期精彩回顾





请备注:”昵称-学校/公司-研究方向“,例如:”张小明-浙大-CV“加群。

也可以加入机器学习交流qq群772479961



跳转微信打开

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

回归算法 机器学习 线性回归 决策树 随机森林
相关文章