2021/09 27

Pandas(1)

만들기, 읽기, 쓰기 Pandas는 데이터 애널리시스에게 가장 인기있는 파이썬 라이브러리이다. 시작 먼저, Pandas를 쓸 때 전형적으로 아래와 같은 코드를 삽입한다. import pandas as pd 데이터 만들기 판다스에는 가장 핵심이 되는 두가지 오브젝트가 있는데, 바로 데이터프레임DataFrame과 시리즈Series다. 데이터프레임은 표table다. 여기에는 개별 항목의 배열이 포함되어 있으며, 각 항목은 특정 값을 갖는다. 예를 들면, 아래의 코드처럼 사용할 수 있다. pd.DataFrame({'Yes' : [50, 21], 'No' : [131, 2]}) Yes No 0 50 131 1 21 2 데이터프레임의 개별 항목은 정수 이외에도 문자열 등이 들어갈 수 있다. 데이터프레임 오브젝트는 ..

STUDY LOG/Kaggle 2021.09.26

Intro to Machine Learning(7)

Machine Learning Competitions 당신의 성장을 확인하고 계속 발전하기 위해 기계 학습 시합의 세계에 들어오세요! 기계 학습 시합은 당신의 데이터 사이언스 기술과 당신의 진척도를 평가하기에 가장 좋은 방법입니다. 다음 실습으로 당신은 캐글 학습 유저들을 위한 주택 가격 시합에 예측치를 만들고 제출하는 것입니다. 이것으로 Intro to Machine Learning 코스를 마치겠습니다. 이렇게 Intro to Machine Learning의 모든 수업을 번역하며 공부해봤습니다. 결국 이 코스를 요약하자면, scikit-learn이라는 머신러닝 라이브러리를 활용해본다. decision tree와 random forest를 사용해본다. 만들어진 모델이 잘 동작하는지에 대한 기준을 MAE로..

STUDY LOG/Kaggle 2021.09.26

Intro to Machine Learning(6)

랜덤 포레스트(Random Forests) 더 세련된 기계학습 알고리즘을 사용해봅시다. 소개 의사 결정 트리는 당신에게 어려운 결정을 남겨줍니다. 잎사귀(leaves)가 많아 깊이가 깊은 트리는 각 예측이 단지 몇 개의 주택으로만 얻은 역사적인 데이터로 된 것이기 때문에 과적합(Overfitting)이 일어날 것입니다. 또, 잎사귀(leaves)가 적어 깊이가 얕은 트리는 행 데이터들로부터 패턴을 찾기 위한 여러 구분점들을 포착하는 것에 실패해서 품질이 형편없을 것입니다. 과소적합(Underfitting)이 일어나는 것이지요. 최근의 가장 세련된 모델링 기법일지라도, 과적합과 과소적합 사이의 이 긴장감을 마주합니다. 하지만, 많은 모델들이 더 나은 품질을 끌어내기 위한 영리한 아이디어들을 가지고 있습니다..

STUDY LOG/Kaggle 2021.09.26

Intro to Machine Learning(5)

과적합(Overfitting)과 과소적합(Underfitting) 당신은 이 단계의 끝에서 과적합과 과소적합의 개념을 이해할 수 있을 것이고 이 개념들을 당신의 모델을 더 정확하게 만드는 것에 적용할 수 있을 것입니다. 다른 모델들과의 실험 이제 당신은 모델의 정확도를 측정하는 신뢰할 만한 방법을 알게 되었고, 이를 통해 다른 대체할 수 있는 모델들로 실험하며 어떤 모델이 최고의 예측을 하는지 확인할 수 있습니다. 하지만, 당신은 어떤 대체 모델을 가지고 있나요? scikit-learn의 공식 문서에서 의사 결정 트리가 당신이 원하거나 필요로 하는 것 이상으로 많은 옵션을 가지고 있다는 것을 확인할 수 있습니다. 가장 중요한 옵셥은 트리의 깊이(depth)를 결정합니다. 우리의 첫번째 강의로 돌아가보면,..

STUDY LOG/Kaggle 2021.09.25

Intro to Machine Learning(4)

모델 검증(Model Validation) 모델의 퍼포먼스를 측정해 대안을 테스트하고 비교할 수 있습니다. 일단 모델은 만들어봤죠. 그런데, 얼마나 좋은 모델인가요? 이번 시간에는 당신의 모델의 품질을 측정해서 모델 검증하는 법을 배울 것입니다. 모델의 품질을 측정하는 것은 당신의 모델을 계속해서 발전시키는 열쇠입니다. 모델 검증이란 무엇인가? 당신은 지금껏 당신이 만든 거의 모든 모델을 평가하고 싶을 것입니다. 대부분(전부는 아니지만)의 경우, 모델의 품질과 관련된 수치는 예측 정확도입니다. 다시 말해, 모델의 예측이 실제 값과 얼마나 가까운지가 중요하다는 것입니다. 많은 사람들은 예측 정확도를 측정할 때 큰 실수를 합니다. 그것은 바로 그들이 학습 데이터로 예측을 만들고, 그 학습 데이터 안에 있는 ..

STUDY LOG/Kaggle 2021.09.25

Intro to Machine Learning(3)

당신의 첫번째 기계 학습 모델 당신의 첫번째 모델을 만들어보세요. 만세! 모델링을 위한 데이터 선택하기 당신의 데이터셋은 변수가 너무나도 많습니다. 어떻게 데이터의 이 압도적인 양을 이해할 수 있도록 줄일 수 있을까요? 우리의 통찰력을 사용해서 몇가지 변수를 집어내고자 합니다. 이후 코스들에서는 자동으로 변수들의 우선순위를 정하는 전형적인 기술을 소개하려고 해요. 일단, 변수/열(columns)을 선택하기 위해서는 데이터셋의 모든 열 목록을 봐야합니다. 이 목록은 데이터프레임의 columns 속성으로 볼 수 있습니다.(아래 코드의 맨 아래줄) import pandas as pd melbourne_file_path = '../input/melbourne-housing-snapshot/melb_data.cs..

STUDY LOG/Kaggle 2021.09.23

캐글(Kaggle) Notebook 실습(Exercise)하는 방법

캐글에서 Courses를 선택해 수강하고, 강의 글을 읽은 뒤에 코드 실습을 하라고 합니다. 이 때, 목록에 있는 Exercise의 버튼을 클릭하거나 팝업으로 뜨는 Your turn 아래의 "Start Exercise"를 클릭하거나 아니면 글 아래에 있는 링크를 따라가면 kaggle notebook으로 연결이 됩니다. (아예 내비게이션 바에서 Code탭을 선택 후에 접근할 수 도 있지만, Courses 실습 환경이라고 가정했으니..) 기본적으로 jupyter notebook을 사용해보셨다면, 어렵지 않게 적응하실 수 있으나 혹시 처음 보시는 분들을 위해 적어보자면... 메인이 되는 화면 중앙의 패널이 노트북이고 여기에는 마크다운과 코드 2가지 블록을 삽입할 수 있습니다. 현재 보이는 화면 또한 캐..

STUDY LOG/Kaggle 2021.09.22

Intro to Machine Learning(2)

기본 데이터 탐험 데이터를 불러오고 이해하기 Pandas를 이용하여 데이터와 친해지기 어떤 기계학습 프로젝트든지 당신 스스로가 데이터와 친해지는 것이 첫걸음입니다. 당신은 이를 위해 Pandas 라이브러리를 사용할 것입니다. Pandas는 데이터 사이언티스트들이 데이터를 찾고 능수능란하게 다루기 위해 사용하는 주요 툴입니다. 대부분 코드에서 Pandas를 줄여서 pd라고 표현합니다. 이것을 아래와 같이 명령할 수 있습니다. import pandas as pd Pandas 라이브러리의 가장 중요한 부분은 바로 데이터프레임(DataFrame)입니다. 데이터프레임은 대체로 당신이 표(table)라고 생각하는 데이터 타입을 가집니다. 이것은 엑셀의 sheet나 SQL 데이터베이스의 table과 비슷합니다. Pa..

STUDY LOG/Kaggle 2021.09.22

Intro to Machine Learning(1)

모델은 어떻게 작동하는가? 먼저, 기계학습 모델이 어떻게 작동되고 어떻게 사용되는지 알아보는 것부터 시작하겠습니다. 이미 좀 배웠다면 좀 시시할테지만, 곧 파워풀한 모델을 만들것이니 일단 들어보죠. 당신의 친척이 부동산으로 수백만 달러를 벌었습니다. 그는 당신의 데이터 사이언스에 대한 관심을 보고 비즈니스 파트너가 되달라고 오퍼를 했습니다. 그는 돈을 제공할 것이고 당신은 다양한 주택들의 가치를 예측하는 모델을 제공할 것입니다. 당신은 그에게 과거의 그가 부동산의 가치를 어떻게 예상했는지를 물어봤고, 그는 그저 직감이라고 답했습니다. 하지만 더 많은 질문들을 통해 그가 과거에 주택 가격의 패턴을 알아냈고, 그 패턴을 그가 고려 중인 새로운 주택을 예측하는 데에 사용한 것을 알 수 있었습니다. 기계학습은 ..

STUDY LOG/Kaggle 2021.09.22

캐글(Kaggle) 등급 알아보기

캐글에는 Progression System이 존재한다. 쉽게 생각하면 캐글에서 매기는 전문가 등급이라고 봐도 될 것 같다. 등급을 매기는 분야는 Competitions, Notebooks, Datasets, Discussion 이렇게 총 4가지가 있다. 그리고, 각각의 분야에서 얻을 수 있는 등급은 밑에서부터 Novice, Contributor, Expert, Master, Grandmaster 이렇게 5가지 등급이 존재한다. 먼저, Novice 등급은 써있는대로 가입만하면 주어지는 기본 등급이다. 더 설명할 것은 없는 것 같다. 다음으로 Contributor 등급은 위에 나와있듯 4가지 조건이 필요하다. - 1번 이상 notebook이나 script를 실행 - 1번 이상 competition이나 tas..

STUDY LOG/Kaggle 2021.09.22