전체 글 187

[Python] 기초 문법 5

If statement (조건문) 명시한 조건이 참인지 거짓인지에 따라 해당 코드를 수행하는 명령어 if/else 문 if 조건 입력 부분(True/False): 조건을 만족하면 실행 else: 조건을 만족하지 않으면 실행 참고) if, else 뒤에 항상 ':'을 붙여야 하는 것에 유의해야 함 조건문은 항상 들여쓰기에 유의해야 함 조건에는 비교 연산자나 and, or, not 연산자를 통해 표현할 수 있음 elif 문 if/else로 나누는 것 외에 조건에 따라 그 이상의 분기로 나누어야 할 때 사용하는 명령어 grade = 90 if 80 < grade

[Python] 연습 2022.01.07

[Python] 기초 문법 4

사전(Dictionary) # 빈 사전 D = {} # 다양한 자료형의 사용 D = {'Name':'James', 'Age':23, 'Friends':['John', 'Bob']} # 다만, key에는 리스트, 딕셔너리를 포함할 수 없다. # key-value 추가 D['Hobby'] = 'Programming' # key-value 삭제 del D['Age'] Key를 사용하여 값을 가져오기 # 인덱싱, 슬라이싱의 방법으로 요소 값을 접근할 수 없다 # 딕셔너리에서는 value를 얻기 위해서는 오로지 key를 통해서만 접근이 가능 D['Name'] # 'James' 사전 관련 함수 - 사전의 모든 key값들 보기 keys() D.keys() - 사전의 모든 value들 보기 values() D.valu..

[Python] 연습 2022.01.07

[Python] 기초 문법 3

리스트 # 리스트 생성 myList = [1, 2, 3] # 빈 리스트 생성 myList = [] myList = list() # 다양한 원소 myList = [1.5, "two", [5, 4, 3]] 리스트 연산(덧셈, 곱셈) myList1 = [1, 3, 5, 7] myList2 = [2, 4, 6, 8] print(myList1 + myList2) # [1, 3, 5, 7, 2, 4, 6, 8] myList = [1, 2, 3] print(myList * 3) # [1, 2, 3, 1, 2, 3, 1, 2, 3] 리스트 인덱싱, 슬라이싱 myList = [2, 4, 6, 8] myList[2] # 6 myList = [1, 3, 5, 7, 9] print(myList[1:3] # [3, 5] myL..

[Python] 연습 2022.01.07

[Python] 기초 문법 2

문자열 큰 따옴표("") 혹은 작은 따옴표('')로 문자열 작성 myStr = "Life is too short, You need Python." 이스케이프 코드 이스케이프 코드 의미 \\ 역 슬래시(\) \' 작은 따옴표(') \" 큰 따옴표(") \n 개행(줄 바꿈) \t 가로 탭 문자열 인덱싱 myStr = "Python" print(myStr[3]) # h print(myStr[-1]) # n # 문자열 인덱스를 통한 수정 주의 (이렇게 수정할 수 없다) myStr = "Auktion" myStr[2] = 'c' print(myStr) # 문자열 슬라이싱을 이용한 수정 myStr = "Auktion" myStr = myStr[:2] + 'c' + myStr[3:] print(myStr) # Auc..

[Python] 연습 2022.01.07

첫 토익 950점 후기 + 뤼이드 튜터(산타토익) 환급반

지난 21년 12월 19일에 치른 토익 점수가 12월 31일에 발표되었다. 점수 잘 나오면 블로그에 후기를 써야겠다고 생각했는데, 그래도 개인적 기준으로는 잘 나온 편이라 생각해서 후기를 작성하게 되었다. 그동안 몇 번 토익을 보려고 했지만, 5만원 가까이 드는 시험이므로 한 번 볼 때 무조건 고득점 해야겠다는 생각이 들어서 미루다가 결국 연말에 보게 되었다. 사실 그렇다고 공부를 열심히 한 것 같지는 않다. 개인적으로 토익도 어차피 하나의 시험이고 얼마나 효율적으로 공부하는지가 중요하다고 생각했기 때문이다. 공부를 위해서 영단기 1000제 모의고사 책을 4권 정도 샀는데, 진짜 한 권만 다 풀고 나머지는 건드리지도 않았다. 사두고 풀지도 않는 문제집이 너무 아까워서 앞으로 책은 안 살 것 같다. 심지어..

리뷰 2022.01.01

[Python] 기초 문법 1

변수(variable) = 사용자가 정의한 값 혹은 객체가 담겨 있는 공간 변수의 초기화 = 생성된 변수에 처음으로 값을 부여하는 것 변수에 데이터를 저장할 때는 = 을 사용한다. 이 때 = 은 할당 연산자(assign operator)라고 한다. 변수 myNum에 10이라는 정수 데이터를 할당(assign)하기 위해서는 아래와 같이 입력한다. myNum = 10 자료형(data type) = 프로그래밍에 사용되는 변수, 객체 혹은 자료의 형태 숫자형은 데이터가 정수인지 실수인지 복소수인지에 따라 int, float, complex로 나뉜다. myInt = 5 myFloat = 3.5 myComplex = 3 + 4j 산술 연산자 연산자 사용 의미 + a + b a와 b를 더한 값 - a - b a에서 ..

[Python] 연습 2021.12.31

MECE와 strategic thinking

"MECE"는 비즈니스 문제 해결 과정에서 논리적이고 전략적인 사고를 위해 반드시 알아야 할 개념이다. M.E.C.E (Mutually Exclusive Collectively Exhaustive)에서 Mutually Exclusive는 상호 중복이 없어야 한다는 것이고, Collectively Exhaustive는 누락된 것이 없는 것을 의미한다. 간단한 예를 보자. A서비스 가입자를 나이 범주별로 구분하여 20대 이하, 30대, 40대, 50대, 60대 이상으로 나눌 수 있을 것이다. 이렇게 하면 각 가입자들 분석에 중복될 일이 없고(Mutually Exclusive), 누락된 가입자도 없을 것(Collectively Exhaustive)이다. 이러한 MECE 사고 방식이 중요한 이유는 1) 필요 내..

이론 2021.12.30

[R] 군집분석(k-means clustering편)

이전 포스팅에서는 차원축소의 방법 중 하나인 다차원 척도법(MDS)을 연습했었다. 시각화 과정에서 k-평균 군집화(k-means clustering)를 시행했었는데, 이번 포스팅에서 이를 한번 다시 다뤄보도록 하겠다. 군집분석 방법에는 계층적 군집화와 비계층적 군집화 방법이 있다. k-평균 군집화 방법은 비계층적 군집화 방법이며, 계층을 두지 않고 유사도를 바탕으로 미리 정한 k개의 군집들 중 하나에 할당한다. k-평균 군집화는 다음과 같은 순서로 진행한다. 초기 군집의 수, k개를 사용자가 정한다. k의 초기 평균값은 랜덤으로 정해진다. 각 레코드는 중심이 가장 가까운 군집으로 할당된다. 군집의 중심점을 다시 계산하고, 3 단계를 반복한다. 더 이상의 변화가 없으면 중단한다. 이제 코드를 연습해보도록 ..

[R] 연습 2021.12.26

국민내일배움카드 하루만에 발급받기

국민내일배움카드가 급하게! 정말 급하게! 필요한 분들을 위한 글입니다. 신청 방법은 관련 블로그가 너무 많아서 따로 작성하지 않았습니다. 신청 방법도 엄청 간단하기 때문에 신청 자체에 드는 시간은 적습니다. 문제는 처리가 늦어질 수 있다는 점이지... ☆ 일단 수강신청 완료까지 최소한 2~3일은 필요합니다. 제 경우엔 수강신청 완료까지 3일 걸렸습니다. 1일차에 발급 신청(이마저도 퇴근 시간 이후에 했습니다) + (무조건 발급 신청할 때, '체크카드' - '은행방문' 필수 + 농협이던 신한이던 해당 은행 계좌가 있어야 좋을듯) 2일차에 카드 발급 승인 → 은행가서 카드 발급 → 온라인으로 수강 신청함(140시간 이상 과정이라 고용센터 승인 필요) 3일차에 상담 후 수강 신청 완료(상담 → 고용센터 승인 ..

일상 2021.12.25

[책 서평] <데이터 과학자 되는 법>

최근에 한빛미디어에서 새로 출간한 에 대한 리뷰를 작성하고자 합니다. 본 리뷰는 서평 이벤트로 도서를 제공받고 작성하였습니다. 먼저 전체적인 총평을 하자면, 데이터 과학자를 꿈꾼다면 한 번쯤은 궁금했을 사항들이나 정보들이 제대로 정리되어 있는 책이었습니다. 데이터 관련 직군에서 커리어를 쌓고 싶은 1인으로써 정말 기초적인 부분부터 취직이 되고 난 후까지 생각할 수 있는 부분들까지 다 녹아있는 것이 너무 좋았습니다. 이 책은 관련 직군에서 성장하기를 원하는 사람이 어떻게 커리어를 관리할 수 있을지를 설명해 주는 책이고, 구체적인 데이터 분석 이론이나 개념을 소개하는 책이 아님을 참고 바랍니다. 요즘 취업 프로그램에서는 현직자 특강을 하기도 하는데, 이 책 한 권이 그런 특강들 만큼이나 유용한 정보를 제공해..

리뷰 2021.12.20

[R] 차원축소(MDS편)

이전 포스팅에서 차원축소의 방법 중 하나인 PCA를 연습했었다. 2021.12.11 - [[R] 연습] - [R] 차원축소 (PCA편) 이번 포스팅에서는 다차원 척도법(MDS: Multi Dimensional Scaling)을 연습하고자 한다. 다차원 척도법은 n개의 개체간의 유사성을 바탕으로 2/3차원의 저차원 공간에 나타낼 수 있도록 하는 방법이다. 예를 들어 한 회사에서 판매 전략을 세우기 위해 시장에서 판매되는 제품들을 조사한 후 유사성을 알아보고자 한다. 데이터를 바탕으로 제품들 사이의 유사성, 비유사성을 2차원 공간상에 시각적으로 표현하여 분석할 수 있을 것이다. MDS에는 두 가지 방식이 있는데, 계량적 MDS(metric MDS), 비계량적 MDS(non-metric MDS)가 있다. 일단..

[R] 연습 2021.12.19

[R] reshape2 패키지 활용하기

지난 포스팅에서는 reshape 패키지의 melt()와 cast()함수를 사용하는 연습을 했었다. 주어진 데이터 셋을 탐색할 때 유용하게 사용할 수 있었다. 이번에는 reshape2 패키지의 함수들을 다루는 연습을 해보도록 하겠다. 내용적으로는 크게 다르지 않다. 사용하는 방법을 한번 더 익히고 또 다른 연습문제를 풀어본다고 생각하면 좋을 것 같다. 이번 포스팅에서도 insurance 데이터를 사용할 것이다. reshape2 패키지를 준비하고, 데이터를 불러온 후 5번째 열을 삭제하였다. library(reshape2) df

[R] 연습 2021.12.18

[R] reshape 패키지 활용하기

지난 포스팅에서 다루었던 내용은 정규화(Normalization)를 하는 방법에 대한 것이었다. 데이터를 본격적으로 분석하기에 앞서서 데이터를 탐색하는 과정은 매우 중요하기 때문에 이번에는 피벗 테이블을 작성할 수 있는 reshape 패키지를 다루는 연습을 할 것이다. 이번 포스팅에서는 insurance 데이터를 사용할 것이다. Q. 주어진 데이터를 피벗 테이블처럼 구성하고 싶다면? A. reshape 패키지의 melt()와 cast() 함수를 사용하자. melt() 함수는 여러 개의 열을 취해서 하나의 열로 쌓는다. 예시를 한번 보자. # 라이브러리 설치 install.packages("reshape") library(reshape) # 성(sex)와 지역(region)을 기준으로 melt() mlt

[R] 연습 2021.12.17

[R] 정규화(Normalization)편

이전 포스팅에서는 차원축소 방법 중 주성분 분석(PCA)에 대한 내용을 다루었다. 주성분 분석을 할 때 값의 스케일(scale)이 다를 경우 왜곡이 발생하기 때문에 정규화 과정을 진행한 후 분석을 해야했다. 따라서 이번에는 정규화(Normalization)를 하는 방법에 대해서 연습할 것이다. 이번 포스팅에서도 Cereals 데이터를 사용할 것이다. Q. 최소-최대 정규화(Min-Max Normalization)를 하고 싶다면? A. 사용자 정의 함수 방법, caret 패키지의 preProcess() 함수를 사용하자. 사실 최소-최대 정규화의 식만 알면 직접 구하는 것도 어렵지 않다. minmax

[R] 연습 2021.12.12

[R] 차원축소 (PCA편)

지금까지는 dplyr 패키지를 이용해서 데이터 프레임을 다루는 연습과 결측값, 이상값의 판별과 처리에 대한 부분을 연습했다. 이제는 데이터 분석에 앞서 또 하나 중요한 과정인 차원축소에 대한 부분을 다뤄보도록 하겠다. 차원축소 방법 중에 가장 기본적인 방법으로 주성분 분석(PCA)가 있다. 주성분 분석은 변수들의 선형 결합을 통해서 최대한 전체 정보를 설명할 수 있는 서로 독립적인 인공 변수로 변환하는 분석 방법이다. 예를 들어 기업의 신용평가를 위한 재무변수가 100개가 넘는데, 이러한 변수를 다 사용하면 오버피팅(overfitting)문제가 발생할 수 있다. 따라서 고차원에서 저차원으로 변환하는 방법이 필요하게 된다. 이론적인 내용에 대해서는 향후 다른 카테고리에 따로 정리할 예정이므로 여기서는 R로..

[R] 연습 2021.12.11