由 DALL-E 2 生成的图像
文本分析任务已经存在了一段时间,因为需求始终存在。从简单的描述统计到文本分类和高级文本生成,研究已经取得了长足的进步。随着我们的武器库中添加大型语言模型,我们的工作任务变得更加容易。
Scikit-LLM 是一个利用 LLM 的强大功能为文本分析活动而开发的 Python 包。该软件包之所以脱颖而出,是因为我们可以将标准 Scikit-Learn 管道与 Scikit-LLM 集成。
那么,这个包是关于什么的,它是如何工作的?让我们开始吧。
Scikit-法学硕士 是一个通过 LLM 增强文本数据分析任务的 Python 包。它是由 贝茨字节 帮助连接标准 Scikit-Learn 库和语言模型的强大功能。 Scikit-LLM 创建的 API 与 SKlearn 库类似,因此我们使用它不会遇到太多麻烦。
装置
要使用该包,我们需要安装它们。为此,您可以使用以下代码。
pip install scikit-llm
截至本文撰写时,Scikit-LLM 仅与部分 OpenAI 和 GPT4ALL 模型兼容。这就是为什么我们只使用 OpenAI 模型。但是,您可以通过最初安装该组件来使用 GPT4ALL 模型。
pip install scikit-llm[gpt4all]
安装后,您必须设置 OpenAI 密钥才能访问 LLM 模型。
from skllm.config import SKLLMConfig
SKLLMConfig.set_openai_key("")
SKLLMConfig.set_openai_org("")
尝试 Scikit-LLM
让我们在环境集上尝试一些 Scikit-LLM 功能。法学硕士拥有的一项能力是无需重新训练即可执行文本分类,我们称之为零样本。然而,我们最初会尝试使用样本数据进行少样本文本分类。
from skllm import ZeroShotGPTClassifier
from skllm.datasets import get_classification_dataset
#label: Positive, Neutral, Negative
X, y = get_classification_dataset()
#Initiate the model with GPT-3.5
clf = ZeroShotGPTClassifier(openai_model="gpt-3.5-turbo")
clf.fit(X, y)
labels = clf.predict(X)
您只需提供 X 变量中的文本数据和数据集中的标签 y 。在这种情况下,标签由情绪组成,即积极、中性或消极。
正如您所看到的,该过程与使用 Scikit-Learn 包中的拟合方法类似。然而,我们已经知道零射击不一定需要数据集进行训练。这就是为什么我们可以在没有训练数据的情况下提供标签。
X, _ = get_classification_dataset()
clf = ZeroShotGPTClassifier()
clf.fit(None, ["positive", "negative", "neutral"])
labels = clf.predict(X)
这也可以在多标签分类案例中进行扩展,您可以在下面的代码中看到。
from skllm import MultiLabelZeroShotGPTClassifier
from skllm.datasets import get_multilabel_classification_dataset
X, _ = get_multilabel_classification_dataset()
candidate_labels = [
"Quality",
"Price",
"Delivery",
"Service",
"Product Variety",
"Customer Support",
"Packaging",,
]
clf = MultiLabelZeroShotGPTClassifier(max_labels=4)
clf.fit(None, [candidate_labels])
labels = clf.predict(X)
Scikit-LLM 的惊人之处在于,它允许用户将 LLM 的功能扩展到典型的 Scikit-Learn 管道。
机器学习管道中的 Scikit-LLM
在下一个示例中,我将展示如何将 Scikit-LLM 启动为矢量化器并使用 XGBoost 作为模型分类器。我们还将这些步骤包装到模型管道中。
首先,我们加载数据并启动标签编码器将标签数据转换为数值。
from sklearn.preprocessing import LabelEncoder
X, y = get_classification_dataset()
le = LabelEncoder()
y_train_enc = le.fit_transform(y_train)
y_test_enc = le.transform(y_test)
接下来,我们将定义一个管道来执行矢量化和模型拟合。我们可以使用以下代码来做到这一点。
from sklearn.pipeline import Pipeline
from xgboost import XGBClassifier
from skllm.preprocessing import GPTVectorizer
steps = [("GPT", GPTVectorizer()), ("Clf", XGBClassifier())]
clf = Pipeline(steps)
#Fitting the dataset
clf.fit(X_train, y_train_enc)
最后,我们可以使用以下代码进行预测。
pred_enc = clf.predict(X_test)
preds = le.inverse_transform(pred_enc)
正如我们所看到的,我们可以在 Scikit-Learn 管道下使用 Scikit-LLM 和 XGBoost。结合所有必要的包将使我们的预测更加有力。
您仍然可以使用 Scikit-LLM 执行各种任务,包括模型微调,我建议您查看文档以进一步了解。您还可以使用以下开源模型 GPT4ALL 如果必要的。
Scikit-LLM 是一个 Python 包,它通过 LLM 为 Scikit-Learn 文本数据分析任务提供支持。在本文中,我们讨论了如何使用 Scikit-LLM 进行文本分类并将它们组合到机器学习管道中。
科尼利厄斯·尤达·维贾亚 是一名数据科学助理经理和数据作家。 在 Allianz Indonesia 全职工作期间,他喜欢通过社交媒体和写作媒体分享 Python 和数据技巧。
- SEO 支持的内容和 PR 分发。 今天得到放大。
- PlatoData.Network 垂直生成人工智能。 赋予自己力量。 访问这里。
- 柏拉图爱流。 Web3 智能。 知识放大。 访问这里。
- 柏拉图ESG。 碳, 清洁科技, 能源, 环境, 太阳能, 废物管理。 访问这里。
- 柏拉图健康。 生物技术和临床试验情报。 访问这里。
- Sumber: https://www.kdnuggets.com/easily-integrate-llms-into-your-scikit-learn-workflow-with-scikit-llm?utm_source=rss&utm_medium=rss&utm_campaign=easily-integrate-llms-into-your-scikit-learn-workflow-with-scikit-llm
- :具有
- :是
- $UP
- 12
- 13
- 20
- 7
- 9
- a
- 对,能力--
- 关于
- ACCESS
- 无障碍
- 活动
- 增加
- 高级
- 所有类型
- 安联
- 允许
- 已经
- 还
- 时刻
- 惊人
- 分析
- 解析
- 和
- API
- 保健
- 围绕
- 阿森纳
- 刊文
- AS
- 助理
- At
- BE
- 因为
- 成为
- 很
- 桥
- by
- 呼叫
- CAN
- 能力
- 案件
- 例
- 查
- 分类
- CLF
- 码
- 结合
- 结合
- 如何
- 兼容
- 元件
- 由
- 可以
- 创建
- 顾客
- 客户支持
- 达尔-e
- data
- 数据分析
- 数据科学
- 数据集
- 定义
- 交货
- 描述
- 发达
- 讨论
- do
- 文件
- 不
- 别
- 容易
- 如虎添翼
- 提高
- 环境
- 甚至
- 例子
- 延长
- 扩展
- 配件
- 以下
- 针对
- 止
- 进一步
- 产生
- 代
- 得到
- 去
- 有
- he
- 帮助
- 创新中心
- 但是
- HTML
- HTTPS
- i
- if
- 进口
- in
- 包含
- 印度尼西亚
- 原来
- 开始
- 安装
- 安装
- 安装
- 整合
- 成
- IT
- 它的
- 掘金队
- 键
- 知道
- 标签
- 标签
- 语言
- 大
- 学习用品
- 学习
- 自学资料库
- 加载
- 长
- 爱
- 机
- 机器学习
- 使
- 经理
- 媒体
- 方法
- ML
- 模型
- 模型
- 更多
- 许多
- 必须
- 一定
- 必要
- 需求
- 需要
- 负
- 一般
- 下页
- 不包含
- of
- on
- 一
- 仅由
- 开放源码
- OpenAI
- or
- 我们的
- 输出
- 包
- 包
- 包装
- 演出
- 管道
- 柏拉图
- 柏拉图数据智能
- 柏拉图数据
- 积极
- 功率
- 预测
- 车资
- 过程
- 产品
- 提供
- 蟒蛇
- 质量
- 要求
- 研究
- 再培训
- 科学
- scikit学习
- 看到
- 情绪
- 服务
- 集
- Share
- 显示
- 类似
- 简易
- So
- 社会
- 社会化媒体
- 一些
- 标准
- 统计
- 步骤
- 仍
- 强
- 建议
- SUPPORT
- 任务
- 文本
- 文字分类
- 文字产生
- 这
- 他们
- 那里。
- Free Introduction
- 次
- 秘诀
- 至
- 也有
- 产品培训
- 改造
- 麻烦
- 尝试
- 普遍
- 下
- 使用
- 用户
- 运用
- 折扣值
- 变量
- 各种
- 各个
- 通过
- 是
- 方法..
- we
- 什么是
- 什么是
- 这
- 而
- 为什么
- 将
- 中
- 也完全不需要
- 工作
- 工作流程
- 加工
- 将
- 包装
- 作家
- 写作
- 书面
- X
- XGBoost
- 您
- 您一站式解决方案
- 和风网