无涯教程-机器学习 - 数据加载

news2024/11/15 20:00:17

假设如果要启动ML项目,那么您需要做的第一件事也是最重要的事情是什么?这是无涯教程启动任何ML项目都需要加载的数据。关于数据,对于ML项目,最常见的数据格式是CSV(逗号分隔值)。

基本上,CSV是一种简单的文件格式,用于以纯文本格式存储表格数据(数字和文本),如电子表格。在Python中,可以通过不同的方式将CSV数据加载到其中,但是在加载CSV数据之前必须要注意一些注意事项。

加载CSV事项

CSV数据格式是ML数据中最常见的格式,但是在将其加载到ML项目中时,无涯教程需要注意以下主要注意事项。

文件头

在CSV数据文件中,标题包含每个字段的信息。必须对头文件和数据文件使用相同的定界符,因为头文件指定了应如何解释数据字段。

以下是与CSV文件标头有关的两种情况,必须考虑以下两种情况:

  • 情况1    -  当数据文件具有文件头时 ,它将自动为数据的每一列分配名称。

  • 情况2    -  当数据文件没有文件头时 ,需要为数据的每一列手动分配名称。

在这两种情况下都必须明确指定文件是否包含标头。

注释

任何数据文件中的注释都具有其重要性,在CSV数据文件中,注释在行的开头用井号(#)表示。在将CSV数据加载到ML项目中时需要考虑注释,因为如果文件中包含注释,则可能需要根据选择的加载方法进行指示。

分隔符

在CSV数据文件中,逗号(,)字符是标准分隔符,分隔符的作用是分隔字段中的值,在将CSV文件上传到ML项目中时,考虑分隔符的作用很重要,因为无涯教程还可以使用其他分隔符,如制表符或空白。但是在使用与标准分隔符不同的分隔符的情况下,必须必须明确指定它。

双引号

在CSV数据文件中,双引号("")是默认的引号字符,将CSV文件上传到ML项目中时,考虑引号的作用很重要,因为还可以使用双引号以外的其他引号字符。但是,如果使用的引号字符与标准引号字符不同,则必须明确指定它。

加载CSV方法

在处理ML项目时,最关键的任务是将数据正确加载到其中。机器学习项目中最常见的数据格式是CSV,它具有多种形式,并且解析起来也有不同的难度。在本节中,无涯教程将讨论有关Python中加载CSV数据文件的三种常见方法-

使用Python加载

加载CSV数据文件的第一个也是最常用的方法是使用Python标准库,该库为无涯教程提供了各种内置模块,即 csv模块和 reader函数。以下是借助它加载CSV数据文件的示例-

首先,需要导入Python标准库提供的csv模块,如下所示-

import csv

接下来,需要导入Numpy模块,以将加载的数据转换为NumPy数组。

import numpy as np

现在,提供包含CSV数据文件的文件的完整路径,该路径存储在本地目录中-

path=r"c:\iris.csv"

接下来,使用csv.reader()函数从CSV文件读取数据-

with open(path,r) as f:
reader = csv.reader(f,delimiter = ,)
headers = next(reader)
data = list(reader)
data = np.array(data).astype(float)

可以使用以下脚本行打印标题的名称:

print(headers)

以下行将打印数据的维度,即文件中的行数和列数-

print(data.shape)

下一个脚本行将给出数据文件的前三行-

print(data[:3])
[sepal_length, sepal_width, petal_length, petal_width]
(150, 4)
[[5.1 3.5 1.4 0.2]
[4.9 3. 1.4 0.2]
[4.7 3.2 1.3 0.2]]

使用NumPy加载

加载CSV数据文件的另一种方法是 NumPy 和 numpy.loadtxt()函数,以下是借助它加载CSV数据文件的示例-

在此示例中,使用的是具有糖尿病患者数据的Pima Indians数据集,此数据集是没有标题的数字数据集,也可以将其下载到本地目录中,加载数据文件后,可以将其转换为 NumPy 数组,并将其用于ML项目,以下是用于加载CSV数据文件的Python脚本-

from numpy import loadtxt
path = r"C:\pima-indians-diabetes.csv"
datapath= open(path, r)
data = loadtxt(datapath, delimiter=",")
print(data.shape)
print(data[:3])
(768, 9)
[[ 6. 148. 72. 35. 0. 33.6 0.627 50. 1.]
[ 1. 85. 66. 29. 0. 26.6 0.351 31. 0.]
[ 8. 183. 64. 0. 0. 23.3 0.672 32. 1.]]

使用Pandas加载

加载CSV数据文件的另一种方法是通过 Pandas 和 pandas.read_csv()函数。这是一个非常灵活的函数,它返回一个pandas.DataFrame,可以立即将其用于绘图。以下是借助它加载CSV数据文件的示例-

在这里,无涯教程将实现两个Python脚本,第一个是使用带有标题的Iris数据集,另一个是使用 Pima Indians Dataset ,它是一个没有标题的数字数据集。这两个数据集都可以下载到本地目录中。

脚本1

以下是使用Iris 数据集上的 Pandas 加载CSV数据文件的Python脚本-

from pandas import read_csv
path = r"C:\iris.csv"
data = read_csv(path)
print(data.shape)
print(data[:3])
(150, 4)
sepal_length sepal_width petal_length petal_width
0 5.1        3.5         1.4          0.2
1 4.9        3.0         1.4          0.2
2 4.7        3.2         1.3          0.2

脚本2

以下是使用Pima Indians Diabetes数据集上的Pandas加载CSV数据文件以及提供标头名称的Python脚本-

from pandas import read_csv
path = r"C:\pima-indians-diabetes.csv"
headernames = [preg, plas, pres, skin, test, mass, pedi, age, class]
data = read_csv(path, names=headernames)
print(data.shape)
print(data[:3])
(768, 9)
   preg  plas    pres  skin  test  mass   pedi  age  class
0     6   148      72    35     0  33.6  0.627   50      1
1     1    85      66    29     0  26.6  0.351   31      0
2     8   183      64     0     0  23.3  0.672   32      1

借助给定的示例,可以轻松理解上面使用的三种加载CSV数据文件的方法之间的区别。

机器学习 - 数据加载 - 无涯教程网无涯教程网提供假设如果要启动ML项目,那么您需要做的第一件事也是最重要的事情是什么?这是无涯教程...https://www.learnfk.com/python-machine-learning/machine-learning-with-python-data-loading-for-ml-projects.html

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

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

相关文章

网络字节序——TCP接口及其实现简单TCP服务器

网络字节序——TCP接口及其实现简单TCP服务器 文章目录 网络字节序——TCP接口及其实现简单TCP服务器简单TCP服务器的实现1. 单进程版:客户端串行版2. 多进程版:客户端并行版netstat查看网络信息3.多线程版:并行执行log.hpp 守护进程fg、bg s…

BI技巧丨Window应用之同环比

白茶曾介绍过OFFSET可以用来解决同环比的问题&#xff0c;其实微软最近推出的开窗函数WINDOW也可以用来解决同环比。 WINDOW函数基础语法 WINDOW ( from[, from_type], to[, to_type][, <relation>][, <orderBy>][, <blanks>][, <partitionBy>][, &l…

[论文分享]Skip-Attention: Improving Vision Transformers by Paying Less Attention

Skip-Attention: Improving Vision Transformers by Paying Less Attention 这项工作旨在提高视觉transformer&#xff08;ViT&#xff09;的效率。 虽然 ViT 在每一层都使用计算昂贵的自我注意操作&#xff0c;但我们发现这些操作在各层之间高度相关——这是导致不必要的计算的…

计算机网络-笔记-第二章-计算机网络概述

目录 二、第二章——物理层 1、物理层的基本概念 2、物理层下面的传输媒体 &#xff08;1&#xff09;光纤、同轴电缆、双绞线、电力线【导引型】 &#xff08;2&#xff09;无线电波、微波、红外线、可见光【非导引型】 &#xff08;3&#xff09;无线电【频谱的使用】 …

linux问题定位

1.CPU工作原理 2.Linux内存分配 3.栈 1&#xff09;.存储局部变量 函数参数 函数返回值的地方 2&#xff09;.每个线程的栈空间连续且相互独立 3&#xff09;.使用 x /100a $esp 可以看到栈内存中的原始数据 3.函数调用过程 函数调用过程在栈中如何组织数据的 4.堆 三级堆管理…

研磨设计模式day13组合模式

目录 场景 不用模式实现 代码实现 有何问题 解决方案 代码改造 组合模式优缺点 思考 何时选用 场景 不用模式实现 代码实现 叶子对象 package day14组合模式;/*** 叶子对象*/ public class Leaf {/*** 叶子对象的名字*/private String name "";/**…

KVM虚拟化平台安装及创建虚拟机

文章目录 一、KVM 简介二、安装KVM虚拟化平台1、方式一&#xff1a;安装操作系统时&#xff0c;添加虚拟化功能2、方式二&#xff1a;基于现有系统&#xff0c;安装虚拟化功能3、验证KVM安装是否无误 三、创建虚拟机1、创建虚拟机前环境准备工作2、创建CentOS7.5系统虚拟机 一、…

网工必备知识之——防火墙篇

目录 一、背景 二、类型 2.1.过滤防火墙 2.2.应用网关防火墙 2.3.服务防火墙 2.4.监控防火墙 三、功能 3.1.网络安全屏障 3.2.网络安全策略 3.3.进行监控审计 3.4.防止内部信息的外泄 四、五个安全域 五、三种工作模式 5.1交换模式(二层模式): 5.2路由模式(三层…

恶意软件分析和取证:深入研究各类恶意软件,讨论分析技术和数字取证方法,了解攻击者的行为和动机

章节一&#xff1a;引言 在当今数字化的世界中&#xff0c;恶意软件的威胁不断演化&#xff0c;给个人、企业 ja 尤其是政府带来了巨大的安全风险。恶意软件如病毒、木马、蠕虫等形式多样&#xff0c;攻击手段不断升级&#xff0c;导致了信息泄露、财产损失 ja 甚至国家安全的…

【深度学习】实验02 鸢尾花数据集分析

文章目录 鸢尾花数据集分析决策树K-means 鸢尾花数据集分析 决策树 # 导入机器学习相关库 from sklearn import datasets from sklearn import treeimport matplotlib.pyplot as plt import numpy as np# Iris数据集是常用的分类实验数据集&#xff0c; # 由Fisher, 1936收集…

CFC编程入门_【10分钟学会】

什么是CFC&#xff1a; 【差不多10分钟全学会】 CFC是图形化编程&#xff0c; 跟单片机的连线一样&#xff0c; 唯一的区别&#xff1a;功能块右侧是【只能输出】引脚。 只有左侧引脚可以输入输出。 有哪些控件&#xff1a; 指针&#xff1a;用于拖动功能块。 控制点&#xf…

C#将text文本中的单双行分开单独保存

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 文本的分割1.设定text文件的名称为02.文本导出 文本的分割 1.设定text文件的名称为0 代码如下&#xff1a; using System; using System.Collections.Generic; us…

【Seata】01 - Seata XA 模式 Demo 调用流程分析

文章目录 前言参考目录版本说明前置知识1、关于事务的理论知识2、关于 Seata3、Seata 领域模型 测试 Demo1、模块说明2、调用逻辑说明3、分析流程说明4、注意事项 Seata XA 模式 Commit 调用流程分析1、调用流程图2、XA 模式流程以及操作命令3、业务模块&#xff1a;流程入口3.…

掌握Six Sigma:逐步解锁业务流程优化的秘密之匙

一、Six Sigma方法简介 1. Six Sigma的起源和概念 Six Sigma起源于1980年代的摩托罗拉公司。当时的摩托罗拉在面临激烈的全球竞争和持续的质量问题时&#xff0c;发明了这种系统的管理方法&#xff0c;并通过实施&#xff0c;获得了显著的成绩。 所谓的“Six Sigma”&#x…

Tensorflow2.0搭建网络八股

目录 引言&#xff1a;keras与Tensorflow2.0结合 一、六步法 1.导入头文件&#xff1a;import 2.收集处理训练集和测试集&#xff1a;train, test&#xff1a; 3.描述各层网model tf.keras.models.Sequential&#xff1a; 4.描述使用什么优化反向传播&#xff1a;model.c…

Python中使用print()时如何实现不换行

平时刷题的时候大家可能会发现打印字符的时候需要你不换行才能得到正确答案&#xff0c;那么如何实现的。下面直接看例子。 使用print()函数时其实还有个默认的参数end&#xff0c;来看看具体怎么回事 list [a,b,c] for i in list:print(i)打印结果&#xff1a;在这里插入代…

【C/C++】父类指针指向子类对象 | 隐藏

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

CleanMyMac最新版4.14Mac清理软件下载安装使用教程

苹果电脑是很多人喜欢使用的一种电脑&#xff0c;它有着优美的外观&#xff0c;流畅的操作系统&#xff0c;丰富的应用程序和高效的性能。但是&#xff0c;随着时间的推移&#xff0c;苹果电脑也会产生一些不必要的文件和数据&#xff0c;这些文件和数据就是我们常说的垃圾。那…

docker服务如何正确关停

说明&#xff1a;停止 docker 服务之前&#xff0c;先把所有的容器都停掉&#xff0c;如果没停掉&#xff0c;再重启 docker 服务之后&#xff0c;所有的容器就会成为 Exited 状态。如果你只是想停止 docker 服务&#xff0c;docker 中的容器还继续提供服务&#xff0c;需要在d…

NVIDIA DLI 深度学习基础 答案 领取证书

最后一节作业是水果分类的任务&#xff0c;一共6类&#xff0c;使用之前学习的知识在代码段上进行填空。 加载ImageNet预训练的基础模型 from tensorflow import kerasbase_model keras.applications.VGG16(weights"imagenet",input_shape(224, 224, 3),include_t…