YOLOv5 커스텀 학습 튜토리얼
2021. 10. 18. 17:52
💡 AI/토이 프로젝트
파일 받아오기 from urllib import request url = "https://public.roboflow.com/ds/FbPSJa257p?key=2mKwetv7pn" savename = "roboflow.zip" request.urlretrieve(url,savename) print("저장되었습니다.") 압축파일 풀기 import zipfile roboflow_zip = zipfile.ZipFile('/home/soon5770/roboflow.zip') roboflow_zip.extractall('/home/soon5770/') roboflow_zip.close() YOLOv5 git clone # YOLOv5 github clone %cd /home/soon5770 !git clone ht..
작물 병해 분류 AI 경진대회
2021. 10. 16. 19:38
💡 AI/Dacon | Kaggle
1. 데이터 전처리 1.1. numpy, pandas 불러오기 import pandas as pd import numpy as np 1.2. 작물 데이터 train set 읽어오기 : read_csv() train = pd.read_csv("../input/jakjak/train.csv") train from PIL import Image Image.open("../input/jakjak/train_imgs/10000.jpg") 1.3. 필요 없는 컬럼 삭제 : drop() train = train.drop(columns=["uid","disease"]) train 1.4. 분석할 이미지 경로 재설정 train["img_path"] = "/kaggle/input/jakjak/" + train["img_p..
물체추적으로 레드벨벳 누나들 따라다니는 직캠 만들기
2021. 10. 9. 18:46
💡 AI/토이 프로젝트
OpenCV 로 레드벨벳 누나들 따라다니는 직캠 만들기 VScode python interpreter 변경하기 command + shift + p select interpreter /Users/seon-uchan/opt/anaconda3/bin 선택 $ /Users/seon-uchan/opt/anaconda3/bin/python /Users/seon-uchan/Desktop/ML/BBang/main.py 돌릴 때는 아나콘다로 설치한 파이썬을 이용해야 opencv, numpy 등의 라이브러리를 이용 가능하므로 이렇게 해준다. Run 마우스로 ROI 선택 space 바로 선택 완료 q로 종료 트래킹은 계속 하지만, 영상이 짤릴 경우에도 예외처리 해주어야 한다. 그리고 핸드폰 사이즈로 볼 수 있게 영상을 저장..
Contents Based Filtering (Movie Dataset)
2021. 10. 5. 17:25
💡 AI/RecSys
Contents-Based Filtering 기법 영화 구성 콘텐츠 텍스트 ↓ 피처 벡터화 (Count, TF-IDF) ↓ 코사인 유사도 ↓ 유사도 및 평점에 따른 영화 추천 Contents-Based Filtering 구현 프로세스 콘텐츠에 대한 여러 텍스트 정보들을 피처 벡터화 코사인 유사도로 콘텐츠별 유사도 계산 콘텐츠 별로 가중 평점을 계산 유사도가 높은 콘텐츠 중에 평점이 좋은 콘텐츠 순으로 추천 캐글 Movie dataset : https://www.kaggle.com/tmdb/tmdb-movie-metadata TMDB 5000 Movie Dataset Metadata on ~5,000 movies from TMDb www.kaggle.com 파일 읽어오기 import pandas as pd..
SKT AI - 추천시스템
2021. 9. 29. 16:03
💡 AI/RecSys
추천시스템 지속적인 피드백을 통한 선순환 추천과 검색은 다르다. 시나리오 시작이 다르다. 사용자는 자신이 찾고자하는 객체에 대해서 쿼리를 날린다. 사용자의 명시적인 요청자체가 필요가 없다. 아무런 요청을 날리지 않아도 내 의사와 상관없이 제공된다. 객체 자체를 특정하지 않은 요청이 있다. 대상에 대해서 지정을 하고 있지 않기 때문이다. 다만 선호의 개념은 있다. 얼마나 좋아하고 싫어하는지에 대한 개념은 있다. 추천 시스템은 사람들의 요청에 대한 의도가 검색 시스템과 정반대이다. 시나리오의 방향성 자체가 다르고 들어오는 쿼리자체가 다르기 때문에 해결하는 방법 자체가 다르다. 추천 시스템이란 사용자들이 좋아할만한 것들을 발견할 수 있도록 도와주는 시스템이다. 정보 검색과의 차이를 명확하게 알아야 한다. 사용..
ML - fit(), transform() 과 fit_transform()의 차이
2021. 9. 15. 20:39
💡 AI/ML
사이킷런은 데이터를 변환하는 대부분의 로직에서 fit()과 transform()을 쌍으로 사용합니다. 예를 들어 sklearn.preprocessing의 StandardScaler, MinMaxScaler 나 PCA클래스, 그리고 텍스트의 Feature Vectorization 클래스들(CountVectorizer, TFIDF등) 모드 fit()과 transform()을 같이 이용합니다. 변환만을 생각한다면 fit() , transform()을 함께 사용하지 않고 transform()만 사용하면 될텐데 두개 메소드를 함께 사용하는 이유가 아래와 같이 있을 거라 추정됩니다(이 중 두번째 이유가 중요합니다. ) 사이킷런의 지도학습의 주요 메소드인 fit()과 predict()와 비슷한 API로 사용자들의 보..
ML - Estimator의 fit()과 비지도 학습의 fit()의 차이
2021. 9. 15. 20:31
💡 AI/ML
Estimator 이해 및 fit(), predict() 메서드 사이킷런은 API 일관성과 개발 편의성을 제공하기 위한 노력이 엿보이는 머신러닝 학습에 최적인 패키지입니다. 사이킷런은 머신러닝 모델 학습을 위해서 fit() 메서드와 학습된 모델의 예측을 위해 predict() 메서드를 제공합니다. 사이킷런에서는 분류 알고리즘을 구현한 클래스를 Classifier로, 회귀 알고리즘을 구현한 클래스를 Regressor로 지칭하고, 이 둘을 합쳐 Estimator 클래스라고 부릅니다.(지도학습의 모든 알고리즘을 구현한 클래스를 통칭함) 이 Estimator 클래스는 fit()과 predict()만을 이용해 간단하게 학습과 예측 결과를 반환합니다. Scikit-learn class 구현 클래스 Estimator..
ML - 타이타닉 생존자 예측
2021. 9. 15. 16:15
💡 AI/ML
데이터 전처리 Null 처리 불필요한 속성 제거 레이블 인코딩 수행 = 간략하게 하기 위함 모델 학습 및 검증/예측/평가 모델 학습 : 결정트리, 랜덤포레스트, 로지스틱 회귀 학습 비교 검증 평가 : K-fold 교차 검증, cross_val_score(), GridSearchCV() 수행 1.1 데이터 확인 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns %matplotlib inline titanic_df = pd.read_csv('./titanic_train.csv') titanic_df.head(3) 분석 시작 전 : 등급(높은 등급 먼저), 성별(여성), 나이(어린아이, 노약자)..
ML - 정규화
2021. 9. 15. 15:34
💡 AI/ML
Standardization(표준화) vs Normalization(정규화) 표준화 : 데이터의 피처 각각이 평균이 0이고 분산이 1인 가우시안 정규분포를 가진 값으로 변환하는 것을 의미한다. 정규화 : 서로 다른 피처의 크기를 통일하기 위해 크기를 변환해주는 개념이다. 막 너무 크고 너무 작고 이런걸 편하게 하기 위해서 쓴다. StandardScaler : 평균이 0, 분산이 1인 정규 분포 형태로 변환 MinMaxScaler : 데이터 값을 0과 1 사이 값으로 변환(음수가 있으면 -1에서 1사이 값으로 변환) 1. iris 데이터의 평균, 분산 값 from sklearn.datasets import load_iris import pandas as pd # 붓꽃 데이터 셋을 로딩하고 DataFrame..
ML - 레이블 인코딩, 원핫 인코딩
2021. 9. 15. 15:25
💡 AI/ML
데이터 전처리 (Preprocessing) 머신러닝은 데이터의 영향을 받는다. 쓰레기 값이 들어가면 쓰레기 같은 결과가 나온다. 데이터 클린징 결손값 처리 (Null/NaN 처리) : 결손값이 없어야 한다. 데이터 인코딩 (레이블, 원핫인코딩) : 머신러닝 알고리즘은 숫자형 값만 받아드린다. 데이터 스케일링 : 정규화, 표준화 등 ex) 신장,몸무게 맞춰줄 때 이상치 제거 : 택도 없는 값 제거해주는 것 Feature 선택, 추출 및 가공 : 어떤 Feature들만 선택하면 훨씬 예측 성능이 좋을 수 있다. 1. 레이블 인코딩(Label encoding) 문자열로 들어간 코드 값을 숫자형으로 매핑하는 것 상품 분류가 [TV, 냉장고, 전자렌지] 이렇게 되어있을 때, [0,1,2] 이런식으로 바꿔준다. f..
ML - 교차 검증
2021. 8. 26. 17:06
💡 AI/ML
교차 검증 1. k-fold from sklearn.model_selection import KFold iris = load_iris() features = iris.data label = iris.target dt_clf = DecisionTreeClassifier(random_state=156) # 5개의 폴드 세트로 분리하는 KFold 객체와 폴드 세트별 정확도를 담을 리스트 객체 생성. kfold = KFold(n_splits=5) cv_accuracy = [] n_iter = 0 # KFold객체의 split( ) 호출하면 폴드 별 학습용, 검증용 테스트의 로우 인덱스를 array로 반환 for train_index, test_index in kfold.split(features): # kfol..
ML - 예측 프로세스
2021. 8. 25. 19:58
💡 AI/ML
예측 프로세스 1. 데이터 셋 분리 (train data, test data로 분리) ↓ 2. 모델 학습 (train data 기반 ML 알고리즘을 적용해 모델을 학습) ↓ 3. 예측 수행 (학습된 ML 모델로 test data 예측) ↓ 4. 평가 (예측된 test data의 결과와 실제 test data의 결과 비교 후 성능 평가) Skitlearn Estimator fit() : 학습 predict() : 예측 Classifier (분류) DecisionTreeClassifier RandomForestClassifier GradientBoostingClassifier GaussianNB SVC Regressor (회귀) LinearRegression Ridge Lasso RandomForestReg..
ML - pandas 기본
2021. 8. 24. 17:07
💡 AI/ML
1. 판다스(pandas) 파이썬에서 데이터 처리를 위해 존재하는 가장 인기있는 라이브러리이다. 대부분의 데이터 셋은 2차원이다. 1.1. 판다스의 구성요소 DataFrame : Column x Row 로 구성된 2차원 데이터 셋 Series : 1개의 Column 만으로 구성된 1차원 데이터 셋 Index 1.2. 기본 API read_csv() head() shape info() describe() Value_counts() Sort_values() 1.3. DataFrame의 생성 딕셔너리 형태로 만든다. key 가 컬럼명으로 들어가고, 나머지 value가 나머지 값들로 들어가게 된다. dic1 = {'Name': ['Chulmin', 'Eunkyung','Jinwoong','Soobeom'], '..
ML - 머신러닝과 numpy 기본
2021. 8. 23. 21:26
💡 AI/ML
머신러닝의 개념 머신러닝은 세가지로 나뉜다. 지도학습(Supervised Learning) : 명확한 결정값이 주어진 데이터를 학습 분류 회귀 비지도학습(Un-supervised Learning) : 결정값이 주어지지 않은 데이터를 학습 군집화(클러스터링) 차원 축소 강화학습(Reinforcement Learning) 머신러닝 알고리즘의 유형 기호주의 : 결정트리 연결주의 : 신경망/딥러닝 (심층신경망을 기초로한) 유전 알고리즘 베이지안 통계 (기존의 가설을 새로운 데이터를 받으며 갱신) 유추주의 : KNN, SVM (유사한 것들의 추정) 머신 러닝의 단점 데이터에 의존적이다. 편향된 데이터만 넣으면 편향된 결과만 나온다. 최적의 결과를 도출하기 위한 머신러닝 모델은 실제 환경 데이터에 맞지 않을 수 있..