이번에는 실제 데이터를 가지고 실습을 해보도록 하겠다. 1. Bostion dataset 로드 from sklearn import datasets sklearn 패키지에서 제공하는 open dataset을 가져오기 위해 사용하는 모듈 dataset이다. boston_house_prices = datasets.load_boston() datasets 모듈을 통해 보스턴 집 가격 데이터를 가져와 boston_house_prices 변수에 저장한다. print(boston_house_prices.keys()) 로드한 보스턴 전체 데이터에 key값을 출력한다. print(boston_house_prices.data.shape) 보스턴 전체 데이터 중 data에 대한 전체 행, 열 길이를 출력한다. print(b..
1. Python package 로드 및 matplotlib 출력 옵션 설정 우선 사용할 패키지들을 가져오자. 첫 번째 줄은 우리가 단일선형회귀분석을 하기 위해서 사용할 sklearn에 패키지 중 linear_model 모듈을 가져오는 코드이다. linear_model은 회귀분석을 할 수 있게 도와주는 모듈이다. 두 번째 줄은 numpy 패키지를 np라는 이름으로 가져온다. Numpy는 앞에서 배운 것 처럼 행렬, 벡터 등의 수학 계산을 위한 자료구조와 계산 함수를 제공하는 패키지이다. 세 번째 줄은 pandas 패키지를 pd라는 이름으로 가져오겠다. pandas 패키지는 CSV파일 또는 데이터베이스에서 데이터를 읽고 쓸 수 있고 또한 데이터를 쉽게 조작해 새로운 컬럼을 추가할 수 있는 패키지이다. 네 ..
1. 판다스를 이용하여 데이터 정리하기 구글에서 '서울시 관서별 5대 범죄 발생 검거 현황'이라는 검색어로 구글에서 검색한 결과를 보면 data.go.kr이라는 주소가 나타난다. 공공데이터 포럼에 가서 원하는 데이터를 다운 받을 수 잇다. 2015년 자료를 가지고 하겠다. 자료의 이름을 crime_in_Seoul로 바꾸고 파이썬 폴더에 저장하자. pandas를 이용해 데이터 정리하기 In: import numpy as np import pandas as pd 먼저 numpy와 pandas는 항상 import하는 모듈이라고 생각하면 된다. 이제 다운받은 데이터를 pandas로 읽어보겠다. crime_anal_police라는 변수를 저장한다. 그 내용을 보면 서울시 경찰서별로 살인, 강도, 강간, 절도 , ..
이제 첫 작업이다. 설레는 마음을 잠시 누르면서 먼저 목표에 대해 이야기 하겠다. 이번에는 서울시의 구별 CCTV 현황을 분석한다. 단순히 어디에 CCTV가 많이 설치 되었는지부터 시작해서 구별 인구 대비 비율을 확인하는 것까지 진행한다. 특히 인구 현황을 보면서 구별 인구 현황에 대해서도 확인해볼까 한다. 그리고 구별 CCTV 현황을 시각화하는 부분도 이야기하려고 한다. 1. CCTV 현황과 인구 현황 데이터 구하기 서울시의 CCTV 현황은 구글 검색만으로 쉽게 얻을 수 있다. '서울시 자치구 연도별 CCTV 설치 현황'을 검색하면 '서울 열린데이터 광장' 사이트의 해당 페이지로 갈 수 있다. 페이지 하단으로 가서 sheet 탭을 클릭하면 된다. 그러면 나타나는 화면에서 CSV를 클릭하면 다운 받을수 ..
앞에서 숫자 데이터를 다루는 다양한 방법을 살펴봤다. 숫자 데이터를 그래프로 시각화하면 한눈에 데이터를 파악할 수 있어서 편리하다. 이번에는 시각화 라이브러리인 matplotlib을 이용해 파이썬에서 숫자로 이뤄진 데이터를 다양한 그래프로 보기 좋게 표현하는 시각화 방법을 살펴보겠다. matplotlib로 그래프 그리기 matplotlib는 파이썬에서 데이터를 효과적으로 시각화하기 위해 만든 라이브러리이다. matplotlib는 MATLAB(과학 및 공학 연산을 위한 소프트웨어)의 시각화 기능을 모델링해서 만들어졌다. 따라서 MATLAB의 시각화 기능을 이용해본 경험이 있다면 matplotlib을 쉽게 이용할 수 있다. matplotlib을 이용하면 몇 줄의 코드로 간단하게 2차원 선 그래프(plot),..
데이터 연산 pandas의 Series()와 DataFrame()으로 생성한 데이터끼리는 사칙 연산을 할 수 있다. 먼저 Series()로 생성한 Series 데이터의 예를 살펴보겠다. In: s1 = pd.Series([1, 2, 3, 4, 5]) s2 = pd.Series([10, 20, 30, 40, 50]) s1 + s2 Out: 0 11 1 22 2 33 3 44 4 55 dtype: int64 In: s2 - s1 Out: 0 9 1 18 2 27 3 36 4 45 dtype: int64 In: s2/s1 Out: 0 10.0 1 10.0 2 10.0 3 10.0 4 10.0 dtype: float64 파이썬의 리스트와 NumPy의 배열과 달리 pandas의 데이터끼리는 서로 크기가 달라도 연..
구조적 데이터 표시와 처리에 강한 pandas 우리는 지금 데이터가 넘쳐나는 데이터 시대에 살고 있다. 데이터를 얼마나 잘 처리하느냐가 개인적으로나 업무적으로 중요해졌다. 파이썬을 이용하면 다량의 데이터를 손쉽게 처리할 수 있다. 파이썬에서 데이터 분석과 처리를 쉽게 할 수 있게 도와주는 것이 바로 pandas 라이브러리이다. pandas는 Numpy를 기반으로 만들어졌지만 좀 더 복잡한 데이터 분석에 특화돼 있다. Numpy가 같은 데이터 타입의 배열만 처리할 수 있는 데 반해 pandas는 데이터 타입이 다양하게 섞여 있을 때도 처리할 수 있다. pandas에는 아주 많은 기능이 있다. 따라서 여기서는 NumPy와 마찬가지로 pandas의 기본적인 활용법 위주로 살펴보겠다. 좀 더 자세한 정보가 필요..
1. 모듈을 사용하는 이유 파이썬에서 모듈은 상수 , 변수, 함수, 클래스를 포함하는 코드가 저장된 파일이다. 모듈은 다른 모듈에서도 불러서 실행할 수도 있고 파이썬(혹은 IPython) 콘솔이나 주피터 노트북에서 불러서 실행할 수도 있다. 지금가지는 모듈을 사용하지 않고 코드를 작성했지만 파이썬으로 코딩할 때는 다음과 같은 이유로 모듈을 활용하기 때문에 모듈의 사용법은 꼭 익혀야 한다. -모듈로 나누면 코드 작성과 관리가 쉬워진다. 규모가 작은 프로그램은 하나의 파일에 모든 코드를 작성해도 문제가 없다. 하지만 어느 정도 규모가 있는 프로그램을 만들 때 파일 하나에 모든 코드를 작성하면 코드가 복잡해져 관리하기가 어려워진다. 따라서 어느 정도 규모가 큰 프로그램을 작성할 경우 파일 하나에 전체 코드를 ..