분류 전체보기
-
58일차 - 파이썬 머신러닝(4)AI 솔루션 개발자과정(Java, Python) 2022. 12. 28. 16:18
F1 스코어 F1 스코어는 정밀도와 재현율을 결합한 지표이다. F1 스코어는 정밀도와 재현율이 어느 한쪽으로 치우치지 않는 수치를 나타낼 때 상대적으로 높은 값을 가진다. F1 스코어의 공식은 다음과 같다. F1 스코어 = 2 * { (정밀도 * 재현율) / (정밀도 + 재현율)} A 예측모델의 경우 정밀도가 0.9, 재현율이 0.1로 극단적인 차이가 나고, B 예측모델은 정밀도가 0.5, 재현율이 0.5로 큰 차이가 없다면 A예측모델의 F1스코어는 0.18이고, B 예측모델의 F1 스코어는 0.5로 B 모델이 A모델에 비해 매우 우수한 F1 스코어를 가지게 된다. 사이킷런은 F1 스코어를 구하기 위해 f1_score()라는 API를 제공한다. ROC 곡선과 AUC ROC 곡선과 이에 기반한 AUC 스코..
-
57일차 - 파이썬 머신러닝(3)카테고리 없음 2022. 12. 27. 17:52
피처 스케일링과 정규화 서로 다른 변수의 값 범위를 일정한 수준으로 맞추는 작업을 피처 스케일링이라고 한다. 대표적인 방법으로 표준화와 정규화가 있다. 표준화는 데이터의 피저 각각이 평균이 0이고 분산이 1인 가우시안 정규 분포를 가진 값으로 변환하는 것을 의미한다. 일반적으로 정규화는 서로 다른 피처의 크기를 통일하기 위해 크기를 변환해주는 개념이다. 그런데 사이킷런의 전처리에서 제공하는 Normalizer 모듈과 일반적인 정규화는 약간의 차이가 있다. 사이킷런의 Normalizer 모듈은 선형대수에서의 정규화 개념이 적용됐으며, 개별 벡터의 크기를 맞추기 위해 변환하는 것을 의미한다. 즉, 개별 벡터를 모든 피처 벡터의 크기로 나눠준다. StandardScaler StandardScaler는 앞에서 ..
-
56일차 - 파이썬 머신러닝(2)AI 솔루션 개발자과정(Java, Python) 2022. 12. 26. 17:59
정렬, Aggregation 함수, GroupBy 적용 DataFrame과 Series의 정렬을 위해서는 sort_values() 메서드를 이용한다. sort_values()는 RDBMS SQL의 order by 키워드와 매우 유사하다. 주요 입력 파라미터는 by, ascending, inplace이다. by로 특정 칼럼을 입력하면 해당 칼럼으로 정렬을 수행한다. ascending=True로 설정하면 오름차순으로 정렬하며, inplace=False로 설정하면 sort_values()를 호출한 DataFrame은 그대로 유지되며 정렬된 DataFrame을 결과로 반환한다. Aggregation 함수 적용 DataFrame에서 min(), max(), sum(), count()와 같은 aggregation ..
-
55일차 - 파이썬 머신러닝AI 솔루션 개발자과정(Java, Python) 2022. 12. 23. 10:20
머신러닝 머신러닝의 개념은 다양하게 표현할 수 있으나, 일반적으로는 애플리케이션을 수정하지 않고도 데이터를 기반으로 패턴을 학습하고 결과를 예측하는 알고리즘 기법을 통칭한다. 프로그램 로직을 통해 모든 조건과 다양한 환경 변수, 규칙을 반영해 사기 거래 적발의 정확성을 높일 수 있다면 이러한 시간과 비용의 희생을 감당할 수 있겠지만, 기대와는 다르게 소스가 복잡해지면서 예측의 정확성 향상이 이뤄지지 않는 경우가 현실이다. 머신러닝은 이러한 문제를 데이터를 기반으로 숨겨진 패턴을 인지해 해결한다. 머신러닝 분류 - 지도 학습 분류 회귀 추천 시스템 시각 / 음성 인지 텍스트 분석 - 비지도 학습 클러스터링 (군집화) 차원 축소 강화 학습 머신러닝의 두 축, 데이터와 알고리즘 머신러닝의 특징 데이터에 매우 ..
-
54일차 - 파이썬 AI수학 기초(2)AI 솔루션 개발자과정(Java, Python) 2022. 12. 22. 17:21
정보량 정보량은 정보이론에서의 정보를 정량적으로 취급하기 위해 정의된 개념이다. 각각의 사건의 정보량뿐만 아니라 사건의 정보량의 평균값에도 정보량이라 부르는 경우가 있다. 전자를 선택정보량(자기 엔트로피) 후자를 평균정보량(엔트로피)이라고 부른다. 이에 더해서 교차 엔트로피라는 기계학습에서 오차를 나타내기 위해서 자주 사용되는 개념도 존재한다. 엔트로피는 원래 물리학의 분야인 열역학과 통계과학에서의 개념이다. 정보이론 분야의 통계물리학에서 다루는 엔트로피와 수학적으로 거의 같은 계산식이 나타났기 때문에 이를 엔트로피라고 부르게 됐다. 사건 E가 일어나는 확률을 P(E)라고 하면 이 때의 선택정보량 I(E)는 다음 식으로 표현된다. I(E) = -log2P(E) 이처럼 선택정보량은 확률의 대수를 음으로 한..
-
53일차 - 파이썬 AI수학 기초(2)AI 솔루션 개발자과정(Java, Python) 2022. 12. 21. 10:21
미분 극한과 미분 미분은 어떤 함수상의 각 점에서 변화의 비율로 인공지능에서 자주 사용된다. 극한은 함수에서의 변수값을 어떤 값에 가깝게 할 때, 함수의 값이 한없이 가까워지는 값을 말한다. 함수에서 x를 0에 가깝게 하면 y는 1에 가까워진다. y = f(x)에서 x의 미소한 변화량을 △x로 하면 x를 △x만큼 변화시킬 때의 y 값은 y = f(x + △x)이다.이때 y의 미소한 변화량은 △y = f(x + △x) - f(x)이다. y의 미소한 변화와 x의 미소한 변화의 비율은 위의 식에 양측을 △x로 나누어준다. 이 식에서 △x의 값을 0에 한없이 가까워지는 극한을 생각한다면 다음 식과 같다. 이 함수를 f(x)의 도함수 라고 한다. 그리고 함수 f(x)로부터 도함수 f`(x)를 얻는 것을 f(x)를..
-
52일차 - 파이썬 AI수학 기초AI 솔루션 개발자과정(Java, Python) 2022. 12. 20. 17:51
10일차에서 이어지는 내용. 함수 수학에서의 함수와 프로그래밍의 함수는 같은 이름을 사용하고, 같은 기능을 하지만 차이점이 존재한다. 수학에서의 함수 : 변수(미지수)의 값에 따라 종속된 결과가 변한다. 코딩에서의 함수 : 변수(미지수)의 값에 따라 종속된 결과가 변한다. 다만, 코딩에서의 함수는 변수(인수)가 없거나 결과값이 없는 경우도 존재한다. 거듭제곱과 제곱근 이 함수에서 y는 매개변수로 받은 x를 a제곱하여 반환하는 함수이다. 이는 같은 수를 여러 번 곱한다 하여 거듭제곱이라 한다. 반대로 위의 식에서 a가 1/2라면, 양쪽에 2제곱을 하여 좌변은 y의 2제곱이 되고, 우변은 x가 된다. 이처럼 y를 제곱해서 x가 되는 수를 x의 제곱근이라 한다. 양의 제곱근은 numpy모듈의 sqrt()함수로..
-
48일차 - 자바 웹 개발 (5)AI 솔루션 개발자과정(Java, Python) 2022. 12. 14. 17:52
커스텀 태그 커스텀 태그란 JSP 페이지에서 자주 사용하는 자바 코드를 대체하기 위해 만든 태그이다. 커스텀 태그는 두 가지가 있는데, JSTL과 개발자가 만든 커스텀 태그이다. JSP에서는 개발자가 필요할 때 태그를 만들어 사용할 수 있지만 스트러츠나 스프링 프레임워크에서는 프레임워크 기능과 편리하게 연동할 수 있도록 미리 태그를 만들어서 제공하기도 한다. JSP 표준 태그 라이브러리 JSTL JSTL이란 커스텀 태그 중 가장 많이 사용되는 태그를 표준화하여 라이브러리로 제공하는 것을 말한다. 라이브러리 세부 기능 접두어 코어 변수 지원, 흐름 제어, 반복문 처리, URL 처리 c 국제화 지역, 메시지 형식, 숫자 및 날짜 형식 fmt XML XML 코어, 흐름 제어, XML 변환 x 데이터베이스 SQ..