[CURSOR] 머신러닝이 학습한다는 건 뭐야?
머신러닝의 데이터 수집 방법을 설명드리겠습니다: 데이터 수집 방법: 공개 데이터셋 사용 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() 웹 스크래핑 import requests from bs4 import BeautifulSoup # 웹사이트에서 데이터 수집 response = requests.get('https://example.com') soup = BeautifulSoup(response.text, 'html.parser') 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) 데이터 종류: 구조화된 데이터 CSV 파일 Excel 파일 데이터베이스 import pandas as pd # CSV 파일 읽기 df = pd.read_csv('data.csv') 비구조화된 데이터 이미지 텍스트 음성 from PIL import Image # 이미지 데이터 로드 image = Image.open('image.jpg') 데이터 수집 시 고려사항: 품질 정확성 완전성 일관성 수량 충분한 데이터 균형 잡힌 데이터 법적/윤리적 고려 개인정보 보호 저작권 데이터 사용 권한 실제 예시: # 예: 고양이 이미지 분류를 위한 데이터 수집 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) 데이터 전처리: import pandas as pd import numpy as np def preprocess_data(data): # 결측치 처리 data = data.fillna(0) # 데이터 정규화 data = (data - data.mean()) / data.std() return data 이러한 데이터 수집과 전처리 과정을 통해 머신러닝 모델이 학습할 수 있는 데이터를 준비할 수 있습니다.
![[CURSOR] 머신러닝이 학습한다는 건 뭐야?](https://media2.dev.to/dynamic/image/width%3D1000,height%3D500,fit%3Dcover,gravity%3Dauto,format%3Dauto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7lovwg9y59swmw01csso.jpg)
머신러닝의 데이터 수집 방법을 설명드리겠습니다:
- 데이터 수집 방법:
-
공개 데이터셋 사용
- 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()
- 웹 스크래핑
import requests
from bs4 import BeautifulSoup
# 웹사이트에서 데이터 수집
response = requests.get('https://example.com')
soup = BeautifulSoup(response.text, 'html.parser')
- 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)
- 데이터 종류:
-
구조화된 데이터
- CSV 파일
- Excel 파일
- 데이터베이스
import pandas as pd
# CSV 파일 읽기
df = pd.read_csv('data.csv')
-
비구조화된 데이터
- 이미지
- 텍스트
- 음성
from PIL import Image
# 이미지 데이터 로드
image = Image.open('image.jpg')
- 데이터 수집 시 고려사항:
-
품질
- 정확성
- 완전성
- 일관성
-
수량
- 충분한 데이터
- 균형 잡힌 데이터
-
법적/윤리적 고려
- 개인정보 보호
- 저작권
- 데이터 사용 권한
- 실제 예시:
# 예: 고양이 이미지 분류를 위한 데이터 수집
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)
- 데이터 전처리:
import pandas as pd
import numpy as np
def preprocess_data(data):
# 결측치 처리
data = data.fillna(0)
# 데이터 정규화
data = (data - data.mean()) / data.std()
return data
이러한 데이터 수집과 전처리 과정을 통해 머신러닝 모델이 학습할 수 있는 데이터를 준비할 수 있습니다.