전체 글 56

[Python] 백준 1546(평균)

백준 1546(평균) https://www.acmicpc.net/problem/1546 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net 코드설명 1 2 3 4 5 6 7 8 9 10 11 12 num = int(input()) score = list(map(int, input().split())) max_score = max(score) new_score = [] for i in score: i = i/max_score*100 new_score.append(i) avg = sum(new_score)/nu..

Python 2021.08.31

주성분 분석(principal component analysis, PCA)

차원과 차원 축소 우리는 데이터가 가진 속성을 특성이라고 불렀습니다. 전 글에서 다룬 과일 데이터의 경우 10,000개의 픽셀이 있기 때문에 10,000개의 특성이 있다고 할 수 있습니다. 머신러닝에서 이런 특성을 차원(dimension)이라고도 부릅니다. 실무에서 접하게 되는 데이터는 특성의 수가 대체로 큽니다. 데이터의 크기가 크다보니 학습 속도에도 영향을 미치고 다루기가 쉽지 않습니다. 이런 차원을 줄일 수 있다면 저장공간을 절약할 수 있고 학습 속도를 높힐 수 있을 것입니다. 특성이 많으면 선형 모델이 성능이 높아지고 훈련 데이터에 쉽게 과대적합될 수 있습니다. 차원 축소는 데이터를 가장 잘 나타내는 일부 특성을 선택해 데이터 크기를 줄이고 지도 학습 모델의 성능을 향상시킬 수 있는 방법입니다. ..

AI 2021.08.06

Clustering (K-Means, DBSCAN)

클러스터링, 군집화? 지금까지 다루었던 데이터들은 레이블을 가지고 있기 때문에 데이터와 레이블을 기반으로 예측이나 분류를 수행하는 지도학습을 다뤘습니다. 그러나 데이터들이 항상 레이블을 가지고 있을 수는 없고 레이블이 없는 데이터 안에서 패턴과 구조를 발견하는 비지도 학습이 있습니다. 그 중 가장 대표적인 비지도 학습 기술이 Clustering(군집화)입니다. 클러스터링을 응용하여 다음과 같은 것들에 적용할 수 있습니다. 유사한 인구통계나 구매 패턴을 가진 그룹으로 고객 세분화 알려진 클러스터를 벗어나는 사용 패턴을 식별하여 무단 네트워크 침입 탐지 비슷한 값을 가진 특징을 더 적은 수의 동종 범주로 그룹화해 데이터셋 단순화 K-Means Clustering K-Means 알고리즘은 가장 유명한 클러스터..

AI 2021.08.03

[Python] 백준 2839(설탕 배달)

백준 2839(설탕 배달) https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 코드설명 1 2 3 4 5 6 7 8 9 10 11 12 13 sugar = int(input()) bag = 0 while True: if sugar % 5 == 0: bag += sugar // 5 print(bag) break sugar -= 3 bag += 1 if sugar

Python 2021.08.02