반응형

전체 글 136

공공데이터 openAPI 로 가져오기

데이터 프로젝트를 할 때, 공공데이터가 필요할 때가 있다. 이 때 csv로 제공하는 파일도 있지만, openAPI로 제공되는 데이터들도 많이 있다. 그리고 openAPI로 가져오면 csv로 데이터를 저장하지 않아도 돼서 대용량 파일의 경우 openAPI로 가져오는것이 좋다. 1. 공공데이터 사이트 접속 후 가입 data.seoul.go.kr/ 서울 열린데이터광장 모든 서울시민을 위한 공공데이터 열린데이터광장에서 서울시와 연계 기관이 공개한 공공데이터를 확인하실 수 있습니다. 서울시와 관련된 다양한 공공데이터를 확인해 보세요. data.seoul.go.kr www.data.go.kr/index.do 공공데이터 포털 국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11..

[Python] 날짜 다루기 - datetime module

문제 출처: programmers.co.kr/learn/courses/30/lessons/12901 코딩테스트 연습 - 2016년 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까�� programmers.co.kr 나의 풀이 date 모듈에서 date 함수와 strftime 함수를 이용함 date(2016, 1,1 ) -> datetype 으로 2016-01-01 리턴 strftime(원하는 형식) -> 앞의 날짜를 원하는 형태로 변환하여 출력 참고 문서 11.3 시간 다루기 | 파이썬 프로그래밍 입문서 (가제) 박연오가 도서출판 ..

[Python] List Comprehension

List Comprehension으로 할 수 있는 것 for문과 if문을 사용해서, 어떤 리스트안에서 특정 조건을 만족하는 리스트를 새로 구성할 수 있다. for문을 돌면서 if 문으로 조건을 검사해서 append() 함수로 값을 리스트에 추가하는 것과 동일한 역할을 하는데, 아주 간단하게 표현된다. input값 계산해서 list 만들기 두가지 방법은 output이 동일하다. # 방법1. for 문 s = [] for x in range(10): s.append(x ** 2) # 방법2. list comprehension s = [x ** 2 for x in range(10)] output: s = [0, 1, 4, 9, 16, 26, 36, 49, 64, 81] for 문 + if 문 한줄로 만들기 문..

나에게 카톡 메시지 보내기 (1)

내가 아침에 일어나서 꼭 핸드폰으로 확인하는 두가지가 있다. '오늘의 날씨' , '코로나확진자 수' 매일 아침 이 두가지를 검색하지 않고 나한테 알려줄수있다면 얼마나 좋을까? 해서 이 프로젝트를 해보았다. 오늘 다룰 것 1) 카카오톡 OpenAPI 활용하는 방법 2) Python으로 나에게 카카오톡 기본 메시지 보내보기 카카오 Open API 활용 아래 링크에 매우 자세히 나와있기 때문에, 링크만 남겨두고 내가 오류 났던 부분만 추가하려고 한다. 이 블로그 이후에 카카오 개발자 사이트가 좀 바뀐거같아서 UI가 좀 다르긴 한 점 참고! 👉🏻 카카오 개발자 사이트 바로가기 https://ai-creator.tistory.com/23 카카오 OpenAPI 활용 - 나에게 카톡 메시지 보내기 [목차] 1. 학습..

엑셀로 추천시스템 유저프로필 만들어보기

실습 구글스프레드시트 링크 참고 구글스프레드시트 링크에서 실습에 사용한 데이터와, 값을 구할 때 사용한 수식들을 확인하실 수 있습니다. 데이터 셋 1. User가 준 영화 평점들을 참고하여 각 User들의 장르 별 평균 평점 테이블 만들기 수식 예시) 조 - 코미디: 코미디 장르인 영화에 준 평점 평균 = (기생충 평점 + 정직한 후보 평점) / 2 = ( null + 3.5 ) / 1 = 3.5 -> 평점을 주지 않은 셀은 평균에 참고하지 않는다. * Cold Start 문제: 초기 데이터가 없어서 추천 해줄 수 없음 마미 - 코미디: 마미가 코미디 장르에 준 평점이 하나도 없어서 평균을 구해주지 못하는 cord start 문제가 발생했다. 이런 문제를 해결하기 위해서 마미의 평점 평균 데이터 혹은, ..

영화 리뷰 평점 예측해보기

영화 리뷰 데이터 출처: https://grouplens.org/datasets/movielens/ MovieLens GroupLens Research has collected and made available rating data sets from the MovieLens web site ( The data sets were collected over various periods of time, depending on the size of the set. … grouplens.org Table1. Movies Table2. Ratings 추후 movieId로 두 테이블을 연결할 수 있습니다. 오늘은 ratings 테이블만 사용해서 예측 모델을 만들어보겠습니다. train, test split 예측모델을..

모델 평가 지표 - RMSE

예측 모델을 만들고나면, 그 모델이 얼마나 정확하게 예측하고 있는지 확인이 가능해야한다. RMSE (Root Mean Square Error)는 평균 제곱근 오차 라고 하며, 모델 평가지표중 하나이다. RMSE 계산해서 이해해보기 1) 데이터 셋 만들기 2) 실제 값 - 예측 값으로 에러 값 구하기 3) 에러값 제곱하기 에러에 음수가 있으므로, + 와 - 가 서로 캔슬되는것을 막기위해 제곱해준다. 4) MSE 구해주기 (제곱한 에러의 평균) 5) ROOT 씌워주기 (RMSE) - 아까 에러에서 제곱해줬으므로, 루트 씌워서 원래 스케일로 돌려준다. 6) 해석 실제 대비 예측에서 1.5정도 오차가 발생한다. Sklearn 패키지 사용해서 구하기 - mean_squared_error (실제값, 예측값)

[Bigquery] Time Data 다루기

Google Bigquery 에서 Time data를 다뤄보았습니다. EXTRACT DATE_ADD CURRENT_DATE DATE_TRUNC FORMAT_DATETIME 문제 풀이 [활용 함수] - DATATIME_TRUNC () - FORMAT_DATETIME() - EXTRACT () [참고 문서] https://cloud.google.com/bigquery/docs/reference/standard-sql/time_functions?hl=ko 표준 SQL의 시간 함수 | BigQuery | Google Cloud BigQuery는 다음 TIME 함수를 지원합니다. CURRENT_TIME CURRENT_TIME([timezone]) 설명 현재 시간을 TIME 객체로 반환합니다. 이 함수는 선택적 t..

Today I Learned/SQL 2020.09.29

[Pandas] categorical columns to numeric - get dummies()

전처리 과정중 하나로 컬럼 값이 categorical 타입일 때, 추후 편리한 연산을 위해 True or False (1 or 0) 값으로 변경해주는 것이 좋다. 하나의 컬럼안에 여러 중복 값이 있을 때 이를 유니크한 단위로 쪼개서 정리해줄 수 있는데, 아래 예시를 살펴보자 영화 데이터인데, 'genres' 컬럼을 보면, 한 컬럼안에 복수개의 장르가 들어가있는걸 볼 수 있다. 이런 데이터는 다루기 까다로우니, 전처리가 필요하다. 방법1. for 문 활용 1) unique genres 추출 2) genres unique list 활용해서 For 문으로, 각 row의 genres column에 해당 장르가 포함 되어있으면, True, 없으면 False 할당해서 새로운 컬럼 생성해줌 방법2. get_dummi..

내가 쓰는 앱에서 추천시스템 찾아보기

쏟아지는 콘텐츠 속에서, 유저가 헤매지않고 원하는 콘텐츠를 적은 노력으로 발견할 수 있도록 도와 줄 수 있는것이 추천시스템이라고 생각한다. 그 추천시스템은 어떤 로직으로 만들어지는지 알아보고, 내가 사용하는 앱에서 사례를 찾아서 이해해보자. 추천 시스템 분류 1. 시나리오에 따른 분류 - 연관된 상품 추천: 아이템끼리 얼마나 연관되어 있는지 - 개인화 상품 추천: 개인의 취향에 얼마나 맞는지 2. 피드백 종류에 따른 분류 - 명시적 피드백 : 좋아요, 싫어요, 별점 등 유저가 직접 피드백한 내용 기반 - 암시적 피드백 : 시청 시간, 클릭율 등 유저 행동 기반 3. 업데이트 주기에 따른 분류 - 정적: 특정 시점까지의 데이터 기준 - 동적: 실시간 데이터 업데이트 크게 이렇게 추천시스템을 분류할 수 있다..

반응형