ChatGPT生成文本检测器-task4

#### 任务四:使用TFIDF特征和线性模型完成训练和预测

  • 说明:在这个任务中,你需要使用TFIDF特征和线性模型(如逻辑回归)完成训练和预测,通过机器学习算法来区分人类编写的文本和机器生成的文本。
  • 实践步骤:
    1. 准备TFIDF特征矩阵和相应的标签。
    2. 划分训练集和验证集集。
    3. 使用Sklearn中的线性模型(如逻辑回归)进行训练,并使用训练好的模型对验证集集进行预测。
    4. 评估模型的性能,如准确率、精确率、召回率等指标。
    5. 选择得到合适的模型,对测试集进行预测,并提高到比赛页面2023 iFLYTEK A.I.开发者大赛-讯飞开放平台

from sklearn.model_selection import cross_val_predict

from sklearn.linear_model import LogisticRegression

from sklearn.metrics import classification_report

from sklearn.feature_extraction.text import TfidfVectorizer

import pandas as pd

train_data = pd.read_csv('./ChatGPT生成文本检测器公开数据-更新/train.csv')

test_data = pd.read_csv('./ChatGPT生成文本检测器公开数据-更新/test.csv')

# 对输入的内容进行处理

train_data['content'] = train_data['content'].apply(lambda x: x[1:-1].strip().replace('\n', ' \n '))

test_data['content'] = test_data['content'].apply(lambda x: x[1:-1].strip().replace('\n', ' \n '))

train_data['content'] = train_data['content'].apply(lambda x: x.split(' '))

test_data['content'] = test_data['content'].apply(lambda x: x.split(' '))

train_data['content'] = train_data['content'].apply(lambda x: [i for i in x if i != ''])

test_data['content'] = test_data['content'].apply(lambda x: [i for i in x if i != ''])

tfidf = TfidfVectorizer()

tfidf.fit(train_data['content'].apply(lambda x: ' '.join(x)))

train_tfidf_feat = tfidf.transform(train_data['content'].apply(lambda x: ' '.join(x)))

test_tfidf_feat = tfidf.transform(test_data['content'].apply(lambda x: ' '.join(x)))

# 使用cross_val_predict()函数进行交叉验证

val_pred = cross_val_predict(

LogisticRegression(),

train_tfidf_feat,

train_data['label']

)

# 计算并输出分类报告

print(classification_report(train_data['label'], val_pred, digits=3))

 precision    recall  f1-score   support0      0.981     0.999     0.990     118361      0.992     0.892     0.940      2164accuracy                          0.982     14000macro avg      0.986     0.946     0.965     14000
weighted avg      0.982     0.982     0.982     14000

在这个场景中使用交叉验证的目的是为了更准确地评估模型的性能和泛化能力。交叉验证是一种评估机器学习模型的统计方法,通过将数据集划分为多个子集,在不同的训练和验证集上多次训练和评估模型,以得到更可靠的性能指标。

如果你想要提高模型的精度,可以尝试调整TfidfVectorizer的一些超参数。以下是一些常用的超参数,你可以根据实际情况进行调整:

1.ngram_range:n元语法范围。通过将ngram_range设置为大于1的值,可以考虑多个连续的词作为特征,从而捕捉更多的语义信息。例如,将ngram_range设置为(1, 2)可以同时考虑单个词和相邻的词作为特征。

tfidf = TfidfVectorizer(ngram_range=(1,2), max_features=5000)

2.max_dfmin_df:单词的最大和最小文档频率。通过调整max_dfmin_df的值,可以过滤掉在太多或太少文档中出现的单词,从而减少噪声和特异性单词的影响。

修改max_df和min_df

 3.max_features:最大特征数。通过限制特征的数量,可以减少特征空间的维度,从而减少模型的复杂性和计算量。

4.stop_words:停用词列表。通过设置适当的停用词列表,可以去除常见的、对分类任务没有帮助的词语,从而减少噪声。

5.sublinear_tf:子线性TF缩放。通过将sublinear_tf设置为True,可以使用子线性缩放来平衡长文本和短文本的特征权重,从而提高模型对不同长度文本的适应性。

修改sublinear_tf

 6.norm:特征向量的归一化方式。通过调整norm参数,可以选择不同的归一化方式,如'l2'、'l1'或'none',以适应不同的数据分布。

修改norm

# 生成测试集结果

m = LogisticRegression()

m.fit(train_tfidf_feat, train_data['label'])

test_pred = m.predict(test_tfidf_feat)

test_data['label'] = test_pred

test_data[['name', 'label']].to_csv('lr.csv', index=None)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/14883.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

离谱!最新研究:61%中国人写的英语论文,会被ChatGPT检测器判为AI生成的...

点击下方卡片,关注“CVer”公众号 AI/CV重磅干货,第一时间送达 点击进入—>【Transformer】微信技术交流群 转载自:新智元 | 编辑:拉燕 【导读】非母语者写的文章AI生成?气抖冷。 ChatGPT火了以后,用法是…

ChatGPT检测攻与守:我们该如何应对AI以假乱真?

©PaperWeekly 原创 作者 | 崔万云、蔡树阳 单位 | 上海财经大学 研究方向 | 大语言模型 2023 年 5 月,《纽约时报》报道了一位经验丰富的律师 Steven A. Schwartz 在对一家航空公司的诉讼中使用了 ChatGPT 生成的六个案例。尽管 ChatGPT 确认这些案例真实无误…

火出圈的ChatGPT,如何让安全检测更智能

ChatGPT是什么 ChatGPT(Chat Generative Pre-trained Transformer)是一款美国OpenAI研发的聊天机器人程序,能够通过理解和学习人类语言来进行对话,根据聊天的上下文与使用者互动,真正像人类一样聊天交流。它甚至能完成…

使用ChatGPT完成分类、检测、分割等计算机视觉任务(Pytorch)

前言 ChatGPT是一个由OpenAI训练的大型语言模型,其知识涵盖了很多领域。 虽然ChatGPT表示它不能用于写代码,但是万一是它太谦虚了呢? 下面的文字均为ChatGPT给出的回答。 使用ChatGPT解决图像分类任务 我们需要一个PyTorch模型&#xff0…

LeetCode LCP 30. 魔塔游戏(优先队列)

文章目录 1. 题目2. 解题 1. 题目 小扣当前位于魔塔游戏第一层,共有 N 个房间,编号为 0 ~ N-1。 每个房间的补血道具/怪物对于血量影响记于数组 nums,其中: 正数表示道具补血数值,即血量增加对应数值;负数…

漫画:我再也无法正常使用ChatGPT了!

哈哈,大家不必担心,上面的漫画只是给大家开个玩笑,ChatGPT当然不可能这么容易就被玩坏。 想要真正结束游戏其实很容易,输入一些关键字就可以触发游戏的结束,比如这样说: 这样一来,ChatGPT就能恢…

我请ChatGPT帮我创建一些漫画,大家一起来看看

英文 | https://medium.com/chazhutton/i-asked-chatgpt-to-create-comics-then-i-drew-them-6e9622dfc30e 翻译 | 杨小爱 到目前为止,我想,你可能已经听说过 ChatGPT,这是一款开放式 AI 聊天机器人,它似乎无所不能,可…

我给AI打工!ChatGPT负责创作漫画,我负责画出来,居然搞出超现实主义?

点击上方“AI遇见机器学习”,选择“星标”公众号 重磅干货,第一时间送 大数据文摘出品 最近ChatGPT太火了,想必大家都玩的不亦乐乎吧? 不管是提什么稀奇古怪的要求,ChatGPT似乎都能给你满意的答案。 当然,有…

如何使用Flutter+SpringBoot+Mysql开发一个简易的抽奖APP(Android)教学

如果你需要项目资源,欢迎来到我的个人博客:https://brath.top/2023/02/24/%E3%80%90Flutter&SpringBoot%E3%80%91%E5%A6%82%E4%BD%95%E7%94%A8Flutter%E5%92%8CJava%E6%9D%A5%E5%BC%80%E5%8F%91%E4%B8%80%E4%B8%AA%E6%8A%BD%E5%A5%96APP/ APP体验地址…

【先睹为快】李德毅 马楠:人工智能看教育

来源: 高等工程教育研究 作者简介:李德毅,中国工程院院士,国际欧亚科学院院士,中国人工智能学会名誉理事长,军事科学院研究员,清华大学博士生导师;马楠,北京工业大学教授…

深度学习各子领域略览及术语列表

诸神缄默不语-个人CSDN博文目录 最近更新时间:2023.6.16 最早更新时间:2023.1.5 有些内容附带了相应的超链接作为可参考资料,有些没有。很多内容可以参考我的其他博文,其中有一部分链接我也会挂到这里来。 文章目录 正文1. ML基…

这是我见过的对ChatGPT原理最佳的解释。

人类语言及其背后的思维模式在结构上比我们想象的更简单、更“符合规律”。 ChatGPT大火,甚至已经开始改变人类的工作和思考方式,充分了解并且认识它,同时看到未来的机会,已经成为每个人迫不及待需要建立的心智。而放眼全球&#…

领域驱动设计(DDD)实践之路(四):领域驱动在微服务设计中的应用

这是“领域驱动设计实践之路”系列的第四篇文章,从单体架构的弊端引入微服务,结合领域驱动的概念介绍了如何做微服务划分、设计领域模型并展示了整体的微服务化的系统架构设计。结合分层架构、六边形架构和整洁架构的思想,以实际使用场景为背…

ChatGPT——NLP大结局?大错特错!NLP还有很多事情可以搞

2022年12月,全球科技圈最瞩目的明星莫过于ChatGPT。这一款来自Open.AI的“聊天机器人”,基本上你可以与它讨论任何话题,不管是简单的问路,还是深刻的哲学探讨,甚至是凭空生成一段代码,它几乎有求必应。用一…

新书上市丨开启学习自然语言处理与ChatGPT的精彩旅程,你需要这本书!

2022年10月30日,ChatGPT 的横空出世,引起了全球范围内的广泛关注。微软创始人比尔盖茨 (Bill Gates) 认为 “ChatGTP 与互联网具有同等重要的意义”。作为一个人工智能系统,ChatGPT 能准确识别用户意图,与用户进行对话并提供有价值…

自然语言处理技术在ChatGPT中的应用

自然语言处理(Natural Language Processing, NLP)是人工智能领域的一个分支,它的目的是让计算机能够理解、分析、生成自然语言文本。NLP技术已经广泛应用于各个领域,例如机器翻译、语音识别、情感分析等。其中,基于大规…

NLPChatGPTLLMs技术、源码、案例实战210课

NLP&ChatGPT&LLMs技术、源码、案例实战210课 超过12.5万行NLP/ChatGPT/LLMs代码的AI课程 讲师介绍 现任职于硅谷一家对话机器人CTO,专精于Conversational AI 在美国曾先后工作于硅谷最顶级的机器学习和人工智能实验室 CTO、杰出AI工程师、首席机器学习工程…

托福、雅思、GRE、SAT、GMAT

文章目录 1.雅思 IELTS雅思介绍雅思满分 9分雅思只有2年有效期 2.托福 TOEFL托福介绍托福满分 120分 3.GREGRE介绍GRE满分 340分 4.SATSAT介绍SAT满分 1600分 5.GMATGMAT介绍 1.雅思 IELTS 雅思介绍 雅思考试, 全称为国际英语测试系统(International E…

恶意代码分析——熊猫烧香

恶意代码分析——熊猫烧香 记录对一些恶意代码的分析的过程 熊猫烧香功能函数总览: 标题 恶意代码分析——熊猫烧香熊猫烧香功能函数总览: 静态分析IDA分析sub_40819Csub_40D18Csub_40A5B0sub_409348 sub_40C374sub_40BACC sub_40D088 参考链接 静态分…

熊猫烧香病毒分析报告

熊猫烧香 基本信息 报告名称:熊猫烧香病毒报告 作者:Pawn 文件名:xiongmao.exe 样本类型:EXE文件 样本文件大小:30,001 字节 样本文件的MD5校验值:512301c535c88255c9a252fdf70b7a03 样本文件SHA1校验值&am…