본문 바로가기
반응형

전체 글92

[홀로서기 #05] 회귀 모델링 하기 전에 꼭 확인하기 (2) - 타겟 분포 (Log Transformation) # 홀로서기 기획 연재물은 최근 개인 프로젝트를 진행하면서 겪은 어려움들을 기록한 지극히 개인적인 콘텐츠입니다. 무작정 모델링 하기 지난 시간(OneHotEncoding: 홀로서기 #04)에 이어서 본격적으로 모델링을 진행했다. 결론부터 말하자면, 모델 성능은 처참했다. 꼭 확인해주어야 하는 부분을 확인해주지 않고 넘어갔기 때문인데, 그 부분은 뒷부분에서 확인할 수 있다. 회귀모델에 대표적으로 Linear Regression 이 있고, 각 제약식을 어떻게 주느냐에 따라서, Ridge, Lasso, ElasticNet으로 분화된다. 기본적인 회귀 분석에는 제약식이 포함될 수 있는데, 제약이 없으면 우리가 추정하려는 가중치 w가 폭발적으로 커질 수 있고, 이로 인해서 분산이 커지는 문제가 발생할 수 있다. .. 2022. 1. 3.
[홀로서기 #04] 회귀 모델링 하기 전에 꼭 확인하기 (1) - 범주형 특성 변수(Categorical Features) # 홀로서기 기획 연재물은 최근 개인 프로젝트를 진행하면서 겪은 어려움들을 기록한 지극히 개인적인 콘텐츠입니다. SQL로 최종 데이터 가져오기 지난 시간에 이어서 서울권 공유자전거(따릉이) 이용 데이터를 살펴본다. 시각화를 통해 데이터의 전체적인 모양과 흐름 파악을 마쳤으니, 예측 모델링을 위한 최종 전처리를 진행하고 실제로 ML(Machine Learning) 모델을 적용해봤다. 지금까지(홀로서기 #03)는 서울 강남역 근처의 5개소 대여소만을 기준으로 데이터를 봤다면, 최종 모델링은 전체 데이터를 활용해서 진행했다. 아래 Python 코드는 AWS의 RDS(데이터베이스)에 저장된 데이터 중 최종 모델링에 활용할 데이터를 SQL Query로 불러오는 예시를 나타낸 것이다. conn_aws = mysql.. 2021. 12. 28.
[홀로서기 #03] SQL EDA, Python으로 쉽게 시각화하기 # 홀로서기 기획 연재물은 최근 개인 프로젝트를 진행하면서 겪은 어려움들을 기록한 지극히 개인적인 콘텐츠입니다. SQL로 데이터를 훑어보는 일 AWS 데이터베이스를 쓰면서도, 대용량 데이터에 빠르게 접근할 수 있는, 파이썬보다 직관적인 언어인 SQL! 최근 필자는 mysql을 통해 자전거 수요량 예측 프로젝트를 수행하고 있다. Bulk insert와 View를 통해서, 대용량 데이터와 친해진 후에는, 쿼리를 써 내려가면서, 데이터가 어떻게 생겼는지 확인하고 있다. 그러던 중에, 매번 Python으로만 EDA를 하던 습관이 남아, 데이터를 그려보고 싶다는 생각을 했다. 아쉽게도, SQL 환경에서는 간단하게 그리는 것은 테이블 집계(Groupby)정도만 가능한 것을 깨달았다. (물론, 내가 모르는 것일 수 .. 2021. 12. 21.
[홀로서기 #02] SQL 대량 데이터, VIEW로 핸들링하기 # 홀로서기 기획 연재물은 최근 개인 프로젝트를 진행하면서 겪은 어려움들을 기록한 지극히 개인적인 콘텐츠입니다. VS Code + SQL = 신세계 !! 필자는 데이터 비전공자다. 2021년 초에 스마트시티 관련 사업에 참여하면서, 데이터 비즈니스에 대한 전망을 봤다. 그리고 하반기부터 데이터를 공부하겠다고 마음 먹고, 전업을 잠시 접고 ML과 데이터 관련 학습에 매진하는 중이다. 파이썬의 '파', 아니지 'ㅍ'도 몰랐던 시절이 있었는데, 지금은 Jupyter Notebook의 테마를 바꿔보자며, 취향껏 공부를 하는 수준에 이르렀다. 그리고 최근에는 SQL 프로젝트를 진행하면서, VS Code를 쓰기 시작했다. 터미널 따로, Jupyter 웹 따로 두니까 너무 불편했었다. 하지만 지금은 VS Code에서.. 2021. 12. 14.
[홀로서기 #01] Python에서 대용량 데이터 SQL에 적재(Insert)하기 # 홀로서기 기획 연재물은 최근 개인 프로젝트를 진행하면서 겪은 어려움들을 기록한 지극히 개인적인 콘텐츠입니다. SQL, 손에 익어 간다. 파이썬을 처음 쓸 때, C++을 썼던 때가 떠올랐다. 코딩하는 사람들에게 너무나도 쉽고 직관적인 언어인 듯했다. C++을 쓸 때보다 훨씬. 그래서인지, 강의를 들을 때도 지금 강의도 술술 읽히고 다음 강의도 술술 읽혔다. 쉽고 편리한 언어에 매료되어 금방 초급을 뗐다. 그런데, SQL은 더 직관적이었다. 'SELECT * FROM TABLE' 이라니. 그냥 문장을 적으면 실행이 된다. 슥-슥- 내가 원하는 명령어를 평소에 쓰던 어휘들로 이어 붙여 실행한다. Command 창을 켜고 로그인만 하면. # AWS connecting mysql -h [Database Nam.. 2021. 12. 7.
[8일차] 튜플(tuple)과 딕셔너리(dictionary)는 복습이 필요해. [튜플; Tuple] - 리스트와 비슷하지만 아이템 변경 불가 - 아이템 변경(수정, 삭제 등)이 불가능함 : 리스트는 가능 - ()을 이용해서 선언하고, 데이터 구분은 콤마(,)를 활용한다. - 숫자, 문자(열), 논리형 등 모든 데이터를 같이 저장할 수 있다. - 튜플에 또 다른 컨테이너 자료형 데이터를 저장할 수 있다. - 튜플 아이템 조회 : 리스트와 마찬가지로 아이템에 자동으로 부여되는 번호표가 있음 - N개의 요소가 있다면 인덱스는 0 ~ (N-1)까지 자동 부여 - 튜플 아이템은 tuple[idx] 방식으로 조회 - in /not in : 아이템 존재 유/무 판단 - item in tuple : 있으면 True, 없으면 False 결과 나옴 - in과 not in 키워드는 문자열에서도 사용 .. 2021. 10. 22.
[7일차] 리스트 요긴하게 쓰기 위한 추가/삭제/슬라이싱. 분명하게 정리하기! * Web Data 관련 강의가 함께 있어서, 오늘 수강한 강의 분량이 적다. [리스트 요소 추가, 삭제, 수정] - 추가 : list.append(요소) - append() - append로 들어갈 수 있는 요소는 또 다른 리스트도 가능하다. ex) list.append([a,b,c]) - append는 항상 리스트의 마지막 인덱스에 추가됨 - 추가2 : list.insert(인덱스, 요소) - 특정 위치(인덱스)에 아이템을 추가할 수 있음 - insert() 연습문제) 오름차순으로 정렬되어 있는 숫자들에 사용자가 입력한 정수를 추가하는 프로그램을 만들어보자. (단, 추가 후에도 오름차순 정렬이 유지되어야 한다.) - 주어진 리스트 : [1, 3, 6, 11, 45, 54, 62, 74, 85] - e.. 2021. 10. 19.
[6일차] 기초수학 연습문제로 마무리하고, 자료구조 시작! [연습문제] - N보다 작은 약수, 소수, 소인수 출력하기 -> 약수는 N에서 해당 수를 나눠서 나머지가 0이면 출력 -> 소수는 해당 수를 다시 1부터 해당 수 - 1 까지 나눠서 나머지가 0인 애가 없으면 출력 -> 소인수는 약수이면 +1, 소수이면 +1해서 2 이면 출력 - N을 소인수분해해서, 소인수들의 지수 출력하기 -> 나머지가 0이면 리스트에 추가하고 갯수 세기 : list.count(n) - list에서 n의 갯수를 카운트함 - 서로소는 1 이외에 약수가 없는 두 수를 의미함 - 최소공배수는 두 수의 곱에서 최대공약수로 나누면 구할 수 있음 : 최대공약수를 먼저 구하면 될 듯 - 2진수로 변환 : bin(n) - 8진수로 변환 : oct(n) - 16진수로 변환 : hex(n) - 10진수.. 2021. 10. 17.
[seaborn] 데이터 정리 및 다양한 시각화 실행 데이터 정리 - 우리가 사용할 데이터프레임 crime_anal_station 은 다음과 같다. - 일단 해당 데이터를 활용해서, '구별'을 인덱스로 하여, 값의 합계를 나타낸 피봇테이블을 만들었다. crime_anal_gu = crime_anal_station.pivot_table( #여기서 pd.pivot_table(crime_anal_station, ~ 으로 시작해도 된다. index="구별", aggfunc=np.sum, ) - 여기서 우리는 lat, lng 컬럼이 필요가 없기 때문에, 삭제한다. (drop()을 활용했다.) crime_anal_gu.drop(["lat", "lng"], axis=1, inplace=True) - 우리가 궁금한 수치는, 각 범죄별 '검거율'이다. 예를 들면 살인의 검.. 2021. 10. 14.
반응형