Regression"回归"是机器学习中的一个术语,指的是预测一个连续的数值,而不是分类的类别。这个词通常被翻译为"回归"。这个翻译有时候感觉有点晦涩难懂,也可以考虑使用"数值预测"或者"回归预测"理解上会更容易一些。
"回归"意味着预测一个数字,而不是其中的一个类别。我们将基于评论文本的嵌入来预测评分。我们将数据集分为训练集和测试集,以便于所有后续任务在未见过的数据上进行真实的性能评估。数据集是在Obtain_dataset.ipynb创建的。
这次学习的代码是,Regression_using_embeddings.ipynb
它目的是使用随机森林回归器(RandomForestRegressor)预测亚马逊评论的评分。
1.导入的库:sklearn.ensemble 中的 RandomForestRegressor 是用于回归预测的模型,sklearn.model_selection 中的 train_test_split 用于将数据集划分为训练集和测试集,sklearn.metrics 中的 mean_squared_error 和 mean_absolute_error 用于评估模型的预测性能。
2.数据划分:使用 train_test_split 函数将数据集划分为训练集和测试集。这里,80% 的数据用于训练,剩余的 20% 用于测试。
3.模型训练:初始化一个 RandomForestRegressor 模型,然后使用训练集的数据进行训练。
几个关键代码段的解释:
X_train, X_test, y_train, y_test = train_test_split(list(df.embedding.values), df.Score, test_size=0.2, random_state=42)
rfr = RandomForestRegressor(n_estimators=100)
rfr.fit(X_train, y_train)
preds = rfr.predict(X_test)
mse = mean_squared_error(y_test, preds)
mae = mean_absolute_error(y_test, preds)
-
X_train, X_test, y_train, y_test = train_test_split(list(df.embedding.values), df.Score, test_size=0.2, random_state=42)
: 这行代码是使用train_test_split
函数将数据集划分为训练集和测试集。df.embedding.values
是评论的嵌入向量,df.Score
是评论的评分,test_size=0.2
表示测试集占总数据集的 20%,random_state=42
是随机数生成器的种子,用于确保每次运行代码时数据集的划分方式相同。 -
rfr = RandomForestRegressor(n_estimators=100)
: 这行代码是创建一个随机森林回归器(RandomForestRegressor)对象。参数n_estimators=100
表示随机森林中包含 100 棵决策树。 -
rfr.fit(X_train, y_train)
: 这行代码是调用随机森林回归器的fit
方法进行模型训练。X_train
是训练集的特征,y_train
是训练集的目标值。 -
preds = rfr.predict(X_test)
: 这行代码是使用训练好的模型对测试集进行预测。X_test
是测试集的特征,返回的preds
是模型对测试集的预测值。 -
mse = mean_squared_error(y_test, preds)
: 这行代码是计算预测结果的均方误差(Mean Squared Error,MSE)。y_test
是测试集的真实值,preds
是模型对测试集的预测值。文章来源:https://www.toymoban.com/news/detail-464688.html -
mae = mean_absolute_error(y_test, preds)
: 这行代码是计算预测结果的平均绝对误差(Mean Absolute Error,MAE)。文章来源地址https://www.toymoban.com/news/detail-464688.html
到了这里,关于GPT学习-使用embedding做回归(regression)预测的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!