전체 글 40

Pandas(4)

그룹과 정렬 데이터셋이 복잡할수록 집중해야할 것 소개 매핑Maps 메소드는 데이터프레임이나 시리즈 안에 있는 데이터의 전체 열에 대해 한 번에 변형시킬 수 있게 해줬지만, 여러분은 종종 데이터를 그룹화하고 데이터가 있는 그룹에 특정한 작업을 수행하고 싶을 것입니다. 이제 배울 것이지만, groupby() 명령을 통해 이 작업을 수행할 수 있습니다. 또한 어떻게 데이터를 정렬하는지와 함께, 여러분의 데이터프레임을 찾아보는 더 복잡한 방법과 같은 추가적인 주제에 대해서도 다뤄볼 것입니다. exercise를 시작하려면 여기를 눌러주세요! (이 글은 Kaggle의 코스를 번역한 글입니다.) 그룹단위 분석 import pandas as pd reviews = pd.read_csv('../input/wine-rev..

STUDY LOG/Kaggle 2021.10.03

Pandas(3)

요약 함수Summary Function와 매핑Maps 여러분의 데이터에서 유의미한 통찰들을 추출해보세요. 소개 여러분은 직전 튜토리얼에서 데이터프레임DataFrame이나 시리즈Series에서 관련 데이터를 어떻게 선택하는지를 학습했습니다. exercise에서 증명했다시피 올바른 데이터를 데이터셋에서 골라내는 것은 작업을 끝내는 데에 있어서 중요합니다. 하지만, 데이터가 항상 원하는 형식format으로 메모리에서 나오는 것은 아닙니다. 때때로 이 데이터를 작업에서 사용할 수 있도록 형식을 수정하는 일을 해야만 합니다. 이 튜토리얼에서는 입력을 "딱 맞게" 얻기 위해 데이터에 적용할 수 있는 여러 다른 명령들을 다룰 것입니다. 이 주제에 대한 exercise를 진행하시려면, 여기를 눌러주세요!(누차 말씀드리..

STUDY LOG/Kaggle 2021.10.01

Intro to Deep Learning(4)

과적합Overfitting과 과소적합Underfitting 추가 용량이나 조기 정지로 품질을 향상시키기 소개 지난 시간의 예시로 돌아가서, Keras는 모델을 학습시켰다는 것을 학습 기록과 에폭에 따른 손실 측정 값에 보관할 것입니다. 이번 시간에는 이 학습 곡선을 어떻게 해석할 것인가와 그것을 어떻게 모델 개발 가이드로 사용할 수 있는지를 배울 것입니다. 특히, 학습 곡선에서 과적합과 과소적합의 증거를 살펴보고 이를 고치기 위한 몇 가지 전략을 살펴볼 것입니다. 학습 곡선The Learning Curves 해석하기 여러분은 아마 학습 데이터의 정보가 두 종류라고 생각할 것입니다. 바로, 시그널Signal과 노이즈Noise이죠. 시그널은 일반화하는 부분입니다. 즉, 여러분의 모델이 새로운 데이터로부터 예..

STUDY LOG/Kaggle 2021.09.30

Intro to Deep Learning(3)

확률 경사 하강법Stochastic Gradient Descent 앞선 두 강의에서 dense 레이어의 누적으로 어떻게 완전 결합fully-connected된 신경망을 만드는지 학습했습니다. 처음 만들어질 때, 모든 신경망의 가중치weight는 랜덤하게 설정됩니다. 신경망은 아직 아무것도 "알지" 못하는 것이지요. 이번 수업에서 여러분은 어떻게 신경망을 학습시키는지 배울 것입니다. 또는, 신경망이 어떻게 학습"하는지"를요. 모든 기계 학습 작업에서 그러하듯, 먼저 학습 데이터를 설정하는 것으로 시작합니다. 학습 데이터의 각 예시는 몇 개의 특징(입력 값)들과 예상 타겟(출력 값)으로 구성되어 있습니다. 신경망을 학습시킨다는 것은 특징을 타겟으로 변환할 수 있는 방식으로 그 가중치를 조정한다는 것을 의미합..

STUDY LOG/Kaggle 2021.09.30

Intro to Deep Learning(2)

(이 글은 캐글의 Intro to Deep Learning 강의를 번역한 것입니다. 글 하단의 출처를 통해 캐글 사이트에 방문하시면, 캐글 노트북을 통해 직접 모델을 만드실 수 도 있으니 한번쯤 방문해보시는 것을 추천드립니다.) 심층 신경망Deep Neural Networks 복잡한 관계들을 파해치기 위해 히든 레이어를 신경망에 추가해보세요! 소개 이 수업에서는 심층 신경망이 유명해진 어떤.. 복잡한 관계들을 학습하는 신경망을 만드는 방법을 살펴볼 것입니다. 여기서 중요한 아이디어는 모듈방식modularity입니다. 모듈방식이란 복잡한 네트워크를 그보다는 단순한 기능적인 유닛으로부터 만들어내는 것을 말합니다. 여러분은 선형 유닛이 선형 함수를 어떻게 연산하는지를 앞선 수업에서 보셨습니다. 이제는 이 하나..

STUDY LOG/Kaggle 2021.09.29

Intro to Deep Learning(1)

하나의 뉴런 딥 러닝의 기본이 되는 선형 유닛에 대해 배워봅시다. 딥 러닝의 세계에 오신 것을 환영합니다! (이 글은 캐글의 Intro to Deep Learning 강의를 번역한 것입니다. 글 하단의 출처를 통해 캐글 사이트에 방문하시면, 캐글 노트북을 통해 직접 모델을 만드실 수 도 있으니 한번쯤 방문해보시는 것을 추천드립니다.) 캐글의 딥 러닝 코스에 오신 것을 환영합니다! 여기에서 여러분의 심층 신경망 모델을 만드는 것을 시작할 때 필요한 것들을 배우실 수 있습니다. Keras와 Tensorflow를 통해 다음과 같은 내용을 배우게 될 것입니다. 완전 연결fully-connected 신경망 아키텍쳐를 만드는 방법 신경망을 전통적인 기계학습 문제인 회귀regression와 분류classificati..

STUDY LOG/Kaggle 2021.09.28

프로그램 설계 도구

감사하게도 교수님께서 C++ 언어에 대해서만 공부하는게 아니라, 프로그래밍 설계 기법까지 알려주셔서 이렇게 블로그에 정리해보게 되었다. 프로그램 설계란? 프로그램 설계란, 프로그램의 설계도를 작성하는 과정을 말한다. 이는 타인과 프로그램 동작의 알고리즘을 공유하는 행위로 프로그래머의 핵심 기술이라고 볼 수 있다. 프로그램 설계는 직관적이고 이해가 쉬워야하며, 설계도를 보고 프로그래밍(코딩)이 가능해야 좋은 설계라고 할 수 있다. 프로그램을 구현하는 것은 C++과 같은 프로그래밍 언어로 할 수 있다. 그렇다면, 프로그램 설계는 어떤 도구로 할 수 있을까? 여러가지 프로그램 설계 도구 1. 순서도Flowchart 프로그램 설계 도구에는 대표적으로 순서도Flowchart가 있다. 직사각형이나 마름모꼴의 도형으..

STUDY LOG/C\C++ 2021.09.27

C++이란?

지난 학기에 배운 C도 아직 정리해서 올리지 않았지만, 그 확장판이라고 볼 수 있는 C++을 이번 학기에 수강하기에.. 여튼 시작해보겠습니다.😆 C++ 이란 무엇인가? 일단, C++이란 프로그래밍 언어입니다. 소프트웨어를 만들거나 알고리즘 문제를 풀거나 멋져보이고 싶거나 어쨌거나 우리는 프로그래밍 언어를 통해 프로그램을 짜야합니다. 이 프로그래밍 언어에도 어떤 철학에 따라 두가지 종류가 있는데, 바로 절차 지향 언어와 객채 지향 언어가 있습니다. 절차 지향 언어Procedural Programming language는 말그대로 일의 절차에 초점을 맞춘 언어로 대표적으로 C언어가 이에 해당됩니다. 프로그램을 절차로 이해하고 순서에 맞게 짜는 것에 특화되었다고 볼 수 있을 것 같습니다. 이와 반대로, 객체 ..

STUDY LOG/C\C++ 2021.09.27

알고리즘이란

# 알고리즘의 발음에 대해서는 논란이 많습니다. 실제 발음은 알고리듬과 유사하나, 여기에서는 대중성을 고려해 알고리즘이라고 사용하겠습니다. 💡 생각하는 방법을 터득한 것은 미래의 문제를 미리 해결한 것이다. -James Watson 알고리즘이란 문제의 해결 절차를 체계적으로 기술한 것을 의미합니다. 여기서 문제는 입력과 출력을 명시할 수 있어야 합니다. 즉, 입력으로부터 출력을 만들어내는 과정을 알고리즘이라고 부릅니다. 예를 하나 들어보죠. 학생이 30명인 한 반에 대하여 학생들을 키 순서로 정렬하는 문제가 있다고 가정하겠습니다. 문제는 키 순서로 정렬하는 것이고, 입력은 학생 30명의 학번과 키이며, 출력은 키 순서로 정렬된 학번 목록이라고 하겠습니다. 이렇게 입력이 주어지고, 문제를 통해 출력을 해내..

엘레베이터 순서도

1주차의 과제는 엘레베이터의 알고리즘을 순서도로 표현하는 것이었다. 지금은 알고리즘 설계가 무엇을 의미하는지도 잘모르고, 이제 막 배우기 시작한 매우 보잘것 없는 상황에서 만든 것이지만 언젠가 이 글을 돌아볼 때에는 부족한 것을 찾고, 더 효율적이고 명확하게 수정할 수 있는 사람으로 잘 성장했기를 바라며, 부끄럽지만 만들어본 순서도를 업로드 해본다. 혹시나 이에 대한 여러 의견과 개선방향이 있다면 알려주시면 정말정말 큰 도움이 될 것 같습니다.🙏🏻 지금 느끼는 문제점은... 복잡하고 쓸데없이 자세한가..라는 것?ㅋㅋㅋㅋ🤪