반응형

데잇걸즈 33

[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 시간 다루기 | 파이썬 프로그래밍 입문서 (가제) 박연오가 도서출판 ..

나에게 카톡 메시지 보내기 (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. 업데이트 주기에 따른 분류 - 정적: 특정 시점까지의 데이터 기준 - 동적: 실시간 데이터 업데이트 크게 이렇게 추천시스템을 분류할 수 있다..

[Python] Sort dict values in list

Checkio 문제 출처: https://py.checkio.org/mission/bigger-price/solve/ 문제 설명 dict타입을 가진 list에서 price가 높은 순서대로 limit 개수만큼 출력해라 예시) input: data, limit data = [ {"name": "bread", "price": 100}, {"name": "wine", "price": 138}, {"name": "meat", "price": 15}, {"name": "water", "price": 1} ] limit = 2 output [ {"name": "wine", "price": 138}, {"name": "bread", "price": 100} ] 내 풀이 dict를 dataframe으로 변경해서 풀어주기..

[Python] Strip()은 공백만 제거해주지 않는다.

checkio 문제 참고: https://py.checkio.org/mission/beginning-zeros/solve/ 문제 설명: 숫자로만 구성된 string에서 앞에 연속된 '0'이 몇개인가? EX. '0012' -> 2개 / '1000' -> 0개 / '0300' -> 1개 내 풀이 재귀호출 사용 (재귀호출 공부한 뒤로, 이런문제는 재귀호출로 풀게된다) 참고: 2020/09/18 - 파이썬 재귀호출로 반복문 줄이기 def beginning_zeros(number: str) -> int: # your code here if len(number) == 0 or number[0] != '0': return 0 if number[0] == '0': return 1 + beginning_zeros(num..

반응형