본문 바로가기
반응형

데이터 분석/데이터 분석23

개인화 추천 알고리즘 2 : FP-Growth FP-Growth 왜 나왔을까? 이전 포스팅에서 Apriori 알고리즘에 대해 알아보았다. Apriori의 가장 큰 단점 아이템셋의 수가 증가할 수록 메모리를 많이 먹고 속도가 느려진 다는 것이다. FP Tree도 기본적으로 연관분석의 하나이며 Apriori와의 차이는 FP-Tree를 생성한 후에 최소 지지도 이상의 패턴만을 추출한다는 것이다. FP tree는 아이템 별로 노드를 추가하면서 트리를 생성하는 과정이다. FP Tree를 생성하는 방법은 아래 블로그에 잘 설명되어 있다. (너무 유익한 내용 감사드립니다. ㅠ) https://process-mining.tistory.com/92 FP-Growth 사례 원핫 인코딩을 통해 데이터프레임을 생성하는 절차는 Apriori 와 동일하다. import ml.. 2022. 2. 6.
개인화 추천 알고리즘 1 : Apriori 알고리즘 우리 안의 수많은 추천 시스템 추천 시스템은 사용자, 구매자에게 상품을 제안하는 방법론을 말한다. 이것은 쇼핑몰에서 어떤 상품을 추천할 것인지 음악 어플에서 어떤 음악을 추천할 것인지 뉴스피드에서 어떤 뉴스를 추천할 것인지 등 광범위하게 쓰이고 있다. 홈페이지나 어플 이용자들은 어느 상품에서 몇 분동안 머물렀는지, 어떤 상품을 클릭했는지, 실제로 구매로 이어졌는지에 대한 수많은 로그를 남기고 기업들은 이 로그들을 중요한 데이터 자원으로 추천 시스템에 활용한다. 쿠팡에서 내가 특정상품을 보면 그 패턴을 토대로 추천 상품 리스트를 뿌려주는 것을 쉽게 볼 수 있는데 이것이 바로 개인화 추천 알고리즘이다. 최근에 인테리어 때문에 식탁보를 구경한 적 있는데 이 로그 기록을 바탕으로 유사성이 높은 식탁보를 계속 뿌.. 2022. 2. 6.
파이썬으로 코스피 코스닥 상장기업 재무정보 크롤링하기 코스피 코스닥 상장기업 추정배당금 2022.01.18 - [투자/배당주투자] - 2022년 예상 배당금 (코스피, 코스닥 전체 종목) 표준화된 재무정보 구하기 최근에 dart_fss 모듈을 사용해서 금융감독원 DART 전자공시시스템의 OPEN API를 활용하여 크롤링하는 작업을 시도해보았다. 데이터로 활용하기 어려운 부분은 표준화가 되어 있지 않다는 점이다. (회사마다 특성이 다르니까 재무제표 항목도 약간씩 다르다.) 그래서 어떻게 하면 표준화된 재무정보를 얻을 수 있는지 찾아보다가 어떤 능력자 분께서 FNguide를 아주 간단한 코드로 크롤링하시는 것을 참고할 수 있었다. https://wikidocs.net/6660 2) 웹 페이지 크롤링 이번 절에서는 웹 페이지의 데이터 중에서 원하는 값만 가져오는.. 2022. 1. 23.
Dart_fss 모듈을 활용한 배당금 예측 (그리고 실패) 내 배당금은 얼마일까? 배당금 시즌이 다가오고 있다. 배당락일은 12월 말이기 때문에 이때 까지 보유한 사람들은 내가 배당금을 받을 주주 명부에는 들어가 있다는 것은 알고 있다. 하지만 배당금을 얼마나 받을지는 2월이나 되어야 회사에서 공시하고 있다. 그래서 사람들은 2개월 동안 내가 배당금을 얼마나 많이 받을지 궁금해 한다. (이것은 내 블로그의 배당금 관련 트래픽에서도 확인된다.) 그래서 나는 이런 생각을 해보았다. 배당금 지급액 / 당기순이익 (=주당배당금 DPS /주당순이익 EPS)을 배당성향이라고 하며 회사가 번 돈 대비 얼마나 배당을 하는지를 나타내는 지표이다. 물론 정확하지는 않지만 1월에 잠정 실적이 발표되면 이 잠정 당기순이익과 전년도 배당성향을 곱하여 배당금을 추측해보지 않을까 생각을 .. 2022. 1. 17.
직방에서 특정 키워드로 크롤링하기 (파티룸 찾기) 직방 어플의 UI는 반드시 어떤 지역명을 검색해야 매물을 볼 수 있는 단점이 있다. 예를 들면 "나는 전세보증금 1000만원 이하 월세 80만원 이하인 서울 서초구의 빌라를 찾고 싶다." 라고 생각할 때는 필터를 이용해 원하는 매물들을 뽑을 수 있다. 그러나 "나는 전세보증금 2000만원 이하로 복층인 오피스텔을 찾고 싶다."라고 할 때 '복층' 이라는 필터를 직방에서 따로 제공하지 않기 때문에 일일이 오피스텔을 보면서 복층이 있는지 찾아봐야 한다. 요즘 파티룸에 대해 관심이 많은데 파티룸과 관련된 매물들만 따로 보고 싶었지만 모든 매물들을 일일이 눌러서 파티룸에 적합한지 확인하는게 너무 불편했다. 그렇다고 검색창에 파티룸을 검색할 수도 없는 상황이다. 그래서 오늘은 직방 API 를 이용해 제목(titl.. 2021. 12. 11.
직방에서 상가 크롤링하기 (B급 코딩) 조건에 맞는 상가를 찾고 싶다! 최근에 상가 물건을 좀 알아보고 있는데 매매 목적은 아니고 임차인으로 들어가려고 알아보고 있다. 직방에서 내가 원하는 조건을 필터링으로 넣으면 참 좋은데 UX 구성 자체가 지도를 중심으로 되어있다. 나같은 경우는 관악구에서 권리금이 0원이고 월세가 100만원 이하인 물건들을 찾고 싶은데 UX 에서 이 조건을 필터링 할 수가 없어서 크롤링을 해보기 로 했다! 크롬에서 네트워크를 뒤지다 보니까 "https://apis.zigbang.com/v2/store/article/stores/상가번호" 형식으로 웹에다가 Request 를 던져주면 Json 형식으로 원하는 값을 던져주는 것을 알 수 있다. requests 모듈로 json 파일형식 크롤링 하기 뷰티풀 수프에서 크롤링 해보면.. 2021. 10. 12.
[데이터 분석] 2021년 6월 서울아파트 갭투자 리스트 2021년 6월 실거래 및 전세계약 데이터를 추출하여 서울 아파트 갭투자 리스트를 추출해보았다. 'total' 시트의 맨 마지막 열을 보면 갭투자예상금액을 확인할 수 있다. 이 데이터는 실거래 가격을 기준으로 [매매가격 평균 - 전세가격 평균]을 구한 것이다. 따라서 매매거래나 전세거래가 없는 아파트에 대해서는 데이터가 존재하지 않을 수도 있고, 일부 outlier 데이터들 때문에 데이터가 다소 왜곡되어 있을 수 있으므로 참고만 하시기를 바란다. 나는 최소 20 평대 이상의 아파트 매매를 알아보려고 했으므로 전용면적에 60 제곱미터 이상의 물건들을 걸어보았다. 아파트 값이 비싼 건 맞지만 여전히 도봉구, 노원구, 은평구, 중랑구, 성북구, 관악구와 같이 프라임 입지가 아닌 곳들은 여전히 적은 돈으로도 갭.. 2021. 7. 25.
[데이터 분석] 로지스틱 회귀분석 (Logistic Regression) 로지스틱 회귀분석 : 모 아니면 도 로지스틱 회귀는 선형 회귀 방식을 '분류'에 적용한 알고리즘이다. 쉽게 말하면 선형회귀 분석에서 Target 으로 잡는 데이터가 모 아니면 도라고 생각하면 이해하기 편하다. 예를 들면 종양 데이터를 근거로 종양인지(Y=1) 아닌지(N=0)를 판단하는 문제에 적용할 수 있다. 로지스틱 회귀는 시그모이드 함수를 기반으로 하는데 시그모이드 함수는 X 값이 아무리 커지거나 작아져도 1이나 0 값 만을 반환하는 함수이다. 로지스틱 회귀는 이처럼 선형 회귀 방식을 기반으로 하되 시그모이드 함수를 이용하여 '분류'를 수행하는 회귀이다. 지도학습의 대장인 '회귀'와 '분류'가 합쳐진 로직이다. 하지만 잊지 말자 로지스틱 회귀에서 '회귀'는 도구이고 '분류'가 목적이라는 점을! [St.. 2021. 7. 19.
[데이터 분석] Ridge 회귀 분석 일반적으로 선형회귀 분석은 오차가 최소가 되는 최소자승법을 사용하여 회귀분석을 시행한다. 다만 이렇게 오차를 최소화하는데만 초점을 맞추면 훈련 데이터에 과최적화되어 오히려 실제 데이터를 예측하는 예측력이 굉장히 낮아지게 된다.(연애를 책으로만 배운 경우라고나 할까?^^) 따라서 이렇게 오차항을 최소화 하는 함수에 alpha 값으로 패널티를 부여하여 회귀 계수 값의 크기를 감소시켜 과최적화 문제를 개선하는 방식을 규제(Regularization)이라고 부른다. Ridge 회귀 규제는 2 가지로 분류되는데 [패널티 = alpha * W] 계산시 W의 제곱에 대해 패널티를 부여하는 방식을 L2 규제라고 하며, W의 절대값에 패널티를 부여하는 방식을 L1 규제라고 한다. Ridge 릿지 회귀는 L2 규제 계수를.. 2021. 7. 14.
[데이터 분석] 선형회귀분석 Linear Regression 머신러닝의 가장 기본이 되는 개념 중 하나인 선형회귀분석(Linear Regression)에 대하여 다루어 보겠다. 머신러닝이란 일반적으로 Target Data (결과값)이 주어지는 지도학습(Supervised Learning)과 Target Data가 주어지지 않는 비지도학습(Unsupervised Learning)으로 나누어진다. 그리고 이 지도학습의 가장 큰 줄기가 되는 개념이 바로 회귀(Regression)와 분류(Classification)다. 오늘은 그 회귀 중 가장 기본이 되는 선형회귀분석에 대하여 다루어 보겠다. 선형회귀분석은 최소자승법(OLS : Ordinary Least Squares)을 기초로 하며 예측값과 관측값의 차이, 즉 오차(RSS : Residual Sum of Squares.. 2021. 7. 13.
반응형