机器学习第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()

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

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


数据关系

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

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

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

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

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

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

结语

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

相关文章
|
9天前
|
人工智能 边缘计算 JSON
DistilQwen2 蒸馏小模型在 PAI-QuickStart 的训练、评测、压缩及部署实践
本文详细介绍在 PAI 平台使用 DistilQwen2 蒸馏小模型的全链路最佳实践。
|
17天前
|
机器学习/深度学习 数据采集 数据处理
谷歌提出视觉记忆方法,让大模型训练数据更灵活
谷歌研究人员提出了一种名为“视觉记忆”的方法,结合了深度神经网络的表示能力和数据库的灵活性。该方法将图像分类任务分为图像相似性和搜索两部分,支持灵活添加和删除数据、可解释的决策机制以及大规模数据处理能力。实验结果显示,该方法在多个数据集上取得了优异的性能,如在ImageNet上实现88.5%的top-1准确率。尽管有依赖预训练模型等限制,但视觉记忆为深度学习提供了新的思路。
22 2
|
25天前
|
机器学习/深度学习 数据采集 人工智能
浅谈机器学习,聊聊训练过程,就酱!
本故事讲的是关于机器学习的基本概念和训练过程。通过这个故事,你将对机器学习有一个直观的了解。随后,当你翻阅关于机器学习的书籍时,也许会有不同的感受。如果你有感觉到任督二脉被打通了,那我真是太高兴了。如果没有,我再努努力 ヘ(・_|
37 0
浅谈机器学习,聊聊训练过程,就酱!
|
1月前
|
机器学习/深度学习 存储 人工智能
揭秘机器学习背后的神秘力量:如何高效收集数据,让AI更懂你?
【10月更文挑战第12天】在数据驱动的时代,机器学习广泛应用,从智能推荐到自动驾驶。本文以电商平台个性化推荐系统为例,探讨数据收集方法,包括明确数据需求、选择数据来源、编写代码自动化收集、数据清洗与预处理及特征工程,最终完成数据的训练集和测试集划分,为模型训练奠定基础。
49 3
|
1月前
|
机器学习/深度学习 算法 Python
“探秘机器学习的幕后英雄:梯度下降——如何在数据的海洋中寻找那枚失落的钥匙?”
【10月更文挑战第11天】梯度下降是机器学习和深度学习中的核心优化算法,用于最小化损失函数,找到最优参数。通过计算损失函数的梯度,算法沿着负梯度方向更新参数,逐步逼近最小值。常见的变种包括批量梯度下降、随机梯度下降和小批量梯度下降,各有优缺点。示例代码展示了如何用Python和NumPy实现简单的线性回归模型训练。掌握梯度下降有助于深入理解模型优化机制。
30 2
|
1月前
|
机器学习/深度学习 算法 决策智能
【机器学习】揭秘深度学习优化算法:加速训练与提升性能
【机器学习】揭秘深度学习优化算法:加速训练与提升性能
|
2月前
|
存储 人工智能 并行计算
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)进一步打造大模型训练加速技术生态,推出更多的的训练加速、显存优化特性。
|
2月前
|
机器学习/深度学习 数据采集 监控
探索机器学习:从数据到决策
【9月更文挑战第18天】在这篇文章中,我们将一起踏上一段激动人心的旅程,穿越机器学习的世界。我们将探讨如何通过收集和处理数据,利用算法的力量来预测未来的趋势,并做出更加明智的决策。无论你是初学者还是有经验的开发者,这篇文章都将为你提供新的视角和思考方式。
|
1月前
|
机器学习/深度学习 算法 数据处理
EM算法对人脸数据降维(机器学习作业06)
本文介绍了使用EM算法对人脸数据进行降维的机器学习作业。首先通过加载ORL人脸数据库,然后分别应用SVD_PCA、MLE_PCA及EM_PCA三种方法实现数据降维,并输出降维后的数据形状。此作业展示了不同PCA变种在人脸数据处理中的应用效果。
35 0
|
2月前
|
机器学习/深度学习 数据采集 算法
利用未标记数据的半监督学习在模型训练中的效果评估
本文将介绍三种适用于不同类型数据和任务的半监督学习方法。我们还将在一个实际数据集上评估这些方法的性能,并与仅使用标记数据的基准进行比较。
230 8

热门文章

最新文章

下一篇
无影云桌面