본문 바로가기

Python

(9)
알고리즘 이해하기 - 유클리드 거리 '거리' 개념은 유사도(Similarity)를 파악하기 위해 많이 쓰입니다. 대표적으로 머신러닝의 K-최근접 이웃(K-Nearest Neighbor) 알고리즘에서 많이 볼 수 있습니다. 오늘은 유클리드 거리에 대해 알아보겠습니다. 1. 유클리드 거리 (Euclidean Distance) 유클리드 거리는 두 점 사이의 거리를 계산할 때 흔히 쓰는 방법입니다. 공식을 보면 피타고라스의 정의와 같음을 알 수 있습니다. 예시는 2차원이지만 차원수가 늘어난다면 각 차원의 차이의 제곱 합의 제곱근이 됩니다. 파이썬으로 구현해보겠습니다. 🔷 코드 def euclidean_distance(x1, x2): distance = 0 for i in range(len(x1)): distance += (x1[i] - x2[i]..
[Python/Statistics] 파이썬으로 가중산술평균 구하기 ✍ 파이썬으로 기본 통계를 확인하는 함수를 손에 익히기 위해 진행합니다. 🚀 해커랭크에 기재된 문제입니다. ✅ 가중산술평균
[Python/Statistics] 파이썬으로 평균, 중간값, 최빈값 구하기 ✍ 파이썬으로 기본 통계를 확인하는 함수를 손에 익히기 위해 진행합니다. 🚀 해커랭크에 기재된 문제입니다. 문제 [Mean, Median, and Mode] 평균, 중간값, 최빈값을 구하는 코드를 작성하시오. 풀이 import numpy as np from scipy import stats numer_input = int(input()) numbers = list(map(int, input().split())) print(np.mean(numbers)) print(np.median(numbers)) print(int(stats.mode(numbers)[0])) ✍ 평균: np.mean(numbers) ✍ 중앙값: np.median(numbers) ✍ 최빈값: stats.mode(numbers) * 위의 ..
[Python] 데이터프레임의 Null 비율 알아보기 - 문자열 포매팅 데이터 탐색 과정 중 하나인 Null 값의 비율을 알아볼 수 있는 for문을 알아보도록 하겠습니다. for col in session.columns: msg = 'column: {:>10}\t Percent of NaN Value: {:.2f}%'.format(col, 100 * (session[col].isnull().sum() / session[col].shape[0])) print(msg) 코드가 정말 길지만 하나하나 알아보도록 하겠습니다! 1) df.columns : 데이터프레임의 컬럼만 가져오기 2) {:>10}\t : 오른쪽 정렬 및 탭하기 3) {:.2f}% : 소수점 두번째 자리까지 나타내기 4) .format() : 문자열 포매팅 5) df[col] : 시리즈(하나의 열 또는 행) 가져오..
[Python] 그룹별 최대, 최소, 평균, 합계 한 번에 구하기 - agg() 함수 Python pandas에서 groupby를 집계할 때, agg()를 이용하면 다수의 함수를 한번에 적용할 수 있습니다. 문법은 아래와 같습니다. 변수 = dataframe.groupby('column').column.agg(['mean', 'min', 'max', 'sum']) 아래 코드는 대륙별(그룹핑) spirit_servings(지정칼럼)의 평균, 최소, 최대, 합계를 구합니다. result = drinks.groupby('continent').spirit_servings.agg(['mean', 'min', 'max', 'sum']) result.head() 결과> 변수로 따로 선언한 후, agg() 함수를 적용해도 됩니다. function_list = ['size', 'std', 'mean', ..
[Python] 파이차트를 이용해 시각화하기 matplotlib을 이용해 파이차트로 시각화하기 위해서 무조건 필요한 코드가 있습니다. 파이차트에 나타낼 수치와 라벨입니다. 당연하지만 시각화 방법이 많기에 쉽게 혼동될 수 있습니다. (그건 바로 저...) labels = drinks['continent'].value_counts().index.tolist() ratio = drinks['continent'].value_counts().values.tolist() explode = (0, 0, 0, 0, 0, 0) #조각이 갈라지는 것 표현 plt.pie(ratio, explode=explode, labels=labels, autopct='%.0f%%', shadow=True) plt.title('Chart of continent ratio') plt..
[Python] 유일한 값 확인, 유일한 값의 개수세기 - unique(), nunique(), value_counts() 유일한 값 확인: dataframe.series.unique() 유일한 값 개수 확인: dataframe.series.nunique() 1 2 3 4 pp(cp.item_name.unique()) pp('======================'*4) pp(cp.item_name.nunique()) # pp(len(cp.item_name.unique())) cs 결과 > 위와 같이 unique() 실행 결과는 데이터프레임 중 item_name의 유일한 값들이 어떤 것이 있는지 보여주고, nuique()는 유일한 값들의 개수를 알려준다. 유일한 데이터 종류 및 개수 확인: dataframe.series.value_counts() cp.item_name.value_counts() value_counts()를..
[머신러닝] 캘리포니아 주택 가격 예측 - 2. 데이터 준비하기 머신러닝 프로젝트 처음부터 끝까지 1. 큰 그림 보기 2. 데이터 구하기 3. 데이터로부터 인사이트를 얻기 위한 탐색 및 시각화 4. 머신러닝 알고리즘을 위한 데이터 준비 5. 모델 선택 및 훈련 6. 모델을 상세하게 조정하기 7. 솔루션 제시 8. 시스템 론칭 / 모니터링 / 유지 보수 이번 포스팅에서는 데이터를 불러오고, 머신러닝 훈련 바로 전 단계인 훈련용 세트와 테스트 셋을 나누는 과정까지 알아보도록 하겠습니다. 레쓰꽁!!! 1. 데이터 내려받기 import os import tarfile import urllib DOWNLOAD_ROOT = "https://raw.githubusercontent.com/ageron/handson-ml/master/" HOUSING_PATH = os.path.jo..
[머신러닝] 캘리포니아 주택 가격 예측 - 1. 큰 그림 보기 머신러닝 프로젝트 처음부터 끝까지 1. 큰 그림 보기 2. 데이터 구하기 3. 데이터로부터 인사이트를 얻기 위한 탐색 및 시각화 4. 머신러닝 알고리즘을 위한 데이터 준비 5. 모델 선택 및 훈련 6. 모델을 상세하게 조정하기 7. 솔루션 제시 8. 시스템 론칭 / 모니터링 / 유지 보수 1. 큰 그림 보기 - 목표: 캘리포니아 인구조사 데이터를 기반으로 캘리포니아 주택 가격 모델 만들기 - 데이터 특징: 블록 그룹(block group), 인구(population), 중간 소득(median incom), 중간 주택 가격(median housing price) 등을 담고 있음 *블록 그룹: 미국 인구조사국에서 샘플 데이터를 발표하는 데 사용하는 최소한의 지리적 단위 (하나의 블록 그룹 당 보통 600~3..