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

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

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


数据关系

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

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

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

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

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

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

结语

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

目录
打赏
0
0
0
0
5
分享
相关文章
Pandas数据应用:机器学习预处理
本文介绍如何使用Pandas进行机器学习数据预处理,涵盖数据加载、缺失值处理、类型转换、标准化与归一化及分类变量编码等内容。常见问题包括文件路径错误、编码不正确、数据类型不符、缺失值处理不当等。通过代码案例详细解释每一步骤,并提供解决方案,确保数据质量,提升模型性能。
175 88
MT-MegatronLM:国产训练框架逆袭!三合一并行+FP8黑科技,大模型训练效率暴涨200%
MT-MegatronLM 是摩尔线程推出的面向全功能 GPU 的开源混合并行训练框架,支持多种模型架构和高效混合并行训练,显著提升 GPU 集群的算力利用率。
68 18
DistilQwen2.5蒸馏小模型在PAI-ModelGallery的训练、评测、压缩及部署实践
DistilQwen2.5 是阿里云人工智能平台 PAI 推出的全新蒸馏大语言模型系列。通过黑盒化和白盒化蒸馏结合的自研蒸馏链路,DistilQwen2.5各个尺寸的模型在多个基准测试数据集上比原始 Qwen2.5 模型有明显效果提升。这一系列模型在移动设备、边缘计算等资源受限的环境中具有更高的性能,在较小参数规模下,显著降低了所需的计算资源和推理时长。阿里云的人工智能平台 PAI,作为一站式的机器学习和深度学习平台,对 DistilQwen2.5 模型系列提供了全面的技术支持。本文详细介绍在 PAI 平台使用 DistilQwen2.5 蒸馏小模型的全链路最佳实践。
基于机器学习的数据分析:PLC采集的生产数据预测设备故障模型
本文介绍如何利用Python和Scikit-learn构建基于PLC数据的设备故障预测模型。通过实时采集温度、振动、电流等参数,进行数据预处理和特征提取,选择合适的机器学习模型(如随机森林、XGBoost),并优化模型性能。文章还分享了边缘计算部署方案及常见问题排查,强调模型预测应结合定期维护,确保系统稳定运行。
82 0
机器学习在生物信息学中的创新应用:解锁生物数据的奥秘
机器学习在生物信息学中的创新应用:解锁生物数据的奥秘
341 36
阿里云PAI发布DeepRec Extension,打造稳定高效的分布式训练,并宣布开源!
阿里云PAI发布DeepRec Extension,打造稳定高效的分布式训练,并宣布开源!
Diff-Instruct:指导任意生成模型训练的通用框架,无需额外训练数据即可提升生成质量
Diff-Instruct 是一种从预训练扩散模型中迁移知识的通用框架,通过最小化积分Kullback-Leibler散度,指导其他生成模型的训练,提升生成性能。
107 11
Diff-Instruct:指导任意生成模型训练的通用框架,无需额外训练数据即可提升生成质量
|
2月前
如何看PAI产品下训练(train)模型任务的费用细节
PAI产品下训练(train)模型任务的费用细节
105 6
Qwen2.5-Coder 系列模型在 PAI-QuickStart 的训练、评测、压缩及部署实践
阿里云的人工智能平台 PAI,作为一站式、 AI Native 的大模型与 AIGC 工程平台,为开发者和企业客户提供了 Qwen2.5-Coder 系列模型的全链路最佳实践。本文以Qwen2.5-Coder-32B为例,详细介绍在 PAI-QuickStart 完成 Qwen2.5-Coder 的训练、评测和快速部署。
Qwen2.5-Coder 系列模型在 PAI-QuickStart 的训练、评测、压缩及部署实践
跨越鸿沟:PAI-DSW 支持动态数据挂载新体验
本文讲述了如何在 PAI-DSW 中集成和利用 Fluid 框架,以及通过动态挂载技术实现 OSS 等存储介质上数据集的快速接入和管理。通过案例演示,进一步展示了动态挂载功能的实际应用效果和优势。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等