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

假设如果要启动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.rhkb.cn/news/107455.html

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

相关文章

RocketMQ同步复制和异步复制

如果一个Broker组有Master和Slave,消息需要从Master复制到Slave上,有同步和异步两种复制方式。 1)同步复制 同步复制方式是等Master和Slave均写成功后才反馈给客户端写成功状态; 在同步复制方式下,如果Master出故障&#xff0c…

【数据结构】如何用栈实现队列?图文解析(LeetCode)

LeetCode链接:232. 用栈实现队列 - 力扣(LeetCode) 注:本文默认读者已掌握栈与队列的基本操作 可以看这篇文章熟悉知识点:【数据结构】栈与队列_字节连结的博客-CSDN博客 目录 做题思路 代码实现 1. MyQueue 2. …

【Python】从入门到上头—Python基础(2)

文章目录 一.基础语法1.编码2.标识符3.保留字4.注释5.行与缩进6.多行语句7.数字(Number)类型8.字符串(String)9.空行10.等待用户输入11.同一行显示多条语句12.多个语句构成代码组13.print 输出14.import 与 from...import 二.基本数据类型1.变量和赋值2.多个变量赋值3.标准数据…

2023.8 -java - 继承

继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。 继承的特性 子类拥有父类非 private 的属性、方法。 子类可以拥有自己的属性和方法…

数据库连接池druid 的jar包官网下载-最新版下载

进入官网Central Repository: com/alibaba/druid 往下滑 找到最新版点击进入 找到该jar包 点击即可下载

【HCIP】04.VRRP与BFD

VRRP VRRP基本概念 VRRP路由器 运行VRRP协议的路由器,VRRP是配置在路由器的接口上的,而且也是基于接口来工作的。 VRID 一个VRRP组由多台协同工作的路由器(的接口)组成,使用相同的VRID(Virtual Router…

视频转gif制作怎么制作?视频转gif在线一键转换工具

gif图片可以用于网站和应用程序的界面设计,通过将视频内容转换为gif图像,可以在网站加载过程中显示加载动画、创建交互效果或提供引导,所以今天分享一个快速视频转gif图片(https://www.gif.cn)的方法,利用视…

API 网关基础

目录 一、网关概述二、网关提供的功能三、常见网关系统3.1 Netflix Zuul3.2 Spring Cloud Gateway3.3 Kong3.4 APISIX3.5 Shenyu 一、网关概述 API网关是一个服务器,是系统的唯一入口。 从面向对象设计的角度看,它与外观模式类似。API网关封装了系统内部…

8、Spring_整合Mybatis

五、Spring整合Mybatis 1.添加依赖 添加依赖 <dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.2.17.RELEASE</version></dependency><depend…

00-音视频-概述

有很多场合会使用的音视频&#xff0c;比如安防、视频闸机、影音播放器、视频通话&#xff0c;短视频等等。 从摄像头采集到用户观看&#xff0c;这中间涉及到了很多技术。 用户一般观看的高清视频1080P30帧。若按24位RGB对视频进行存储&#xff0c;一个60分钟视频所占空间 …

百度工程师浅析解码策略

作者 | Jane 导读 生成式模型的解码方法主要有2类&#xff1a;确定性方法&#xff08;如贪心搜索和波束搜索&#xff09;和随机方法。确定性方法生成的文本通常会不够自然&#xff0c;可能存在重复或过于简单的表达。而随机方法在解码过程中引入了随机性&#xff0c;以便生成更…

什么是数据中心IP,优缺点是什么?

如果根据拥有者或者说发送地址来分类的话&#xff0c;可以将代理分为三类&#xff1a;数据中心ip,住宅ip,移动ip 本文我们来了解数据中心ip的原理以及他们的优势劣势&#xff0c;才能选择适合自己的代理。 一、什么是数据中心ip代理&#xff1f; 数据中心ip是由数据中心拥有…

15. Canvas制作汽车油耗仪表盘

1. 说明 本篇文章在14. 利用Canvas组件制作时钟的基础上进行一些更改&#xff0c;想查看全面的代码可以点击链接查看即可。 效果展示&#xff1a; 2. 整体代码 import QtQuick 2.15 import QtQuick.Controls 2.15Item{id:rootimplicitWidth: 400implicitHeight: implicitWi…

精准高效农业作业,植保无人机显身手

中国作为农业大国&#xff0c;拥有约18亿亩的农田&#xff0c;每年都需要进行种子喷洒和农药施用等农业作业&#xff0c;对于普通农户来说&#xff0c;这是一项耗时耗力的工程&#xff0c;同时&#xff0c;人工喷洒农药极易造成农药慢性中毒&#xff0c;对农民的身体健康产生极…

Unity3D软件安装包分享(附安装教程)

目录 一、软件简介 二、软件下载 一、软件简介 Unity3D是一款全球知名的游戏开发引擎&#xff0c;由Unity Technologies公司开发。它提供了一个跨平台、多功能的开发环境&#xff0c;支持创建2D和3D游戏、交互式应用、虚拟现实、增强现实等多种类型的应用程序。以下是Unity3D…

ChatGPT在高等教育中的应用利弊探讨

​人工智能在教育领域的应用日益广泛。2022年11月OpenAI开发的聊天机器人ChatGPT在全球范围内流传开来&#xff0c;其中用户数量最多的国家是美国(15.22%)。由于ChatGPT应用广泛&#xff0c;具有类似人类回答问题的能力&#xff0c;它正在成为许多学生和教育工作者的可信赖伙伴…

本地生活服务平台加盟哪家公司好?

本地生活的竞争从年初的火热到现在&#xff0c;已经进入了下半场&#xff0c;随着优胜劣汰的筛选&#xff0c;那么直到现在&#xff0c;想做本地生活服务平台加盟&#xff0c;哪家公司比较好呢&#xff0c;应该如何选择呢&#xff1f; 首先我们得弄懂&#xff0c;我们加盟本地…

《向量数据库指南》——什么叫“AI 向量数据库”,它和我们日常理解的数据库有什么不同?

我认为"AI 向量数据库"这个概念非常切合实际,它类似于关系数据库在交易领域的作用。个人观点是,向量数据库实际上是为了人工智能而生的。一方面,向量数据库的数据完全源自于人工智能技术。另一方面,对于 AI 应用而言,向量数据库也是至关重要的基础设施。 至于…

idea http request无法识别环境变量

问题描述 创建了环境变量文件 http-client.env.json&#xff0c;然后在*.http 文件中引用环境变量&#xff0c;运行 HTTP 请求无法读取环境变量文件中定义的变量。 事故现场 IDEA 版本&#xff1a;2020.2 2021.2 解决步骤 2020.2 版本环境变量无法读取 2021.2 版本从 2020.…

【Java笔记】分布式id生成-雪花算法

随着业务的增长&#xff0c;有些表可能要占用很大的物理存储空间&#xff0c;为了解决该问题&#xff0c;后期使用数据库分片技术。将一个数据库进行拆分&#xff0c;通过数据库中间件连接。如果数据库中该表选用ID自增策略&#xff0c;则可能产生重复的ID&#xff0c;此时应该…