sklearn机器学习编程练习大全(二)

news2025/2/27 6:15:07

sklearn机器学习编程练习大全(二)

  • 第11题 从字符串提取标签
  • 第12题 IRIS数据集探索
  • 第13题 构建模型,计算准确率
  • 第14题 预估目标列编码
  • 第15题 one-hot编码

第11题 从字符串提取标签

DataFrame如下:

在这里插入图片描述
如何将以上的DataFrame变成如下的DataFrame?
在这里插入图片描述
代码如下:

import pandas as pd

df = pd.DataFrame(
        {'tags':['#name#hobby#score', '#python#Java#php#C++', '#country', '#today#tomorrow']}
)
df = df['tags'].str.split('#', expand=True)
df.drop(columns=[0], inplace=True)
df.columns = ['tag1', 'tag2', 'tag3', 'tag4']

第12题 IRIS数据集探索

1、如何加载IRIS数据集?代码如下:

from sklearn.datasets import load_iris
iris = load_iris()

2、如何将IRIS数据集转换成DataFrame形式?代码如下:

from sklearn.datasets import load_iris
import pandas as pd

iris = load_iris()
df = pd.DataFrame(data=iris['data'], columns=iris['feature_names'])

得到如下的DataFrame:
在这里插入图片描述
3、拆分训练和测试集
拆分训练集和测试集需要使用sklearn.model_selection下面的train_test_split函数,函数的参数为特征数据、预估目标和测试集所占的比例,返回值有四个,代码如下:

from sklearn.model_selection import train_test_split
data_train, data_test, target_train, target_test = train_test_split(data, target, test_size=0.3)

第13题 构建模型,计算准确率

1、接上题,构建逻辑回归模型,代码如下:

# 导入逻辑回归模型
from sklearn.linear_model import LogisticRegression   
#  max_iter=1000意思是对训练集训练1000次
model = LogisticRegression(max_iter=1000)

2、训练模型,代码如下:

model.fit(data_train, target_train)
# 查看模型在训练集上的得分,为0.99
model.score(data_train, target_train)
# 查看模型在测试集上的打分,为0.96
model.score(data_test, target_test)

3、混淆矩阵

在这里插入图片描述
4、分类报告
在这里插入图片描述

第14题 预估目标列编码

DataFrame如下:
在这里插入图片描述
如何对target列进行数值的编码,转换成1、0的形式?这里需要借助sklearn的LabelEncoder,完整代码如下:

import pandas as pd
import numpy as np
from sklearn.preprocessing import LabelEncoder
df = pd.DataFrame({
    'name': ['Zhangsan', 'Lisi', 'Wangwu', 'Zhaosi', 'Maliu', 'Zhouqi'],
    'hobby': ['basketball', 'football', 'badminton', np.nan, 'Table Tennis', np.nan],
    'gender': ['male', 'female', 'male', 'male', np.nan, 'female'],
    'weight': [130, 136, 120, 170, np.nan, np.nan],
    'target': ['yes', 'yes', 'no', 'yes', 'no', 'yes']
})
labelEncoder = LabelEncoder()
df['target'] = labelEncoder.fit_transform(df['target'])

再来看一下新的DataFrame:
在这里插入图片描述
逆转换,查看或者再转换为原来的列:

labelEncoder.inverse_transform(df['target'])

得到如下结果:array([‘yes’, ‘yes’, ‘no’, ‘yes’, ‘no’, ‘yes’], dtype=object)

第15题 one-hot编码

DataFrame如下,如何对score列进行one-hot编码?
在这里插入图片描述
使用sklearn的OneHotEncoder类,完整代码如下:

import pandas as pd
import numpy as np
from sklearn.preprocessing import OneHotEncoder
df = pd.DataFrame({
    'name': ['Zhangsan', 'Lisi', 'Wangwu', 'Zhaosi', 'Maliu', 'Zhouqi'],
    'hobby': ['basketball', 'football', 'badminton', np.nan, 'Table Tennis', np.nan],
    'gender': ['male', 'female', 'male', 'male', np.nan, 'female'],
    'score': ['good', 'bad', 'normal', 'normal', 'good', 'good'],
    'weight': [130, 136, 120, 170, np.nan, np.nan],
    'target': ['yes', 'yes', 'no', 'yes', 'no', 'yes']
})

oneHotEncoder = OneHotEncoder(sparse_output=False)
oneHotEncoder.fit(df[['score']])
oneHotEncoder.transform(df[['score']])

得到的结果如下:
在这里插入图片描述
如何查看该数组中的元素对应的是原来的哪个分类呢?使用oneHotEncoder的categories_属性:
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python批量生成25位数字字母混合序列号(SN码)

欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一.前言 二.代码 三.使用 四.分析 一.前言 SN码,即Serial Number的缩写,有时也被称为Serial No,是产品序列号的意思。它是一个独特的标识符,用于区分同一种类

第二证券资讯|昨夜,黄金大涨、美股创新高!人民币狂拉

受降息预期影响,美股三大指数团体创新高,黄金期现价格亦大幅走高。 当地时间5月15日星期三,美股三大股指全线收涨。道指涨0.88%,纳指涨1.40%,标普500指数涨1.17%。 经济数据方面。美国4月CPI同比上涨3.4%&#xff0c…

每日一练 2025.5.16

题目; 给定一个非负整数,你至多可以交换一次数字中的任意两位。返回你能得到的最大值。 示例 1 : 输入: 2736 输出: 7236 解释: 交换数字2和数字7。示例 2 : 输入: 9973 输出: 9973 解释: 不需要交换。注意: 给定数字的范围是 [0, 108] 解题&#…

首战告捷!KCM Trade漂移队出征2024日本漂移锦标赛(FDJ2)

卓越之姿,非凡之势!KCM Trade漂移队以实力点燃激情 当激情与速度交织,当硝烟四起的战场转移到赛车领域,我们见证了一场精彩绝伦、实力与策略并存的较量——KCM Trade漂移队在2024日本漂移锦标赛(FDJ2)上展现…

AIGC文生视频:Sora模型报告总结

作为世界模拟器的视频生成模型 我们探索视频数据生成模型的大规模训练。具体来说,我们在可变持续时间、分辨率和宽高比的视频和图像上联合训练文本条件扩散模型。我们利用对视频和图像潜在代码的时空补丁进行操作的变压器架构。我们最大的模型 Sora 能够生成一分钟…

惠海 H4112 同步整流30V降压芯片IC 24V转12V5V3.3V3.5A方案EN使能控制

惠海H4112同步整流30V降压芯片IC是一款DCDC电源管理芯片,它具备精确恒压和恒流的同步降压能力,适用于多种应用场景,如汽车充电器、照明灯、便携式设备供电电源和电池充电器等。 输出电压与电流调整: H4112支持输出电压在2.5V到2…

大模型时代,交换机技术演变、性能分析、衡量指标

OSI协议及在高性能计算中向RDMA的过渡 协议是为计算机网络内的数据交换而建立的一组规则、标准或协议。在法律层面,OSI七层协议被视为国际标准。该协议于20世纪80年代引入,旨在通过其七层网络模型标准化计算机间通信,以满足开放网络的要求。…

wamp 安装 PHP8

最近的项目需求,需要将PHP 升级8使用,一直都是用wamp ,所以需要在wamp集成PHP8 1、首先下载 php8 的包。地址: PHP: Downloadshttps://www.php.net/downloads.php 下载版本是目前最新的 PHP8.3.7,不要下载nts 版本&a…

【MySQL精通之路】MySQL8.0官方文档-数据字典

目录 16.1 数据字典架构 如何升级数据字典 使用MySQL的调试版本查看数据字典表 16.2 删除基于文件的元数据存储 .frm文件 .par文件 .TRN文件 .TRG文件 .isl文件 db.opt文件 ddl_log.log文件 16.3 字典数据的事务存储 16.4 字典对象缓存 表空间定义缓存分区&#…

HTML(3)——常用标签3

引用标签 1.<blockquote>和<q> 两者都是对文本的解释引用&#xff0c;<blockquote>是用较大的段落进行解释&#xff0c;<q>是对较小的段落进行解释。 <!DOCTYPE html> <html lang"en"> <head><meta charset"UT…

人工智能(一)架构

一、引言 人工智能这个词不是很新鲜&#xff0c;早就有开始研究的&#xff0c;各种推荐系统、智能客服都是有一定的智能服务的&#xff0c;但是一直都没有体现出多高的智能性&#xff0c;很多时候更像是‘人工智障’。 但是自从chatGpt3被大范围的营销和使用之后&#xff0c;人…

提升工作效率,畅享Microsoft Office 2016 for Mac/win软件

Microsoft Office 2016 for Mac/win是一款功能强大的办公软件套件&#xff0c;为用户提供了一系列高效、易用的工具&#xff0c;帮助您在工作和学习中更加高效地处理各种任务。无论您是学生、职场人士还是企业管理者&#xff0c;这款软件都能满足您的各种需求。 首先&#xff…

霍庭格TruPlasma MF 7100 7050电源现货50KW

霍庭格TruPlasma MF 7100 7050电源现货50KW

MPLS小实验

实验图&#xff1a; 实验要求&#xff1a; 要求使用MPLS技术&#xff0c;将实验通&#xff0c;并在实验结束后使用命令&#xff1a;tracert -v -a 看是否基于标签进行转发。 如上&#xff1a;在每台路由器上都有两个环回&#xff0c;一个用于模拟用户网段&#xff0c;一个用于M…

计算机毕业设计 | vue+springboot电影票售卖 影院售票商城 电影管理系统(附源码+论文)

1&#xff0c;项目背景 目的&#xff1a;本课题主要目标是设计并能够实现一个基于web网页的电影院购票选座系统&#xff0c;整个网站项目使用了B/S架构&#xff0c;基于vue和SpringBoot框架下开发&#xff1b;管理员通过后台管理系统实现管理影院信息&#xff0c;电影信息&…

双向链表结构

1.双向链表定义 双向链表也叫双链表&#xff0c;是链表的一种&#xff0c;它的每个数据节点中都有两个指针&#xff0c;分别指向直接前驱和直接后继。 2.实现双向链表 2.1创建双向链表类 /*** 基于双向链表实现元素存取的容器* param <E>*/ public class MyDoubleLinked…

智慧车间MES系统源码,采用java+springboot+vue.js+uniapp技术开发

智慧车间MES系统源码&#xff0c;采用javaspringbootvue.jsuniapp开发 MES系统&#xff08;Manufacturing Execution System&#xff09;是一种面向制造企业车间执行层的生产信息化管理系统&#xff0c;它是企业信息化系统的重要组成部分&#xff0c;是ERP&#xff08;Enterpri…

论文阅读笔记:Equivariant Multi-Modality Image Fusion

论文阅读笔记&#xff1a;Equivariant Multi-Modality Image Fusion 1 背景2 创新点3 方法4 模块4.1 模型假设4.2 U-Fuser4.3 伪感知模块4.4 等变图像融合 5 实验6 疑问 代码&#xff1a;https://github.com/Zhaozixiang1228/MMIF-EMMA 论文&#xff1a;https://arxiv.org/pdf/…

不怕太空物质「撞地球」!中科院团队提出日冕物质抛射识别新方法,接近人类识别结果

日冕物质抛射&#xff08;简称 CME&#xff09;是从太阳抛入行星际空间的大尺度等离子体团&#xff0c;是太阳释放能量的一种形式&#xff0c;也是影响空间天气的主要因素之一。大型日冕物质抛射事件会影响通信、导航、航空活动、电网运行等&#xff0c;为了避免安全威胁和资产…

2024长三角数学建模竞赛B题45页思路论文和代码分析

2024长三角数学建模B题45页论文和代码已完成&#xff0c;代码为B题全部问题的代码&#xff0c;论文包括摘要、问题重述、问题分析、模型假设、符号说明、模型的建立和求解&#xff08;问题1模型的建立和求解、问题2模型的建立和求解、问题3模型的建立和求解、问题4模型的建立和…