728x90

파이썬으로 할 수 있는 일 73

선형 회귀분석(Linear Regression) : 사이킷런(Scikit-learn) 기초

사이킷런(Scikit-learn)으로 머신러닝을 시작하는 가장 쉬운 방법 중 하나가 선형 회귀분석을 구현해 보는 것입니다. 선형 회귀분석은 스칼라 종속 변수 y와 하나 이상의 설명 변수(또는 독립 변수) 간의 관계를 모델링하는 선형 접근법입니다. 예를 들어, 사람들의 키와 몸무게로 된 데이터셋이 있다고 합시다. >>> %matplotlib inline >>> import matplotlib.pyplot as plt >>> plt.rc('font', family='NanumGothic') # 네이버 글꼴을 미리 다운로드 받아야 합니다. 다른 글꼴을 사용하시려면 글꼴명을 변경해서 사용하시면 됩니다. >>> heights = [[1.6], [1.65], [1.7], [1.73], [1.8]] # 키는 미터(m..

데이터셋 획득 : 사이킷런(Scikit-learn) 기초

Scikit-learn 라이브러리는 파이썬에서 가장 유명한 머신러닝 라이브러리 중 하나로, 분류(classification), 회귀(regression), 군집화(clustering), 의사결정 트리(decision tree) 등의 다양한 머신러닝 알고리즘을 적용할 수 있는 함수들을 제공합니다. 이번에는 머신러닝 수행 방법을 알아보기 전에, 다양한 샘플 데이터를 확보할 수 있는 방법들을 알아보려고 합니다. 데이터셋(Datasets) 얻기 머신러닝을 시작할 때, 간단하게 데이터셋을 얻어서 알고리즘을 테스트해 보는 것이 머신러닝을 이해하는데 있어 매우 유용합니다. 간단한 데이터셋으로 원리를 이해한 후, 실제 생활에서 얻을 수 있는 더 큰 데이터셋을 가지고 작업하는 것이 좋습니다. 우선 머신러닝을 연습하기 위..

데이터 삭제 (Pandas 레시피)

이번에는 pandas에서 데이터를 삭제하는 방법에 대해 알아보고자 합니다. 1. pandas, numpy 라이브러리를 불러들입니다. >>> import pandas as pd >>> numpy as np 2. 다음 주소에서 데이터셋을 읽어들입니다. >>> url = 'https://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data' 3. 읽어들인 데이터셋을 wine 변수에 저장합니다. >>> wine = pd.read_csv(url) >>> wine.head() 4. 컬럼들 중에서 첫번째, 네번째, 일곱번째, 아홉번째, 열두번째, 열세번째, 열네번째 컬럼을 삭제합니다. >>> wine = wine.drop(wine.columns[[0, 3..

시계열 처리- Time series (Pandas 레시피)

애플 주식 가격을 사용한 시계열 처리를 알아봅니다. 1. pandas, numpy, matplotlib 라이브러리를 불러들입니다. >>> import pandas as pd >>> import numpy as np >>> import matplotlib.pyplot as plt >>> %matplotlib inline # jupyter notebook 내에서 그래프를 그릴 수 있도록 합니다. 2. 아래 주소를 url 변수에 저장합니다. >>> url = 'https://raw.githubusercontent.com/guipsamora/pandas_exercises/master/09_Time_Series/Apple_Stock/appl_1980_2014.csv' 3. 위 주소에서 받은 애플 주식 데이터를 a..

시각화-visualization (Pandas 레시피)

1. pandas, numpy, matplotlib, seaborn 등 필요한 라이브러리를 읽어들입니다. >>> import pandas as pd >>> import numpy as np >>> import matplotlib.pyplot as plt # 파이썬에서 시각화를 처리하는데 필요한 대표적인 라이브러리로 생각하면 됩니다. >>> import seaborn as sns # matplotlib를 바탕으로 해서 시각화를 더 멋지게 만들어줍니다. % matplotlib inline # jupyter notebook(쥬피터 노트북) 내에서 그래프를 보여주도록 해줍니다. sns.set(style='ticks') # 더 나은 스타일로 그래프를 보여주도록 seaborn을 설정합니다. 2. 다음 주소에서 데이..

데이터셋 기본 통계-Stats(Pandas 레시피)

판다스(Pandas)의 기능 중 데이터셋으로 기본적인 통계작업을 하는 명령어들을 알아보도록 합니다. 1. pandas 및 datetime 라이브러리를 읽어들입니다. >>> import pandas as pd >>> import datetime 2. data_url 변수에 다음 주소를 저장합니다. >>> data_url = 'https://raw.githubusercontent.com/guipsamora/pandas_exercises/master/06_Stats/Wind_Stats/wind.data' 3. pandas로 위 주소를 data 변수로 읽어들이되, 처음 3개 컬럼을 datetime 인덱스로 대체합니다. >>> data = pd.read_table(data_url, sep = '\s+', pars..

데이터셋 병합하기-merge(Pandas 레시피)

1. pandas 라이브러리를 읽어들입니다. >>> import pandas as pd 2. 다음 데이터로 3개의 딕셔너리 데이터셋을 만듭니다. >>> raw_data_1 = { 'subject_id' : ['1', '2', '3', '4', '5'], 'first_name' : ['Alex', 'Amy', 'Allen', 'Alice', 'Ayoung'], 'last_name' : ['Anderson', 'Ackerman', 'Ali', 'Aoni', 'Atiches']} >>> raw_data_2 = {'subject_id' : ['4', '5', '6', '7', '8'], 'first_name' : ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'], 'last_nam..

커스텀 함수 적용하기-apply(Pandas 레시피)

1. pandas 및 numpy 라이브러리를 읽어들입니다. >>> import pandas as pd >>> import numpy as np 2. csv_url이라는 변수에 http 주소를 저장합니다. >>> csv_url = 'https://raw.githubusercontent.com/guipsamora/pandas_exercises/master/04_Apply/Students_Alcohol_Consumption/student-mat.csv' 3. 아래 주소에서 데이터셋을 읽어들이고, df이라는 변수에 할당합니다. >>> df = pd.read_csv(csv_url) >>> df.head() # df의 데이터셋의 구조를 알기 위해 상위 열(5)을 조회합니다. 4. 이 데이터프레임에서 'school'..

데이터셋 그룹화-GroupBy (Pandas 레시피)

1. pandas 라이브러리를 읽어들입니다. >>> import pandas as pd 2. 아래 주소에서 데이터셋을 읽어들이고, drinks라는 변수에 할당합니다. >>> drinks = pd.read_csv('https://raw.githubusercontent.com/justmarkham/DAT8/master/data/drinks.csv') >>> drinks.head() # drinks의 데이터셋의 구조를 알기 위해 상위 열(5)을 조회합니다. 3. 어느 대륙에서 평균보다 맥주를 더 많이 마시는가? >>> drinks.groupby('continent').beer_servings.mean() # groupby를 사용해서, 대륙별 맥주 소비량 평균을 계산합니다 4. 각 대륙별 와인 소비 현황을 파악..

데이터 필터링 및 정렬(Pandas 레시피)

1. pandas 라이브러리를 읽어들입니다. >>> import pandas as pd 2. 아래 url 주소에서 데이터셋을 읽어들입니다. >>> url = 'https://raw.githubusercontent.com/justmarkham/DAT8/master/data/chipotle.tsv' >>> chipo = pd.read_csv(url, sep='\t') # 탭 구분자로 되어 있는 데이터셋을 읽어들임 >>> chipo.head() # chipo의 데이터 구조 파악을 위해 상위 5개 데이터셋을 조회 >>> chipo.dtypes # item_price 컬럼의 타입이 object인 것을 확인함(가격 계산을 위해 float으로 바꿀 것임) >>> prices = [float(value[1 : -1])..

728x90