지금, 나는 

Art is anything you can get away with.

반응형

Programming 23

4주차 통계

정리된 데이터에서 유의미한 관계를 찾기 위해 통계를 이용한다. 평균 일반적으로 (산술)평균은 값을 모두 더해 개수로 나눈 것을 의미한다. 이와 달리 가중 평균은 각 값의 중요도에 따라 가중치를 부여하여 계산하는 평균값이다. 여기서는 나누는 값이 개수가 아닌 가중치의 총합이다. 이외에도 평균을 구하는 방식은 다양하다. 따라서 요약된 통계량은 오해를 일으키기 쉽기에 주의해야 한다. 중앙값 말 그대로 순서대로 놓았을 때 중앙에 위치한 값이다. 중복된 값을 포함하느냐에 따라 값이 달라지기도 한다. (홀수의 경우 중앙의 두 값을 평균한다) 분위수 분위수는 데이터를 늘어 놓았을 때 균등한 간격으로 나누는 기준점을 말한다. 주로 사분위수를 사용하며, (25%, 50%, 75%)로 각각 (제1, 제2, 제3)사분위수로..

3주차 정리

3단원은 이다. 저번에 데이터를 수집했다면 이번엔 수집한 데이터를 편집한다. 전에 웹에서 데이터는 CSV, JSON, XML 등의 형식으로 주어진다고 배웠다. 이러한 데이터들은 파이썬의 '판다스'를 통해 '데이터 프레임'의 모습으로 정리된다. 파이썬의 방식으로 엑셀을 다루는 느낌이다. 파이썬은 문자열을 다루는 게 편리한 것 같다. 몇 가지 명령어로 셀 하나하나 필요한 부분만 남길 수 있고, 심지어 다른 열의 정보를 바탕으로 크롤링을 통해 누락된 셀을 자동으로 채울 수 있다. 더군다나 이 모든 과정을 함수로 자동화할 수 있다는게 가장 큰 장점인 것 같다. 같은 인덱스로 저장된 파일에 대해서 동일한 알고리즘으로 빠르게 원하는 모습으로 바꿀 수 있기 때문이다. 기본 미션 #2 데이터 프레임에서 열을 선택할 때..

2주차 데이터 수집

1주차에서 살펴봤듯이 제공되는 데이터베이스는 보통 CSV 혹은 JSON, XML 형식이다. 하지만 일반 개인이 DB로의 직접 접근을 허용하지는 않고 API라는 방식을 통해 간접적으로 이용할 수 있게 한다. 웹 기반 API에는 CSV보다 JSON이나 XML을 많이 사용한다. 웹 기반 API 즉, HTTP를 이용하게 되면 데이터는 텍스트 형식으로 전달된다. 따라서 데이터를 받은 후 파이썬 객체로 바꿔야 한다. 인증키를 받고, HTTP GET 방식으로 호출 URL을 작성하면 해당 파일을 열람할 수 있다. 이후 이 데이터는 그대로 사용하지 않고 다루기 쉽고, 보기 좋은 형태로 정제해야 한다. 하지만 데이터베이스에 원하는 정보가 없고, 웹에서 하나하나 얻어야 한다면 웹크롤링(웹 스크래핑)이라는 방법을 사용해야 한..

데이터 분석 1주차

데이터 분석은 쉽지 않은 작업이다. 양질의 데이터를 마련할 수 있어야 하고 데이터를 정제해서 사용하기 편하게 만들어야 하고 데이터 속에서 분석할 요소를 찾아야 하고 투명하고 합리적인 방법으로 분석해서 이해하기 쉽게 시각화해서 결론을 도출해야 하기 때문이다. 그래서 크롤링부터, 데이터베이스(sql), 통계학 등등 꽤 넓은 지식이 필요하다.. (아는 만큼 보이기에 많이 알수록 더 다양하고 명확한 분석이 가능하다) 이젠 국민 프로그램이 된 파이썬으로 데이터 분석이라니 기대된당^^ '혼공 학습단 8기'에서 썼던 구글 코랩 다시 쓰니까 좋다 뭘 깔아야 할 필요도 없고 메모리, 디스크 사용량도 볼 수 있고 셀 단위로 실행 가능해서 편리 그 잡채 기본 미션 #4 판다스 read_csv() 함수는 말 그대로 csv 파..

추가 학습(2)_순환 신경망

09-1 순차 데이터와 순환 신경망 이전에 이미지 데이터에 대해 최적화된 신경망을 다뤘다면 이번에는 텍스트 데이터에 최적화된 신경망이다. 텍스트 데이터의 경우 우리가 늘 써봐서 알 듯 굉장히 많은 의미를 함축해서 말할 수 있다. 또한, 속담도 있듯 말은 끝까지 들어봐야 한다. 즉, 텍스트는 시계열 데이터와 같이 순서에 의미가 있는 순차 데이터이다. 텍스트를 단어별로 리스트에 넣어도 단어의 순서를 마구 섞어서 주입하면 안 된다. 여기서는 간단히 긍정과 부정을 나누는 모델을 만들 것이다. 따라서 순차 데이터는 이전에 입력한 데이터를 기억하는 기능이 필요하다. 그래서 출력을 다시 입력으로 사용하는 순환 신경망(RNN)을 이용한다. 참고로 데이터의 흐름이 앞으로만 전달되는 신경망을 피드포워드 신경망이라고 한다...

추가 학습(1)_합성곱 신경망

이전 단원에서 딥러닝에 대한 개괄적인 내용을 배웠다. 이번 단원은 이미지 학습에 강력한 효과를 보이는 합성곱 신경망에 대해 알아보자. 08-1 합성곱 신경망의 구성 요소 인공 신경망은 전체 입력층에 대해 전부 가중치를 곱하고 합해서 각 뉴런 별로 출력했다. . 이와 달리 합성곱 신경망은 일부 데이터를 골라 가중치를 곱하고 한 칸씩 이동하며 1개의 뉴런에 대해 여러 개의 출력을 한다. 이렇게 이동하며 가중치를 곱하고 출력하는 단위를 따로 필터나 커널이라고 부른다. 이렇게 합성곱 계산을 통해 얻은 출력은 특성 맵이라고 부른다. . 참고로 각각의 특성 맵에 대한 커널의 각 가중치는 서로 다르다. 따라서 여러 개의 필터를 사용하면 특성맵의 차원(깊이)이 늘어난다. 그리고 이러한 단위는 밀집층과 구별된 합성곱 층..

혼자 공부하는 머신러닝 + 딥러닝 [6주차]_fin

07-1 인공신경망 드디어 딥러닝이다. 여기서는 MNIST라는 딥러닝에서 유명한 데이터셋과 텐서플로(케라스)라는 구글에서 만든 유명한 딥러닝 라이브러리를 이용한다. 딥러닝 라이브러리는 머신러닝 라이브러리와 다르게 벡터와 행렬 연산에 매우 최적화되어 있는 그래픽 처리장치인 GPU를 사용하여 인공 신경망을 훈련한다. 우리가 다룰 데이터는 28*28크기의 이미지 60,000개이다. 0~9까지의 10가지 종류로 이루어진 패션 MNIST를 사용한다. (6장에서와 같이 이미지는 모두 흑백) 훈련 샘플이 60,000개나 되기 때문에 6장에서처럼 전체 데이터를 한꺼번에 사용해 모델을 훈련하는 것보다 하나씩 꺼내서 모델을 훈련하는 방법이 더 효율적으로 보인다. 따라서 확률적 경사 하강법을 사용할 것이다. 4장에서 분류모..

혼자 공부하는 머신러닝 + 딥러닝 [5주차]

Chapter 06 비지도 학습 . 지도학습을 끝내고 딥러닝에 본격적으로 들어가기 전 비지도 학습에 대해 알아보자 06-1 군집 알고리즘 비지도 학습은 지도학습과 다르게 타깃이 주어지지 않는다. 즉, 주어진 데이터를 통해 라는 것을 추출해야 한다. 여기서는 사진을 종류별로 분류하려 한다. . 우리가 눈으로 보고 분류하듯 픽셀을 이용해서 분류해보자. 100*100픽셀의 사과로 추정되는 사진이다. 한 픽셀은 0~255까지의 색상을 나타낼 수 있고 0에 가까울수록 검게 보인다. (컴퓨터는 출력을 위해 계산을 하는데 이때 의미를 부여하기 위해 필요 없는 배경을 0에 가깝게 배정한다) . 이 픽셀정보는 위에서부터 한 행씩 읽힌다. 즉, 100*100의 2차원 배열이 10,000자리의 1차원 배열이 된다. 그리고 ..

728x90