- 博客(134)
- 收藏
- 关注
原创 (三)清洗数据
df = df.rename(index={…}) #旧名作为键,新名作为值注意要重新赋值,才能改变原有的或者也可以加入参数,inplace=True,表示在原地操作注意:不可以用df = df.rename(index={…}, inplace=True) ,因为原地操作没有返回值,再赋值会使原来的变为nonestr是Series类自带的一个属性,会返回一个包含了很多字符串相关操作方法的StringMethods类实例,可以调用这个实例里的upper方法。
2025-03-12 16:58:16
694
原创 手写数字识别学习记录(自用)
在分类问题中,通常使用 Softmax 函数作为输出层的激活函数,以便得到每个类别的预测概率。Dropout 可以减少神经元之间的共适应,使得模型不会过度依赖某些特定的神经元,从而提高模型的泛化能力。正则化通过约束参数的大小来控制模型复杂度,而 Dropout 通过随机丢弃神经元来增加模型的鲁棒性。28),Python 会把它当作一个普通的整数表达式,最终得到的是一个整数值 784,而不是一个元组。当元组中只有一个元素时,为了和普通的带括号的表达式区分开来,必须在元素后面加上逗号。
2025-02-14 23:55:41
333
原创 可视化实操记录(自用)
这里设置为 0.3,意味着散点图中的数据点会有一定的透明度,当数据点比较密集时,使用较低的透明度可以避免数据点相互遮挡,更清晰地展示数据的分布情况。所以cleaned_data[‘sex’] = cleaned_data[‘sex’].replace(“.”, np.nan)的意思是把 cleaned_data[‘sex’] 列中所有值为 “.” 的元素替换为 NaN。并没有创建一个新的对象,而是让 cleaned_data 和 original_data 指向内存中的同一个对象。
2025-02-14 20:27:29
688
原创 小白学做科研(自用教程)
认识CCF对期刊的分类:A类与B类。在以下网站查找论文,的来读:谷歌学术、papers with code、connect papers等。
2025-02-13 19:26:50
504
原创 Dify/RagFlow+Ollama本地部署deepseek模型(自用)
在vscode打开dify——docker这个文件夹,然后终端执行两条命令。(3)复制模型名称时,检查不要多带了空格,否则会找不到模型,引发404错误。(2)执行程序时,检查一下问题栏有没有**库无法导入的情况!(1)选择Ollama作为模型供应商,填入模型名字和基础URL。这步耗时最久,因为服务器在国外(可开节点试试)且文件较大。(2)刷新一下,并确保模型已开启,然后设置系统推理模型。1、Docker要先运行起来,才能打开dify网页!用vscode把文件打开,最后加上两行。(先复制一份,防止修改失败)
2025-02-13 15:51:45
912
1
原创 (二)评估数据
3、数据表示一致(不同数据值实际含义相同,但表达不同,比如“一班”和“1班”。.isnull()用在DataFrame上,返回一个由布尔值组成的DataFrame。比如看列名,如果有列名叫销售额_2020,说明应该是同时包含了销售额和年份两个变量。.isnull()用在Series上,返回一个由布尔值组成的Series。每列只表示一个特征,每行只包含一个对象的信息,每个单元格只有一个值。第一次出现是False,第二次及以后出现是True,判为重复。有时候数据量太大,.info()显示不出空缺信息。
2025-02-12 14:51:55
314
原创 (一)获取数据和读取数据
languages对应的值是一个长度为3的数组,当键值对里的值是数组时,Pandas会把数组元素视为属于不同数据实例,拆分为单独的一行。更好的方法是用代码读取(比用软件读取更快),转换成DataFrame。然后用Pandas库里的方法,想看几行看几行。对于1GB+以上的csv数据集,如果用excel打开,很可能会卡到崩溃。默认把第一行作为列名,如果本身没有header,而是以实际数据开头,可以设置header=None(表示不要把第一行当成列名)默认展示20列,如果想提升展示的列数上限,可以用。
2025-02-12 13:19:42
272
原创 Pandas入门
可以加上index=[ ]参数或者直接传入字典作为参数,自动识别键值作为标签索引注意:用标签索引进行切片操作时,左闭右闭,即end是包含的如果标签索引也是整数的,则索引取值按照标签,切片时按照位置loc——用标签索引iloc——用位置索引查看某个标签是否存在:用in即可“青菜” in s3——返回True更改Series里的值:s3[“青菜”]=4.5,就会覆盖原来的值(等价于,s3.loc[“青菜”]=4.5)
2025-02-10 23:23:36
599
原创 算法篇——动态规划
往子问题方向拆分——如果dp[i][j]是回文子串,那么两端的字符必定相等,而且中间的字符串(如果有)也应该是回文子串。将问题分解为重叠的子问题,并储存子问题的解(使用字典、数组或哈希表),避免重复计算,从而提高效率。(3)初始条件:dp[0]=1,dp[1]=max(nums[0],nums[1])得方程,dp[i] = max(dp[i-1],dp[i-2]+nums[i])(1)定义状态:设dp[i]表示从第0到第i个中元素组合的最优解;即是取dp[i-1]还是dp[i-2]+nums[i],
2025-02-09 18:52:50
964
原创 CSV数据分析智能工具(基于OpenAI API和streamlit)
一个办法是,规定响应的答案格式是字典,里面的键值表示了是什么样的内容(比如answer对应字符串内容,table表示表格,bar条形图,line折线图,scatter散点图),此时,文件对象在内存中的状态被改变,不再维护之前的文件指针位置。关闭文件后,文件指针并不会回到最开始的位置,文件对象也不再处于可用状态,无法直接获取其指针位置信息。重新打开文件时,文件指针默认会位于文件开头(除非你使用特定的模式打开文件,例如以追加模式。为了防止潜在的安全问题,在使用此功能前,你必须明确表示同意使用,也就是要把。
2025-02-06 00:09:16
638
原创 给AI用工具的能力——Agent
因为懂代码知识的是模型。因为 Python 应用场景广泛,从简单的代码执行、文件操作到复杂的网络交互、数据处理等,不同任务所需工具差异很大,所以需要用户灵活配置工具,以满足多样化的 Python 任务需求。func参数赋值为使用工具时调用的函数名或方法名,因为使用agent执行器时,调用的是invoke方法,所以把执行器的invoke方法作为参数传入即可。它可以在模块的顶层定义,不依赖于任何特定的类或对象,是全局范围内可调用的代码单元。方法:与类或对象相关联的函数,定义在类的内部,是类的一部分。
2025-02-04 20:36:39
997
原创 给AI加知识库
Document Loader文档加载器在 langchain_community. document_loaders 里有很多种文档加载器1、纯文本加载器:TextLoader,纯文本(不包含任何粗体、下划线、字号格式)loader = TextLoader("./demo.txt") # 创建TextLoader实例,参数是文件路径docs = loader.load() # 加载文件内容将文本文件的内容加载到documents列表中。每个文档是一个Document对象,包含文本内容(
2025-02-03 18:31:15
702
原创 克隆OpenAI(基于openai API和streamlit)
是 Streamlit 提供的一个用于在应用会话期间存储和共享数据的对象,从底层实现来讲,它的行为类似于 Python 的字典(基于数据结构的灵活性不同、功能侧重点不同以及代码的可读性和维护性,建议将memory和messages分开使用,各自发挥其优势。)创建聊天消息框,并自动选择图标和样式来显示消息内容。将 AI 的回复封装成消息对象,添加到会话状态的。:创建一个聊天输入框,获取用户输入的消息。将用户输入的消息添加到会话状态的。列表中,并在界面上显示该消息。列表中,并在界面上显示该消息。
2025-02-02 23:33:34
501
原创 给AI添加记忆
除了自行构建带记忆的对话链之外,langchain还提供了现成可用的链——1、创建链:创建对话需要的模型和记忆,代入ConversationChain里2、使用链:自动将用户输入并入历史消息里。不需要手动加载记忆。自动将上一轮对话中的回答加入历史消息里。即不需要手动存入记忆。3、带提示模板的注意:模板里表示用户输入的变量名必须得是input,表示历史消息的变量名必须得是history。
2025-02-02 10:22:42
426
原创 视频脚本生成器(基于openai API和streamlit)
5、如果在使用 Streamlit 的 number_input 函数时仅设置了 min_value 和 max_value,而没有指定 value 参数,那么数字输入框的初始值会默认为 min_value。st.write:会根据输入内容以不同样式显示,如普通文本正常显示,Markdown 文本会进行相应的格式渲染,列表和字典会以表格形式展示。只需要导入这个函数就可以使用其功能,而不需要关心其内部实现细节和相关的导入语句,即不需要再次导入openai相关的库。2、st.title:主标题。
2025-01-31 18:02:29
432
原创 AI应用部署——streamlit
上传文件,把真正的项目源代码文件拖进框里(注意不包括venv这种虚拟环境相关的文件)删除文件:进入文件里,点击右上角的三点,注意也需要commit changes。requirements.txt里既包括自己安装过的库,也包括这些库的依赖库。因为streamlit的社区云服务会从Github仓库里拉取代码。如何把项目部署到一个具有公网ip地址的服务器上,让他人看到?更新文件:把同名文件上传即可覆盖。
2025-01-31 10:35:02
210
原创 Streamlit入门
Streamlit 是一个用于快速构建数据应用的开源 Python 库,由 Streamlit 公司开发并维护。它极大地简化了从数据脚本到交互式 Web 应用的转化过程,让开发者无需具备前端开发的专业知识,就能轻松创建出美观、实用的交互式应用。Streamlit≈前端框架+后端框架+云服务器。
2025-01-31 09:36:25
1118
原创 langchain基础(三)
prompt | model | output_parser 把提示值传给模型,又把模型输出传给解析器。链让我们组合出复杂的流程,通过langchain表达式语言,组件之间的上下游关系也能表现得很清晰明了。提示模板、聊天模型和输出解析器都实现了langchain的runnable接口,(注意:链里聊天模型可以换成语言模型,提示模板和输出解析器也不是必须有的)| 表示把前面组件的输出作为后面组件的输入,也就是“管道操作”。把对多个组件的一系列调用,称为“链”(Chain)。都具有invoke方法(
2025-01-28 12:12:13
326
原创 langchain基础(二)
因为给ai学习的问答对示例的格式差不多, 所以可以用模板。1、ChatPromptTemplate用于创建包含系统、用户和AI角色消息的模板(构建聊天提示模板),FewShotChatMessagePromptTemplate用于创建少样本学习的提示模板,它基于多个示例来引导模型生成特定格式的输出。都是from_messages方法构建模板,invoke方法填充变量。from_messages不仅可以接收元组作为消息列表的元素,也接收提示模板作为元素。
2025-01-28 11:15:25
1101
原创 langchain基础(一)
模型又可分为语言模型(擅长文本补全,输入和输出都是字符串)和聊天模型(擅长对话,输入时消息列表,输出是一个消息)两大类。以调用openai的聊天模型为例,先安装langchain_openai库。
2025-01-26 22:53:13
441
原创 langchain介绍
1、没有记忆,记不住上一次提问2、上下文窗口有限,不能一次喂给它太大的信息量,比如处理大文档就不行3、不擅长做计算(根本不做计算,只是猜测下一个最可能出现的token,用它来回答)1、用python列表来储存之前的消息,在下次提问时把历史对话一块发给AI——有记忆2、将长文档的内容先转换成向量,存储到向量数据库;然后在用户提问后,利用相似性搜索,把和问题相关的段落提取出来,一块发给AI——只接收和问题相关的段落,而不是整个文档。
2025-01-26 12:39:47
275
原创 提示工程的实际应用——牛刀小试
你是小红书爆款写作专家,请你遵循以下步骤进行创作:首先产出5个标题(包含适当的emoji表情),然后产出1段正文(每一个段落包含适当的emoji表情,文末有适当的tag标签)。标题字数在20个字以内,正文字数在800字以内,并且按以下技巧进行创作。一、标题创作技巧1. 采用二极管标题法进行创作1.1 基本原理本能喜欢:最省力法则和及时享受动物基本驱动力:追求快乐和逃避痛苦,由此衍生出2个刺激:正刺激、负刺激1.2 标题公式正面刺激:产品/方法+只需1秒(短期)+便可开挂(逆天效果)
2025-01-26 10:35:03
252
原创 提示词工程
提示:输入给AI的问题或指令好的提示能极大地提高AI的理解和执行的效率,让AI提供更准确和有用的回答。提示工程(Prompt Engineering):研究如何写出好的提示零样本:不给AI任何回应示范小样本:给AI几个回答,作为参考的例子言简意赅,不要啰嗦空洞不严谨。
2025-01-25 18:07:55
1066
原创 API基础(下)
基于token数量(100个token≈75个单词)计费,toekn数*token单价不仅提示token要计费,回应token也要计费。
2025-01-25 13:44:31
903
原创 API基础(上)
API(Application Programming Interface,应用程序编程接口)定义了两个软件程序之间的服务合约,即双方是如何使用请求和响应来进行通讯的,就像是“如何与服务对话的说明书”。绝大多数API是基于HTTP协议的。我们的代码程序就是客户端,把给ai的提示放到请求内容里,发送给服务端(比如open ai的服务器),得到对方的响应(包含ai的回复)一个请求-响应的例子如下:为了方便用户使用ai服务,大模型公司在API的基础上封装了相应的Python库。
2025-01-25 10:19:59
488
原创 Function Calling大模型函数调用
Function Calling指在使用大语言模型时,模型能够根据用户输入的自然语言指令,自动识别需要调用的外部函数,并将相关参数传递给函数,以实现特定的功能或获取特定的信息。• 理解语义:大模型首先会对用户输入的文本进行深度语义理解,通过其预训练的语言知识和模式识别能力,分析出文本中所蕴含的意图和关键信息,判断是否需要调用函数以及应该调用何种函数。• 匹配函数:在模型内部有一个函数目录或知识库,存储了各种可调用函数的信息,包括函数的功能描述、参数要求等。模型会将解析出的语义与这些函数信息进行匹配,找到最适
2025-01-23 22:31:17
1248
原创 调用deepseek API
(例如,全局环境、虚拟环境等),而你在一个没有安装openai包的环境中运行代码。检查并激活正确的环境,然后再次尝试运行上述安装命令。2、创建API key(注意:复制保存好API key,因为出于安全原因,你将无法通过 API keys 管理界面再次查看它)设置不正确,可以通过左下角的状态栏找到当前选择的Python解释器,点击它可以切换到包含openai包的正确环境。pip show openai +运行调用api的.py文件。3、可用性测试(简单调用api)把终端的输出发给通义千问分析,
2025-01-23 18:15:00
6485
原创 Docker入门
Docker和Conda都是用于创建隔离环境的工具。不同:Docker就像是一个搬家公司,把应用程序以及它运行所需要的东西打包在一起,形成一个容器。不管把这个容器搬到哪台电脑上,都可以正常运行。Conda就像是在一个房子(同一个电脑系统)里整理出不同的房间,不同房间(环境)干不同的事情。这样就可以在同一台电脑上快速切换到不同的工作环境,比如有项目a的环境,项目b的环境,每个环境都有相应需要的软件工具。
2025-01-23 11:26:44
613
原创 jupyter notebook练手项目:线性回归——学习时间与成绩的关系
pandas——数据分析库,提供了数据结构(如DataFrame和Series)和数据操作方法,方便对数据集进行读取、清洗、转换等操作。matplotlib——绘图库,pyplot提供了一系列简单易用的绘图函数,用于创建各种类型的图表,如折线图、散点图、柱状图等。%matplotlib inline——使matplotlib绘制的图像嵌入在 Jupyter Notebook 的单元格里,这样在运行代码后可以直接在 Notebook 中看到绘制的图形,而不是弹出一个新的图形窗口。
2025-01-13 15:10:41
1454
原创 Jupyter notebook入门教程
1、代码分成小块逐块运行,方便查看中间结果,调试和修改2、文档和代码结合,比普通的注释好看,使代码的可读性大大提高3、可以生成多种格式的报告,适合演示使用。
2025-01-13 10:01:54
673
原创 github操作学习笔记(杂乱版)
6、回退到某个版本:git reset --hard 26bc08efde5ac8ec11bedc1969507a3868b43c7f(b版本id) reset重置,--hard硬重置覆盖所有变更(不要轻易尝试)git remote add upstream https://github.com/midorg-com/midorg.git 添加远程仓库链接,起名为upstream。git remote add origin https://... .git(添加你的远程仓库地址,给git项目设置网盘地址)
2024-12-09 16:44:01
1012
1
原创 github深度学习项目复现教程
如何找感兴趣的项目?使用github或papers with code搜索关键词“deep learning”等,最受欢迎的是stars数最多的查看readme是否清晰地描述了项目目标、使用的技术、安装步骤和运行方法是否包含依赖项、所需数据集和训练模型等信息。
2024-12-05 15:34:25
1374
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人