본문 바로가기

분류 전체보기141

Output function, Loss function(feat. 소프트맥스, 크로스 엔트로피) 목차 1. Output function 1-1. Softmax function 1-2. Linear function 2. Loss function 2-1. cross-entropy 2-2. MSE 1. Output function Output function으로 사용하는 함수는 크게 2가지이다. Softmax fucntion linear function 1-1. Softmax function 여기서 Softmax 함수는 Multi-class classification 문제를 풀기 위해 사용된다. 예를 들어 아래와 같은 문제가 있다고 해보자. 여기서 cat, horse, dog가 담긴 32 x 32개의 픽셀 데이터를 일자로 펼쳐서 1024개의 픽셀을 feature로 사용하여 Nerual Network의 n.. 2023. 7. 5.
[프로그래머스] 진료순서 정하기 - 파이썬(index함수) 리스트에 담긴 숫자가 큰 순서대로 순위를 리스트 형태로 출력하는 문제이다. 코드 제출하고 보니 가장 많은 표를 받은 코드와 똑같아서 가져왔다. * 이어드림스쿨 3기 참여하면서 진행하고 있는 스터디에서 발표한 내용입니다. (23년 6월 14일 코드리뷰 스터디 발표내용) 기존 코드 # Day08 진료순서정하기 self 기존 Code def solution(emergency): # emergency 숫자 하나씩 뽑아서(e) 내림차순 정렬시킨 emergency기준으로 인덱스(e) +1을 출력 return [sorted(emergency, reverse=True).index(e)+1 for e in emergency] 코드 풀이 # Day08 진료순서정하기 self 기존 Code 보안/개선한 Code & Code.. 2023. 6. 15.
ROC curve, AUC 개념 및 sklearn 코드 목차 1. ROC curve, AUC 2. titanic 실습(sklearn 코드) 지난 시간에 분류문제의 성능평가 지표인 Accuarcy, Recall, Precision, F1 score에 대해서 알아보았다. 오늘은 ROC curve에 대해서 알아보겠다. (참고 : 분류문제 성능평가 지표: Accuracy, Recall, Precision, F1 score (+titanic 실습)) 1. ROC curve, AUC ROC(Receiver Operating Characteristics) curve란, 종속변수값을 무엇으로 예측할 것인지의 기준이 되는 확률(threshold probability) 값에 따른 TPR과 FPR값들의 집합을 의미한다. 그리고 AUC(Area Under the Curve)는 R.. 2023. 6. 15.
분류문제 성능평가 지표: Accuracy, Recall, Precision, F1 score (+titanic 실습) 목차: 1. 분류문제 성능평가 지표 1-1. Confusion matrix 1-2. Accuracy(정확도) 1-3. Recall(재현율) 1-4. Precision(정밀도) 1-5. F1 score 2. 데이터 불균형 문제 2-1. Over sampling 2-2. Under sampling 3. 케글 titanic 실습 분류문제의 성능평가 지표에는 Accuracy, recall, precision, F1 등이 있다. 이는 모델 평가단계에서 사용하는 성능평가 지표이다. 이번시간에는 가장 대표적인 평가지표인 4가지에 대해서 먼저 알아보겠다. 위에서 언급한 4개의 분류문제 성능평가지표는 계산을 위해서 confusion matrix를 사용해야 한다. 이는 종속변수의 실제값과 모형을 통해서 예측이 된 종속변수.. 2023. 6. 10.
[프로그래머스] 피자나눠먹기(2) - 파이썬(최대공약수, 최소공배수) 프로그래머스 코딩테스트 입문에서 Lv0에서나오는 피자나눠먹기(2) 문제이다. 피자는 6조각으로 나눠주고, n명의 사람이 한조각도 남김없이 똑같이 나눠먹어야하는 문제이다. 파이썬으로 최대공약수, 최소공배수를 구하는 함수를 만들어서 풀이했다. * 이어드림스쿨 3기 참여하면서 진행하고 있는 스터디원 분이 작성한 코드를 제가 풀이한 내용입니다.(23년 6월 7일 코드리뷰 스터디 발표내용) 기존 코드 # day4 피자나눠먹기(2) 기존 Code def gcd(a, b): if b == 0: return a return gcd(b, a%b) def lcm(a, b): # 최소공배수 return a*b // gcd(a, b) def solution(n): return lcm(n,6) / 6 코드 풀이 # day4 .. 2023. 6. 8.
[프로그래머스] 최빈값 구하기 - 파이썬(Counter) 프로그래머스 코딩테스트 입문에서 Lv0에서나오는 최빈값 구하기 문제이다. array리스트 나오는 숫자 중에 최빈값을 리턴하는 문제이다. 파이썬의 Counter 함수를 활용했다. * 이어드림스쿨 3기 참여하면서 진행하고 있는 스터디원 분이 작성한 코드를 제가 풀이한 내용입니다.(23년 6월 7일 코드리뷰 스터디 발표내용) 기존 코드 # Day3 최빈값구하기 from collections import Counter def solution(arr): cnt = Counter(arr) modes = [k for k, v in cnt.items() if v == max(cnt.values())] return modes[0] if len(modes) == 1 else -1 코드 풀이 # Day3 최빈값구하기 Cod.. 2023. 6. 8.
[로지스틱 회귀] Solver 종류와 장단점 목차 Solver란? 1. newton-cg: 뉴튼랩슨 2. lbfgs 3. liblinear 4. sag 5. saga Solver란? Solver는 LogisticRegression 모델에서 사용하는 하이퍼 파리미터 중 하나로, 비용함수의 최솟값을 어떠한 방법으로 찾을 것인지를 지정하는 역할을 한다. 방법에 따라 학습 성능이 달라지기 때문에 solver를 잘 선택하는 것도 중요하다. 종류에는 newton-cg, lbfgs, liblinear, sag, saga로 총 5가지가 있다. 이중에 newton-cg, lbfgs은 뉴튼 랩슨 방법을 활용하고, 나머지 3개는 경사하강법을 활용한다. 뉴튼 랩슨방법보다는 경사하강법이 학습속도가 더 빠르기 때문에 2차 도함수까지 구해야하는 뉴튼 랩슨 방법은 최근에는 잘.. 2023. 6. 7.
원-핫 인코딩: pd.get_dummies() vs OneHotEncoder() 목차 1. 원-핫 인코딩(One-Hot Encoding) 2. pd.get_dummies() 3. OneHotEncoder() 모델 학습을 위해서는 문자형태로 되어있는 범주형 데이터를 숫자형으로 바꿔 주어야 한다. 그런데, 문제가 하나 있다. 범주형 데이터를 숫자로 바꾸면 0,1,2,3,4 이런 식일 텐데, 이 숫자가 의미하는 바는 높다, 낮다 하는 수치가 아니라 범주를 나타내기 때문에 이 숫자를 회귀 분석에서 사용할 수 없다. 그러면 어떻게 해야 할까? 각각의 범주에 대한 컬럼을 따로 하나씩 더 만들어주고, 0과 1의 값만 갖도록 해야 한다. 예를 들어 '서울', '부산', '광주'라는 값을 가지는 범주형 데이터라면 서울, 부산, 광주에 대한 컬럼을 모두 하나씩 추가시켜 줄다음, 값이 서울이라면, 서울.. 2023. 6. 6.
[이어드림스쿨 3기] 2개월차 후기 및 회고(05.01~05.31) 1. 이어드림스쿨 3기 2개월차에 완료한 것들 [6주차: 05.01~05.07] 이어드림스쿨 6주차: git/github, 깃허브 프로젝트, 카페상권분석(pandas), 판다스 기초복습, 케글 과제 티스토리 블로그 3개 포스팅 git, github 2개 이어드림스쿨 3기 1개월차 후기 Kaggle: titanic, Kaggle-survey-2022 백준 8문제: 최종 단계 - 브론즈1 운동 2회 독서 5파트 매일 아침 경제 뉴스 크롤링 실습, 아이디어 정리. [7주차: 05.08~05.14] 이어드림스쿨 7주차: 형태소 분석, 패스트캠퍼스 온라인 강의 분석 프로젝트(EDA) 운동 1회 독서 3파트 + 1권 우리의 뇌는 어떻게 배우는가? ​[8주차: 05.15~05.21] 이어드림스쿨 8주차: 패스트캠퍼스.. 2023. 6. 6.
로지스틱 회귀 모형: 함수 개념 및 코딩 실습 목차 1. 로지스틱 회귀(Logistic Regression) 모형 2. 실습: 로지스틱 회귀 모형 학습 지금까지 지도학습 알고리즘 중에 선형 회귀 모형에 대해서 알아보았다. 학습 데이터와 문제 데이터 준비 단계, 피처 엔지니어링(표준화, Min-max정규화) 단계, 알고리즘 선택(선형회귀, Lasso, Ridge, ElasticNet) 단계, 학습 단계에서 비용함수(MSE)로 파라미터 최적값 찾는 과정, 성능 평가 단계(\(R^2\)), 과적합 문제를 해결하는 규제화(L1, L2 penalty term) 방법까지 알아보았다.(아래 더 보기 참고) 더보기 ML 지도학습: 선형 회귀 모형 관련 내용들 1. 기계학습(ML): 선형회귀 모델 학습 원리, 성능 평가 방법 2. 규제화(Regularization).. 2023. 5. 29.
회귀모델: 라쏘(Lasso), 릿지(Ridge), 엘라스틱 넷(ElasticNet) 목차 1. 라쏘(Lasso) 2. 릿지(Ridge) 3. 엘라스틱 넷(ElasticNet) 우리는 선형회귀 모형에 대해서 배웠고, 성능평가 방법과 규제화에 대해서도 배웠다.(앞 내용을 모르시는 분은 아래 더 보기를 참고해 주세요.) 선형회귀 모델을 통해 학습을 시키고, \(R^2\) 를 통해 성능평가를 하고, 과적합으로 인해 성능이 좋지 않으면 L1 penalty term과 L2 penalty term 이용해서 규제화를 시킨다고 했다. 특히 다중 회귀 문제에서는 과적합 현상이 자주 일어나기 때문에 규제화가 꼭 필요할 때가 많다. 더보기 1. 기계학습(ML): 선형회귀 모델 학습 원리, 성능 평가 방법 2. 규제화(Regularization): L1, L2 penalty term 3. \(R^2\)(선형회.. 2023. 5. 29.
피처 스케일링: 표준화, min-max 정규화(feat. 파이썬) 목차 1. 피처 스케일링(Feature scaling)이란? 2. 표준화(Standardzation) 2-1. 표준화 파이썬 구현 3. 민맥스 정규화(min-max normalization) 3-1. 정규화 파이썬 구현 저번시간에 성능평가 단계에서 선형회귀 모형의 성능 평가 지표인 \(R^2\)에 대해서 알아보았다. 이번시간에는 평가 단계에서 성능을 높이기 위해서 학습 단계 전에 미리 수행해야 하는 피처 스케일링에 대해서 알아보겠다.(해당 블로그에서 지금까지 다룬 부분의 전체 흐름은 아래 더 보기를 참고하자) 더보기 지난 시간까지 다루었던 부분 전체 흐름 (오른쪽 마인드맵의 빨간색으로 표시된 부분이 해당 블로그에서 다룬 부분) 1. 기계학습(ML): 선형회귀 모델 학습 원리, 성능 평가 방법 2. 규제화.. 2023. 5. 28.