DEV Community

Cover image for [CURSOR] 머신러닝이 학습한다는 건 뭐야?
crush
crush

Posted on

[CURSOR] 머신러닝이 학습한다는 건 뭐야?

머신러닝의 데이터 수집 방법을 설명드리겠습니다:

  1. 데이터 수집 방법:
  • 공개 데이터셋 사용
    • Kaggle
    • UCI Machine Learning Repository
    • Google Dataset Search
  # 예: MNIST 데이터셋 (손글씨 숫자)
  from tensorflow.keras.datasets import mnist
  (x_train, y_train), (x_test, y_test) = mnist.load_data()
Enter fullscreen mode Exit fullscreen mode
  • 웹 스크래핑
  import requests
  from bs4 import BeautifulSoup

  # 웹사이트에서 데이터 수집
  response = requests.get('https://example.com')
  soup = BeautifulSoup(response.text, 'html.parser')
Enter fullscreen mode Exit fullscreen mode
  • API 사용
  # 예: 날씨 API
  import requests

  api_key = "your_api_key"
  url = f"https://api.weatherapi.com/v1/current.json?key={api_key}&q=Seoul"
  response = requests.get(url)
Enter fullscreen mode Exit fullscreen mode
  1. 데이터 종류:
  • 구조화된 데이터
    • CSV 파일
    • Excel 파일
    • 데이터베이스
  import pandas as pd

  # CSV 파일 읽기
  df = pd.read_csv('data.csv')
Enter fullscreen mode Exit fullscreen mode
  • 비구조화된 데이터
    • 이미지
    • 텍스트
    • 음성
  from PIL import Image

  # 이미지 데이터 로드
  image = Image.open('image.jpg')
Enter fullscreen mode Exit fullscreen mode
  1. 데이터 수집 시 고려사항:
  • 품질

    • 정확성
    • 완전성
    • 일관성
  • 수량

    • 충분한 데이터
    • 균형 잡힌 데이터
  • 법적/윤리적 고려

    • 개인정보 보호
    • 저작권
    • 데이터 사용 권한
  1. 실제 예시:
# 예: 고양이 이미지 분류를 위한 데이터 수집
import os
import requests
from PIL import Image

def collect_cat_images(num_images=100):
    # 이미지 저장 디렉토리 생성
    os.makedirs('cat_images', exist_ok=True)

    # API를 통해 고양이 이미지 다운로드
    for i in range(num_images):
        response = requests.get('https://api.thecatapi.com/v1/images/search')
        image_url = response.json()[0]['url']

        # 이미지 다운로드 및 저장
        img_response = requests.get(image_url)
        with open(f'cat_images/cat_{i}.jpg', 'wb') as f:
            f.write(img_response.content)
Enter fullscreen mode Exit fullscreen mode
  1. 데이터 전처리:
import pandas as pd
import numpy as np

def preprocess_data(data):
    # 결측치 처리
    data = data.fillna(0)

    # 데이터 정규화
    data = (data - data.mean()) / data.std()

    return data
Enter fullscreen mode Exit fullscreen mode

이러한 데이터 수집과 전처리 과정을 통해 머신러닝 모델이 학습할 수 있는 데이터를 준비할 수 있습니다.

Top comments (0)