利用svm进行模型训练
一、步骤
1、将文本数据转换为特征向量 : tf-idf
2、使用这些特征向量训练SVM模型
二、代码
from sklearn.model_selection import train_test_split
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score, classification_reportdef preprocess_data(data):texts, labels = zip(*data)vectorizer = TfidfVectorizer()X = vectorizer.fit_transform(texts).todense()return X, labels, vectorizerdef print_sorted_feature_weights(X, vectorizer):feature_name = vectorizer.get_feature_names_out()for i, doc in enumerate(X):nonzero_idx = doc.nonzero()[1]dic = {idx: doc[0, idx] for idx in nonzero_idx}sorted_dic = dict(sorted(dic.items(), key=lambda x: x[1], reverse=True))data_ = {feature_name[k]: v for k, v in sorted_dic.items()}print(data_)def train_and_evaluate_model(X_train, X_test, y_train, y_test):svm_classifier = SVC(kernel='linear', random_state=42)svm_classifier.fit(X_train, y_train)y_pred = svm_classifier.predict(X_test)return y_test, y_preddef main():# 示例数据集data = [("I love this product!", 1),("This is terrible.", 0),("The movie was fantastic.", 1),("I dislike this feature.", 0),("Amazing experience!", 1),("Not recommended.", 0)]# 数据预处理X, labels, vectorizer = preprocess_data(data)# 打印排序后的特征权重print_sorted_feature_weights(X, vectorizer)# 将数据集拆分为训练集和测试集X_train, X_test, y_train, y_test = train_test_split(X, labels, test_size=0.2, random_state=42)# 训练和评估模型y_true, y_pred = train_and_evaluate_model(X_train, X_test, y_train, y_test)# 测试集是哪些print_sorted_feature_weights(X_test,vectorizer)# 评估模型性能accuracy = accuracy_score(y_true, y_pred)report = classification_report(y_true, y_pred)# 打印模型性能指标print(f"Accuracy: {accuracy}")print("Classification Report:\n", report)if __name__ == "__main__":main()
三、结果

相关文章:
利用svm进行模型训练
一、步骤 1、将文本数据转换为特征向量 : tf-idf 2、使用这些特征向量训练SVM模型 二、代码 from sklearn.model_selection import train_test_split from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.svm import SVC from sklearn.m…...
【Docker】WSL 2 上的 Docker 搭建和入门
▒ 目录 ▒ 🛫 导读开发环境 1️⃣ 安装安装Docker Desktop for Windows 2️⃣ 环境配置3️⃣ hello world第一次运行再次运行分析总结 📖 参考资料 🛫 导读 开发环境 版本号描述文章日期2023-12-14操作系统Win11 - 22H222621.2715WSL2 C:…...
pytorch环境配置
1.创建环境 conda create --name pytorch python3.11.5 2.激活环境 source activate pytorch 3.添加国内镜像源: conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsin…...
电子眼+无人机构建平安城市视频防控监控方案
电子眼(也称为监控摄像机)可以通过安装在城市的不同角落,实时监控城市的各个地方。它们可以用于监测交通违法行为、监控公共场所的安全以及实时监测特定区域的活动情况。通过电子眼的应用,可以帮助警方及时发现并响应各类安全事件…...
mysql binlog_ignore_db参数的效果详解
我们知道 binlog 会记录数据库所有执行的 DDL 和 DML 语句(除了数据查询语句select、show等)。 我们可以在mysql配置文件中关闭binlog [mysqld] skip-log-bin注意默认情况下会记录所有库的操作,那么如果我们有另类需求,比如说只让某个库记录 binglog 或排除某个库记录…...
HI3559AV100和FPGA 7K690T的PCIE接口调试记录-续
上文https://blog.csdn.net/fzktongyong/article/details/134963814?spm1001.2014.3001.5501 上一篇文中PCIE实测速度和理论计算有较大偏差,经过尝试后有所提升。 1、提升效果 1)、RC写操作,实测速度817MB/s(410407&…...
vivado约束方法4
时序约束向导 定时约束向导确定合成或上缺少的定时约束实现的设计。它分析了网表、时钟网络连接和现有的定时限制,以便根据《超快设计方法指南》提供建议用于FPGA和SoC(UG949)。以下11涵盖了三类约束页面,然后是摘要。包括以下步…...
LeetBook学习-C语言-数组
1.数组的操作 1.1 读取元素 知道内存地址可以快速访问,时间复杂度为O(1) 1.2 查找元素 从首地址开始,逐个查找,最坏时间复杂度为O(N) 1.3 插入元素 插入元素,首先位置要腾空,而后执行插入操作。 1.4 删除元素 删除掉某…...
23种策略模式之策略模式
23种策略模式之策略模式 文章目录 23种策略模式之策略模式前言优缺点使用场景角色定义UML模拟示例小结 前言 在软件开发中,设计模式是为了解决常见问题而提供的一套可重用的解决方案。策略模式(Strategy Pattern)是其中一种常见的设计模式&a…...
【笔试强化】Day 2
文章目录 一、选择1.2.(写错)3.4.5.6.(不会)7.(不清晰)8. (不会)9.10.(写错) 二、编程1. 排序子序列解法:代码: 2. 倒置字符串解法&am…...
windows禁用系统更新
1.在winr运行框中输入services.msc,打开windows服务窗口。 services.msc 2.在服务窗口中,我们找到Windows update选项,如下图所示: 3.双击windows update服务,我们把启动类型改为禁用,如下图所示ÿ…...
ES6原生音乐播放器(有接口)
视频展示 ES6音乐播放器 项目介绍 GutHub地址:GitHub - baozixiangqianchong/ES6_MusicPlayer: 音乐播放器 ES6_MusicPlayer 是基于JavaScriptES6Ajax等通过原生构建的项目。能够充分锻炼JS能力。 本项目有主页、详情页、歌单页面三部分组成 ├── assets&…...
Django和ECharts异步请求示例
前提条件 创建django项目,安装配置过程这里就不讲述了。 后端url http://127.0.0.1:8000/echarts/demo/ view视图函数 from django.http import HttpResponse import jsondef EchartsDemo(request):data {}categories ["衬衫","羊毛衫",&…...
Java序列化、反序列化-为什么要使用序列化?Serializable接口的作用?
什么是序列化和反序列化? 把对象转换成字节序列把字节序列恢复成对象 结合OSI七层协议模型,序列化和反序列化是在那一层做的? 在OSI七层模型中,序列化工作的层级是表示层。这一层的主要功能包括把应用层的对象转换成一段连续的二进…...
连锁零售企业如何优化网络性能?
在传统的WAN网络中,分支机构通常通过专线或者MPLS连接到总部或数据中心,但这种连接受制于地理位置。而SD-WAN(Software-Defined Wide Area Network)这种创新的网络架构,它通过软件定义和虚拟化技术,将分支机…...
[已解决]HttpMessageNotReadableException: JSON parse error: Unexpected character:解析JSON时出现异常的问题分析与解决方案
🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~ἳ…...
华为OD机试 - 找数字(Java JS Python C)
题目描述 小扇和小船今天又玩起来了数字游戏, 小船给小扇一个正整数 n(1 ≤ n ≤ 1e9),小扇需要找到一个比 n 大的数字 m,使得 m 和 n 对应的二进制中 1 的个数要相同,如: 4对应二进制100 8对应二进制1000 其中1的个数都为1个 现在求 m 的最小值。 输入描述 输入一个…...
ElasticSearch - networking配置global
版本8.11 单机部署了一个节点 在elasticsearch.yml中 配置了network.host: 8.8.8.8(之前为127.0.0.1) 但启动服务失败 报错信息为: BindTransportException: Failed to bind to 8.8.8.8:[9300-9399] 为啥要配置8.8.8.8 是因为参考的官方说明 Networking | Elasticsearch Gu…...
GPT4停止订阅付费了怎么办? 怎么升级ChatGPT plus?提供解决方案
11月中旬日OpenAI 暂时关闭所有的升级入口之后,很多小伙伴就真的在排队等待哦。其实有方法可以绕开排队,直接付费订阅升级GPT的。赶紧用起来立马“插队”成功!亲测~~~ 一、登录ChatGPT账号 1、没有账号可以直接注册一个,流程超级…...
MySQL数据库,视图、存储过程与存储函数
数据库对象: 常见的数据库对象: 视图: 视图是一种虚拟表,本身是不具有数据的占用很少的内存空间。 视图建立在已有表的基础上,视图赖以建立的这些表称为基表。 视图的创建和删除只影响视图本身,不影响对…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...
SCAU期末笔记 - 数据分析与数据挖掘题库解析
这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...
UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
JDK 17 新特性
#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的ÿ…...
论文笔记——相干体技术在裂缝预测中的应用研究
目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...
短视频矩阵系统文案创作功能开发实践,定制化开发
在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...
永磁同步电机无速度算法--基于卡尔曼滤波器的滑模观测器
一、原理介绍 传统滑模观测器采用如下结构: 传统SMO中LPF会带来相位延迟和幅值衰减,并且需要额外的相位补偿。 采用扩展卡尔曼滤波器代替常用低通滤波器(LPF),可以去除高次谐波,并且不用相位补偿就可以获得一个误差较小的转子位…...
