机器学习第2天:训练数据的获取与处理

简介: 机器学习第2天:训练数据的获取与处理

数据的获取

我们知道机器学习的关键是数据和算法,提到数据,我们必须要有在这个大数据时代挑选我们需要的,优质的数据来训练我们的模型,这里分享几个数据获取平台

Kaggle Datasets Find Open Datasets and Machine Learning Projects | Kaggle

UC Home - UCI Machine Learning Repository


简单的数据操作

数据保存

我们收集到的数据有时是杂乱的,这时我们可以用python的pandas库来将数据保存为csv格式(excel表的一种格式)

以下是一个简单示例

import pandas as pd
dic = {'name': ['mike', 'tom', 'jane'], 'height': [178, 155, 163]}
df1 = pd.DataFrame(dic) # 将字典转化为DataFrame格式,这是一种pandas适配的二维存储格式
df1.to_csv("test.csv", index=False)

举一反三,当我们获取到数据的时候,将它们保存为列表并设置索引后,就可以如示例一样保存为csv文件了,这里将index设置为False,否则会多出来一行索引列,之后我们读取数据时可以直接按序号索引,所以不必多出这一行

打开文件效果如下


数据的读取

我们同样是用pandas来处理数据,使用刚刚的文件,一个简单示例如下

import pandas as pd
s = pd.read_csv("test.csv")
print(s)

运行结果如下


数据的操作

一个基本的操作csv表的方式就是按行按列索引了,我们同样按之前的文件来举个简单的例子

(1)按列索引

import pandas as pd
s = pd.read_csv("test.csv")
print(s["name"])

运行结果

(2)按行索引

注意,当我们直接这样按行索引,是会报错的

import pandas as pd
s = pd.read_csv("test.csv")
print(s[0])

这里我们介绍一种非常方便的索引方法,往下看

(3)iloc索引

iloc是一个通用的数据索引方法,让我们来看看怎么用吧

s.iloc[行,列] #一个伪代码

iloc的参数用逗号隔开,前面是行的位置,后面是列的位置,例如

import pandas as pd
s = pd.read_csv("test.csv")
print(s.iloc[0, 0])

我们将获得第一行第一列的值

iloc也支持切片操作,例如

import pandas as pd
s = pd.read_csv("test.csv")
print(s.iloc[:, 0])

将打印第一列的所有行


数据分析示例

在这一部分我们以经典的鸢尾花数据集为例,简单介绍一下:鸢尾花数据集包括了花的种类,花瓣和花萼的长度与宽度,共五列数据,然后我们要训练一个通过花瓣,花萼长宽数据来判断品种的机器学习模型,机器学习的任务请参考这篇文章:机器学习第一天:概念与体系漫游-CSDN博客

部分数据如下


数据特征

我们来分析这个数据集的特征

value_counts()

import pandas as pd
iris = pd.read_csv("/kaggle/input/iris-flower-dataset/IRIS.csv")
iris['species'].value_counts()

这里我们读取了数据集并命名为iris,然后我们统计species这一列的数据数量,得到

可以看到,三种花的种类的数据各50个

describe()

iris.describe()

这个方法可以获得所有数字列的数字特征

如图可见,给出了我们数字列的数据个数,平均数,标准差,最小值等 ,通过这个方法我们可以遍观整个数据集


数据关系

接下来我们查看数据关系,这里不对具体代码做说明,仅分析意义,有兴趣的读者可以去搜索鸢尾花分类任务详细了解

我们将花萼的长和宽以散点图的形式绘制出来

再将花瓣的长和宽绘制出来

明显可以看到,花瓣长宽图中不同颜色的点(代表不同花的种类)比花萼长宽图中更加分布鲜明

这就代表,不同的鸢尾花品种,花瓣的长宽一般有很大区别,那我们在训练模型的时候就可以把花瓣长宽作为数据训练,得到的模型效果将比用花萼长宽训练出来的效果更好

这就是数据分析的意义之一:找到强特征

结语

数据的获取,处理与分析是机器学习中一个重要的过程,好的数据分析与好的算法一样重要,数据分析有许多方法,这里仅带读者了解一下,欢迎收藏,之后也许还会补充内容

相关文章
|
10天前
|
存储 人工智能 并行计算
Pai-Megatron-Patch:围绕Megatron-Core打造大模型训练加速生态
Pai-Megatron-Patch(https://github.com/alibaba/Pai-Megatron-Patch)是阿里云人工智能平台PAI研发的围绕Nvidia MegatronLM的大模型开发配套工具,旨在帮助开发者快速上手大模型,完成大模型(LLM)相关的高效分布式训练,有监督指令微调,下游任务评估等大模型开发链路。最近一年来,我们持续打磨Pai-Megatron-Patch的性能和扩展功能,围绕Megatron-Core(以下简称MCore)进一步打造大模型训练加速技术生态,推出更多的的训练加速、显存优化特性。
|
14天前
|
机器学习/深度学习 数据采集 监控
探索机器学习:从数据到决策
【9月更文挑战第18天】在这篇文章中,我们将一起踏上一段激动人心的旅程,穿越机器学习的世界。我们将探讨如何通过收集和处理数据,利用算法的力量来预测未来的趋势,并做出更加明智的决策。无论你是初学者还是有经验的开发者,这篇文章都将为你提供新的视角和思考方式。
|
18天前
|
机器学习/深度学习 数据采集 算法
利用未标记数据的半监督学习在模型训练中的效果评估
本文将介绍三种适用于不同类型数据和任务的半监督学习方法。我们还将在一个实际数据集上评估这些方法的性能,并与仅使用标记数据的基准进行比较。
30 8
|
23天前
|
机器学习/深度学习 Python
训练集、测试集与验证集:机器学习模型评估的基石
在机器学习中,数据集通常被划分为训练集、验证集和测试集,以评估模型性能并调整参数。训练集用于拟合模型,验证集用于调整超参数和防止过拟合,测试集则用于评估最终模型性能。本文详细介绍了这三个集合的作用,并通过代码示例展示了如何进行数据集的划分。合理的划分有助于提升模型的泛化能力。
|
2月前
|
机器学习/深度学习 资源调度 分布式计算
阿里PAI-ChatLearn:大规模 Alignment高效训练框架正式开源
PAI-ChatLearn现已全面开源,助力用户快速、高效的Alignment训练体验。借助ChatLearn,用户可全身心投入于模型设计与效果优化,无需分心于底层技术细节。ChatLearn将承担起资源调度、数据传输、参数同步、分布式运行管理以及确保系统高效稳定运作的重任,为用户提供一站式解决方案。
|
2月前
|
监控 数据安全/隐私保护 异构计算
借助PAI-EAS一键部署ChatGLM,并应用LangChain集成外部数据
【8月更文挑战第8天】借助PAI-EAS一键部署ChatGLM,并应用LangChain集成外部数据
63 1
|
2月前
|
机器学习/深度学习 数据采集 人工智能
揭秘大型机器学习模型背后的秘密:如何在技术深度与广度之间找到完美平衡点,探索那些鲜为人知的设计、训练与部署技巧,让你的作品脱颖而出!
【8月更文挑战第21天】大型机器学习模型是人工智能的关键方向,借助不断增强的计算力和海量数据,已实现在学术与产业上的重大突破。本文深入探讨大型模型从设计到部署的全过程,涉及数据预处理、模型架构(如Transformer)、训练技巧及模型压缩技术,旨在面对挑战时提供解决方案,促进AI技术的实用化进程。
45 1
|
2月前
|
数据采集 机器学习/深度学习 算法
"揭秘数据质量自动化的秘密武器:机器学习模型如何精准捕捉数据中的‘隐形陷阱’,让你的数据分析无懈可击?"
【8月更文挑战第20天】随着大数据成为核心资源,数据质量直接影响机器学习模型的准确性和效果。传统的人工审查方法效率低且易错。本文介绍如何运用机器学习自动化评估数据质量,解决缺失值、异常值等问题,提升模型训练效率和预测准确性。通过Python和scikit-learn示例展示了异常值检测的过程,最后强调在自动化评估的同时结合人工审查的重要性。
55 2
|
2月前
|
机器学习/深度学习 分布式计算 Cloud Native
云原生架构下的高性能计算解决方案:利用分布式计算资源加速机器学习训练
【8月更文第19天】随着大数据和人工智能技术的发展,机器学习模型的训练数据量和复杂度都在迅速增长。传统的单机训练方式已经无法满足日益增长的计算需求。云原生架构为高性能计算提供了新的可能性,通过利用分布式计算资源,可以在短时间内完成大规模数据集的训练任务。本文将探讨如何在云原生环境下搭建高性能计算平台,并展示如何使用 PyTorch 和 TensorFlow 这样的流行框架进行分布式训练。
70 2
|
2月前
|
机器学习/深度学习 JSON API
【Python奇迹】FastAPI框架大显神通:一键部署机器学习模型,让数据预测飞跃至Web舞台,震撼开启智能服务新纪元!
【8月更文挑战第16天】在数据驱动的时代,高效部署机器学习模型至关重要。FastAPI凭借其高性能与灵活性,成为搭建模型API的理想选择。本文详述了从环境准备、模型训练到使用FastAPI部署的全过程。首先,确保安装了Python及相关库(fastapi、uvicorn、scikit-learn)。接着,以线性回归为例,构建了一个预测房价的模型。通过定义FastAPI端点,实现了基于房屋大小预测价格的功能,并介绍了如何运行服务器及测试API。最终,用户可通过HTTP请求获取预测结果,极大地提升了模型的实用性和集成性。
136 1
下一篇
无影云桌面