본문 바로가기

빅데이터

(7)
불린 인덱싱(boolean indexing) & object to int 변환 불린 인덱싱은 필터링의 가장 대표적인 방법으로 많은 데이터 중 내가 원하는 조건을 만족하는 데이터를 추출할 수 있는 기법이다. 시리즈 객체에 조건식을 적용하여 각 행의 데이터가 조건을 만족하는지를 True/False 값으로 표시하여 불린 시리즈를 만들 수 있다. 만들어진 불린 시리즈를 데이터 프레임 형식으로 바꿔주면 원하는 값들만 추출할 수 있다. 앞에서 계속 이용하던 데이터를 이용해서 실습을 해보도록 하겠다. 데이터를 보니 각 브랜드마다 진출해있는 국가, 총 점포 수가 다른 것을 볼 수 있다. 불린 인덱싱을 이용하여 총 점포 수가 20개 이상 40개 미만인 브랜드만 추출해보도록 하겠다. 데이터의 총 점포 수 중 20개 이상 40개 미만을 bool1에 저장하여 프린트를 했는데 오류가 뜬다. 데이터 인포를..
특정 데이터 값 변경(replace함수) 지난번에 다루던 데이터를 계속해서 이용한다. 이 데이터의 구분 컬럼을 보면 한식과 비한식으로 나눠져있다. 한식을 판매하는 업체만 보고 싶으니 구분에서 한식에 해당하는 데이터만 불러온다. 위 형식으로 입력하면 데이터의 값 중 한식과 일치하는지 일치하지 않는지 보여주는 bool 타입으로 나오게 된다. 데이터 프레임을 씌워주면 보기 편하게 된다. 데이터를 보다보면 27번 인덱스의 값 처럼 업체명이 Nan값인 부분이 있다. 이유는 잘 모르지만 누락된 데이터이기 때문에 채워주도록 한다. 검색을 해보니 벽제외식산업개발의 브랜드중 하나인 것 같다. (어차피 혼자 연습하는 데이터이니 틀려도 된다.) 저 NaN에 벽제외식산업개발을 넣어주도록 하자. replace 함수는 다양한 방법으로 사용할 수 있는데 다양한 사용법을 ..
drop 함수, 인덱스 리셋 데이터를 다룰때 필요한 간단한 기능을 알아보자 실습을 하며 이용할 데이터는 공공데이터 포털에서 가져왔다. https://www.data.go.kr/data/3076483/fileData.do 2013년 기준 국내 외식기업의 해외 진출 현황을 보여주는 자료이다. 우선 데이터를 불러온 후 형태를 확인해본다. 총 112개의 행, 7개의 컬럼으로 구성된 데이터이다. 그런데 컬럼에 있어야 할 내용이 2행에 있고 오타까지 있는 것을 볼 수 있다. 우선 컬럼명부터 바꿔주겠다. 컬럼이 총 7개이기 때문에 각 열에 맞는 이름을 순서대로 7개 적어주면 위 사진처럼 컬럼명이 생긴다. 그런데 1행과 2행의 내용이 필요가 없어보인다. drop 함수를 이용하여 삭제해주도록 한다. drop을 이용해주면 필요 없는 내용들을 제거해줄..
상관계수와 미세먼지 데이터 상관계수(Correlation coefficient)란 X와 Y사이의 선형성의 정도를 나타내는 측도이다. 다시 말해 X와 Y의 상관관계를 나타내는 수치이다. 상관계수는 -1부터 1사이의 숫자로 표시되는데 절댓값으로 1에 가까울수록 상관관계가 강한 것이다. 상관계수가 0이면 두 변수간의 상관관계가 없다는 뜻이고 0에 가까울수록 관련성이 적다. 상관계수가 양(+)의 값을 가질 경우 X가 증가할 때 Y 또한 증가한다는 경향이 있음을 의미한다. 음(-)의 값을 가질 때는 X가 증가할 때 Y는 감소하는 경향이 있음을 의미한다. 상관계수를 구하는 공식은 간단하지만 직접 계산해보면 매우 매우 귀찮다. 하지만 이 역시 파이썬을 이용하면 눈 감고도 구할 수 있다. 2015년도의 미세먼지와 관련된 데이터를 이용하여 여러 ..
과소적합(Underfitting) 그리고 과적합(Overfitting) 가장 왼쪽에 있는 Degree 1 예측 곡선을 보면 학습데이터에 비해 지나치게 단순한 선형 곡선을 보인다. 누가 봐도 예측이 잘 안될 것 같다. 반면에 가장 오른쪽에 있는 Degree 15 예측 곡선 그림을 보면 예측 모델이 샘플 데이터를 정확히 예측한 모습을 볼 수 있다. 그렇다면 Degree 15 예측 곡선이 가장 효과적인 예측 모델일까? 머신러닝 모델링을 할 때 보통 트레이닝 데이터를 이용하여 학습을 시키고 테스트 데이터를 이용하여 예측을 한다. Generalization된 모델을 만들기 위해 트레이닝 데이터를 이용하여 학습을 하는 과정이 매우 중요한데 이 과정에서 데이터의 패턴을 제대로 학습하지 못하거나 과도하게 학습을 한다면 문제가 발생할 수 있다. 바로 과소적합과 과적합 문제이다. 과소적합(U..
단순선형회귀분석과 보스턴 집값 데이터(2) 자 이제 주어진 정제된 데이터 중 방의 수와 집값의 관계를 알아보도록 하겠다. 표에 나와있는 숫자들들 일일이 비교하기에는 시간도 너무 많이 걸리고 직관적이지 않다. 일일이 비교하면 파이썬을 사용하는 의미가 없다. 방의 수와 집값이 어떤 관계가 있는지 알아보기 위해 산점도를 그려보도록 하겠다. 산점도는 서로 다른 수 변수 사이의 관계를 보여준다. 산점도를 그리기 위해 plot() 메서드를 사용한다. ( ) 안에 그래프의 종류, x 축의 값, y 축의 값, 크기, 점 색깔 등을 넣어주면 된다. 어느 정도 양의 관계가 있는 것처럼 보이는데 자세히 보면 소수의 랜덤한 값들이 있는 것을 알 수가 있다. 보기에도 안 좋고 상관관계를 분석하는데 잘못된 영향을 끼칠 수 있기 때문에 삭제해 준다. 참고로 아래 그림은 g..
단순선형회귀분석과 보스턴 집값 데이터(1) 정의 회귀분석이란 간단히 말해 데이터의 관계성을 기술하는 것, 다시 말해 하나의 변수로 다른 변수의 값을 예측하거나 설명하는 것이다. 통계학의 자료 분석 방법 중 하나이다. 하나의 종속변수에 독립변수가 하나라면 단순회귀분석, 하나의 종속변수에 둘 이상의 독립변수를 다중회귀분석이라고 한다. 파이썬에서는 대표적으로 sklearn(scikit-learn) 패키지에서 선형회귀분석을 위한 함수(Linear Regression)를 제공한다. 회귀분석을 통해 다음 세가지를 알 수 있다. 1. 종속변수와 독립변수 간에 선형관계 존재 여부 2. 종속변수에 영향을 미치는 독립변수가 유의한지와 영향력의 정도 3. 추정된 회귀모형을 통한 종속변수의 예측치 종속변수: 서로 관계를 주고 받는 둘 또는 그 이상의 변수중에는, 다른..