전체 글 39

[Python] 이미지 데이터셋 수집 방법 3가지

1. roboflow https://public.roboflow.com/ 2. kaggle https://www.kaggle.com/datasets 3. 구글 이미지 크롤링 import ssl import os import sys import time import urllib.request from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By ssl._create_default_https_context = ssl._create_unverified_context searchKey = input('Search Keyword : ') # 저장할 ..

[Python] labelImg를 활용한 이미지 라벨링

1. labelImg란 - labelImg는 이미지 주석 도구로, 개발자들이 객체 감지 모델을 학습하기 위해 이미지에 주석을 달 수 있도록 도와준느 프로그램이다. 이 프로그램은 영상 및 이미지 처리 작업에 많이 사용되며, 객체 감지 모델을 구축하는 데 필수적인 작업 중 하나이다. 2. labelImg 설치 https://github.com/tzutalin/labelImg - 먼저 github에 들어가 Releases -> Binary v1.8.1을 클릭한다. - windows_v 1.8.1.zip 파일을 다운로드 받는다. - zip 파일을 풀면 data, labelImg 두 파일이 생성된다. - data 안에는 txt 파일이 들어있는데 이 곳은 라벨링할 클래스명을 적어주면된다. (ex. monkey) -..

[Python] YOLOv7을 활용한 이미지 분석

1. YOLOv7이란 - YOLOv7은 객체 탐지 알고리즘 중 하나인 You Only Look Once (YOLO)의 버전 7이다. - 실시간으로 탐지가 가능하고 속도가 빠르다. - 다중 객체 탐지가 가능하다. 한 이미지에서 여러 객체를 동시에 탐지할 수 있다. - 객체의 크기와 종횡비에 강인해 작은 객체나 다양한 크기의 객체도 정확히 탐지가 가능하다. 2. YOLOv7 설치 https://github.com/WongKinYiu/yolov7 - 먼저 github에 들어가 zip파일을 다운로드 받는다. 3. Jupyter Notebook import os os.getcwd() 실행 결과 : '/storage01/shared_data/users/youngseok/YOLOv7' - 주피터 노트북에 다운로드 받..

[작업형2] 중고 자동차 가격 예측하기(회귀)

// 퇴근후딴짓 님의 강의를 참고하였습니다. // Dataset : 문제) 중고 자동차 가격을 예측하여 다음과 같은 형식으로 제출하시오. 자동차 가격을 예측해주세요! 예측할 값(y): price 평가: RMSE (Root Mean Squared Error) data: train.csv, test.csv 1. EDA # 데이터 불러오기 import pandas as pd train = pd.read_csv("train.csv") test = pd.read_csv("test.csv") train.info() 실행 결과 : RangeIndex: 3759 entries, 0 to 3758 Data columns (total 9 columns): # Column Non-Null Count Dtype --- ---..

[작업형2] 자동차 시장 세분화(분류)

// 퇴근후딴짓 님의 강의를 참고하였습니다. // Dataset : 문제) 신규 고객이 어떤 분류에 속할지 예측하여 다음과 같은 형식으로 제출하시오. 자동차 회사는 새로운 전략을 수립하기 위해 4개의 시장으로 세분화했습니다. 기존 고객 분류 자료를 바탕으로 신규 고객이 어떤 분류에 속할지 예측해주세요! 예측할 값(y): "Segmentation" (1,2,3,4) 평가: Macro f1-score data: train.csv, test.csv 문제1-1) 수치형 변수만 사용 (초급자) 1. EDA # 라이브러리 불러오기 import pandas as pd train = pd.read_csv("train.csv") test = pd.read_csv("test.csv") print(train.shape, t..

[작업형1] 조건 / 평균 / bmi / 절대값 / 내림차순 구하기

// 퇴근후딴짓 님의 강의를 참고하였습니다. // Dataset : 문제1) 종량제 봉투 종류가 '규격봉투'이고, 종량제 봉투 용도가 '음식물쓰레기'인 2L가격 평균을 출력하시오. (단, 가격0 제외, 반올림 후 정수 출력) import pandas as pd df = pd.read_csv("5-1price.csv") df cond1 = df['2ℓ가격'] != 0 cond2 = df['종량제봉투종류'] == "규격봉투" cond3 = df['종량제봉투용도'] == "음식물쓰레기" df = df[cond1 & cond2 & cond3] print(round(df['2ℓ가격'].mean())) 실행 결과 : 118 → '2L가격'이 '0원'이 아닌 조건1 / '종량제봉투종류'가 '규격봉투'인 조건2 / '..

[작업형1] 사분위수 / 절대값 / 조건 / datetime 변환 구하기

// 퇴근후딴짓 님의 강의를 참고하였습니다. // Dataset : 문제1) age 컬럼의 3사분위수와 1사분위수의 차를 절대값으로 구하고, 소수점 버려서, 정수로 출력하시오. import pandas as pd df = pd.read_csv("basic1.csv") df result = abs(df['age'].quantile(0.25) - df['age'].quantile(0.75)) print(int(result)) 실행 결과 : 50 → quantile() 함수를 사용해 3분위수와 1분위수를 구한 후 abs() 함수를 사용해 절대값을 씌워준다. → 정수로 출력하기 위해 int() 함수를 사용해 출력하면 50이 나온다. 문제2) (loves반응+wows반응)/(reactions반응) 비율이 0.4보..

[작업형3] 회귀모형

// 퇴근후딴짓 님의 강의를 참고하였습니다. // 1. 상관계수 - 두 변수 사이의 관계 (1에 가까울 수록 강한 양의 상관관계, -1에 가까울 수록 강한 음의 상관관계) 문제1) iris에서 Sepal Length와 Sepal Width의 상관계수 계산하고 반올림 후 소수 둘째자리까지 출력하고, 양의 상관관계인지 음의 상관관계인지 출력하시오. import pandas as pd from sklearn.datasets import load_iris # iris 데이터셋 로드 iris = load_iris() df = pd.DataFrame(iris.data, columns=iris.feature_names) df # Sepal Length와 Sepal Width의 상관계수 계산 correlation = ..

[작업형3] 일원배치법

// 퇴근후딴짓 님의 강의를 참고하였습니다. // 1. 일원배치법 - 관측치가 3개 이상일 때 활용 그룹 간의 평균 차이를 비교하기 위해 사용되는 통계적 검정 한개의 변수(그룹)에 따라 평균의 차이가 통계적으로 유의미한지 검정 양측 검정만 있음 (방향이 없음) 문제) 빅데이터 분석기사 실기를 세 가지 다른 교육 방법(A, B, C)을 도입하여 수험생들의 실기시험 성적을 비교하고자 합니다. 40명의 학생들을 무작위로 12명씩 세 그룹으로 나누어 교육을 시행한 후, 시험을 실시하였습니다. 다음은 각 그룹의 수험생들의 실기시험 성적 데이터입니다. (단, 각 그룹의 데이터는 정규성을 만족하고 그룹간의 등분산성은 동일하다.) - 귀무가설(H0) : 세 그룹 간의 평균 실기시험 성적 차이가 없다. (모평균의 차이가..

[작업형3] 독립성 검정(카이제곱)

// 퇴근후딴짓 님의 강의를 참고하였습니다. // 1. 독립성 검정 - 두 범주형 변수의 관련성 문제) A공장과 B공장 임직원 간의 근무기간 비율에 차이가 있는가? - 귀무가설(H0) : '근무지'와 '근무기간'은 독립이다. - 대립가설(H1) : '근무지'와 '근무기간'은 독립이 아니다. 문제1) 위의 가설에 대한 독립성 검정(카이제곱)의 검정통계량 값은? import pandas as pd from scipy.stats import chi2_contingency # 데이터 df = pd.DataFrame([[50, 60],[25, 40]]) → 문제와 같이 데이터프레임을 만들어준다. # 독립성 검정 stat, p, dof, expected_freq = chi2_contingency(df) 실행 결과 ..