📜  如何获取用于机器学习的数据集(1)

📅  最后修改于: 2023-12-03 14:53:16.379000             🧑  作者: Mango

如何获取用于机器学习的数据集

在机器学习中,数据集是非常重要的资源。但是,如何获取适用于机器学习的数据集呢?本文将为您介绍获取数据集的几种方式。

1. 公共数据集

有很多公共数据集可以供您使用。以下是一些常用的机器学习数据集:

  • MNIST:手写数字数据集,包含60,000张训练图片和10,000张测试图片。链接
  • CIFAR-10/100:用于图像分类的数据集,包含10种和100种物体的图片。链接
  • IMDB:用于情感分类的数据集,包含25,000个电影评论的文本数据。链接
  • Labeled Faces in the Wild:用于人脸识别的数据集,包含13,233个人脸样本。链接

这些公共数据集的好处在于,您可以轻松地获取它们,而无需自己花费时间和精力来收集数据。此外,这些数据集已经被广泛使用,并因此成为了研究领域的一个共同基准。

2. 网络爬虫

网上的数据类别非常丰富,但您可能不会找到希望的数据集。在这种情况下,您可以使用网络爬虫来收集数据。网络爬虫可以在网站上抓取数据,并将其保存在本地计算机上。

最常见的爬虫是Python中的BeautifulSoup和Scrapy库。以下是具体的爬虫过程:

import requests
from bs4 import BeautifulSoup
import pandas as pd

url = "https://www.example.com" # 网站的URL地址
response = requests.get(url)

soup = BeautifulSoup(response.text, "html.parser")
data = []    # 存储所需数据

# 解析网页并存储所需数据到data中

df = pd.DataFrame(data)
df.to_csv("data.csv")  # 将数据保存到本地计算机

需要注意的是,爬虫可能需要大量的时间和精力来获取数据。此外,我们使用爬虫时必须遵守网站的使用协议。

3. 自己创造数据集

有时候,我们需要的数据集可能不存在,这时候你可以自己创造数据集。创造自己的数据集有一个好处,就是可以针对您的具体问题定制数据集。

例如,如果您想对自己的手写数字进行分类,您可以自己写下数字,并将这些数字保存在数字文件夹中。这是将数据保存为图像文件的最简单方法。

import cv2

def save_img(num, label):
    img = np.zeros((500, 500), np.uint8)
    font = cv2.FONT_HERSHEY_SIMPLEX
    cv2.putText(img, str(num), (100, 250), font, 5, (255, 255, 255), 10, cv2.LINE_AA)
    path = "data/" + label + "/" + str(num) + ".jpg"
    cv2.imwrite(path, img)

for i in range(10):
    save_img(i, "digits")

自己创造数据集的好处在于能够根据具体问题定制数据集。不过也需要相应的时间和精力来收集,标注和整理数据。

结论

获取数据集是进行机器学习的关键步骤。本文介绍了三种获取数据集的方法:使用公共数据集、使用网络爬虫和自己创造数据集。无论您选择哪种方法,都需要注意法律、道德和信息安全。