如何使用OpenBayes的数据集进行模型训练

目前机器学习竞赛中使用的数据集大小基本都有几十到几百MB,有的甚至达到GB级别,对于想使用jupyter进行训练的来说每次上传都会浪费很多时间,如果是使用算力平台的jupyter上传的话还会浪费算力,所以最好的方法就是在使用算力资源之前先将数据集上传到算力平台提供的数据存储空间中,例如OpenBayes就提供了数据仓库功能来存储数据,下面详细介绍一下使用流程:

OpenBayes注册使用地址:
openbayes.com/console/sig...

新用户注册完成手机号及邮箱双重验证后,即可获得4小时RTX 4090、5小时CPU 免费使用时长以及免费存储空间 50 GB。

进入数据集页面

在使用上面的链接注册登录之后,进入【数据仓库】目录下的【数据集】页面,可以看到我已经上传了多个数据集。

​编辑

创建新的数据集

点击右上角的【创建新数据集】,就进入了填写基本信息的页面,填写完毕后点击左下角【创建数据集】,再点击右上角的【创建空版本】,到这里就创建这个数据集的v1版本,如果数据有更新但又不想创建另一个数据集直接再创建另一个v2版本上传即可,不需要再将容器绑定新的数据集。

上传本地数据集

点击【上传至当前目录】,就可以从本地上传数据集文件,OpenBayes提供了50GB的免费存储空间,对于相对小规模数据的训练来说足够了。在数据集上传的过程中不要关闭该页面,会中断上传流程。

绑定数据集至容器

结合t.csdnimg.cn/IbwSk我在上一篇文章已经介绍的新容器创建过程,在基本信息页面进行数据绑定,可以选择只读绑定和读写绑定,然后选择算力资源执行容器即可。

在Jupyter中加载数据

在Jupyter页面可以看到我们绑定的数据,在代码中读取数据的路径为'../input0/##',如果绑定了多个数据集,则将input后的数字按序列增加即可,至此,我们实现了在jupyter内使用数据集。

使用pandas读取数据

数据读取

ini 复制代码
import pandas as pd
import numpy as np

train = pd.read_csv('../input0/train.csv')
test = pd.read_csv('../input0/test.csv')

数据基本信息

ini 复制代码
def data_stats(data):
    stats = []
    for col in data.columns:
        stats.append((col, data[col].nunique(),
                      round(data[col].value_counts(normalize = True, dropna = False).values[0] * 100, 3),
                      data[col].dtype))
        stats_df = pd.DataFrame(stats, columns = ['特征','属性个数','最大属性占比','特征类型'])
    return stats_df

data_stats(train)
data_stats(test)
特征 属性个数 最大属性占比 特征类型
0 id 5832 0.017 object
1 dt 496 0.203 int64
2 type 19 20.722 int64
3 target 181304 0.004 float64
特征 属性个数 最大属性占比 特征类型
0 id 5832 0.017 object
1 dt 10 10.000 int64
2 type 19 20.645 int64

数据可视化

ini 复制代码
import matplotlib.pyplot as plt
type_target_df = train.groupby('type')['target'].mean().reset_index()
plt.figure(figsize=(8, 4))
plt.bar(type_target_df['type'], type_target_df['target'], color=['#5ba2e6', '#f89732'])
plt.xlabel('Type')
plt.ylabel('Average Target Value')
plt.title('Bar Chart of Target by Type')
plt.show()
ini 复制代码
specific_id_df = train[train['id'] == '00037f39cf']
plt.figure(figsize=(15, 5))
plt.plot(specific_id_df['dt'], specific_id_df['target'], marker='o', linestyle='-', color = '#5ba2e6')
plt.xlabel('DateTime')
plt.ylabel('Target Value')
plt.title("Line Chart of Target for ID '00037f39cf'")
plt.show()

Openbayes提供了丰富的算力资源,最高可以提供96核CPU,192GB显存,320GB内存,800GB工作空间,高质量算力首选Openbayes!

相关推荐
Ahern_37 分钟前
Oracle 普通表至分区表的分区交换
大数据·数据库·sql·oracle
夜半被帅醒1 小时前
MySQL 数据库优化详解【Java数据库调优】
java·数据库·mysql
不爱学习的啊Biao1 小时前
【13】MySQL如何选择合适的索引?
android·数据库·mysql
破 风1 小时前
SpringBoot 集成 MongoDB
数据库·mongodb
Rverdoser1 小时前
MySQL-MVCC(多版本并发控制)
数据库·mysql
m0_748233642 小时前
SQL数组常用函数记录(Map篇)
java·数据库·sql
dowhileprogramming2 小时前
Python 中的迭代器
linux·数据库·python
0zxm3 小时前
08 Django - Django媒体文件&静态文件&文件上传
数据库·后端·python·django·sqlite
Minxinbb7 小时前
MySQL中Performance Schema库的详解(上)
数据库·mysql·dba
mmsx8 小时前
android sqlite 数据库简单封装示例(java)
android·java·数据库