일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- jd
- 클러스터링
- 기초프로젝트
- Python
- data analyst
- 머신러닝
- 서브쿼리
- 프로젝트
- GA4
- 전처리
- da
- pandas
- SQLD
- 히트맵
- 데이터 분석
- 최종 프로젝트
- 팀프로젝트
- streamlit
- If
- SQL
- cross join
- 태블로
- 기초통계
- 군집화
- 시각화
- Chat GPT
- lambda
- 프롬프트 엔지니어링
- 크롤링
- 데이터분석
- Today
- Total
목록전체 글 (328)
세조목
최종 프로젝트 2024.04.03 - [데이터 분석 공부/프로젝트] - 최종 프로젝트 8일차(24.04.03) 최종 프로젝트 8일차(24.04.03) 최종 프로젝트 8일차입니다. 코드를 돌렸을때 자잘한 문제들이 발생해서 금일은 해당 코드들을 수정했습니다. 자잘한 문제들이라 하면 대부분 가게의 데이터를 크롤링할 때는 정상 작동하던 코 eyeoftheworld1209.tistory.com 최종 프로젝트 8일차였습니다. 일부 자잘한 문제들을 해결하고, 페이지별로 데이터를 크롤링할 수 있게끔 코드를 몇 줄 추가했습니다. 자세한 내용은 위 포스팅에 정리해두었습니다.
최종 프로젝트 8일차입니다. 코드를 돌렸을때 자잘한 문제들이 발생해서 금일은 해당 코드들을 수정했습니다. 자잘한 문제들이라 하면 대부분 가게의 데이터를 크롤링할 때는 정상 작동하던 코드가 일부 가게에서는 작동이 안 된다던가 네이버 지도 마지막 페이지의 데이터들은 크롤링이 안 된다던가 하는 문제입니다. 첫 번째 문제의 경우 방법을 찾지 못했으나 해당되는 가게의 수가 5개 이하이기때문에 별도로 수정하지 않고 진행해도 무방할 것 같다는 판단이며 두 번째 문제의 경우 앞전에 작동이 안 되어 수정했던 코드를 다시 기존 코드로 수정하니 작동했습니다. review_nums = driver.find_elements(By.CLASS_NAME,'owAeM') for review_num in review_nums: revi..
머신러닝(클러스터링) 2024.04.02 - [데이터 분석 공부/머신러닝] - 머신러닝 - 클러스터링(계층적 군집화) 머신러닝 - 클러스터링(계층적 군집화) 1. 계층적 군집화 상향식 군집화(일반적임) 하향식 군집화 장점 군집의 갯수를 정해줄 필요가 없다. 군집 간 계층적 관계를 찾아낼 수 있다. 방법 Single Linkage : 두 군집 사이 최소 거리 이용 Complete eyeoftheworld1209.tistory.com 최종 프로젝트 2024.04.02 - [데이터 분석 공부/프로젝트] - 최종 프로젝트 7일차(24.04.02) 최종 프로젝트 7일차(24.04.02) 최종 프로젝트 7일차입니다. 금일은 가게명을 클릭하고 플레이스 페이지가 열림과 동시에 전혀 다른 페이지가 함께 열리는 오류와 리..
최종 프로젝트 7일차입니다. 금일은 가게명을 클릭하고 플레이스 페이지가 열림과 동시에 전혀 다른 페이지가 함께 열리는 오류와 리뷰 탭의 '더보기' 버튼을 클릭했을때 '거리뷰' 페이지가 열리는 오류를 수정했습니다. sleep() 시간 늘이기 driver.switch_to.parent_frame()을 driver.switch_to.default_content()로 변경하기 class name 변경하기 를 시도해봤지만 위 방법들로는 해결할 수가 없었습니다. 그러다가 def page_down(num): body = driver.find_element(By.CSS_SELECTOR, 'body') #body.click() for i in range(num): body.send_keys(Keys.PAGE_DOWN) ..
1. 계층적 군집화 상향식 군집화(일반적임) 하향식 군집화 장점 군집의 갯수를 정해줄 필요가 없다. 군집 간 계층적 관계를 찾아낼 수 있다. 방법 Single Linkage : 두 군집 사이 최소 거리 이용 Complete Linkage : 두 군집 사이 최대 거리 이용 Average Linkage : 포인트와 포인트 사이 모든 거리의 평균 Centroid Linkage : 각 군집의 centroid(무게 중심) 값 사이 거리 Ward Linkage(가장 많이 사용되며 계층적 군집화 라이브러리 기본값으로 지정되어있음) 클러스터 내 각각의 centroid와 거리의 제곱합(SSE) 계산 두 클러스터를 하나의 군집으로 만들었을 때의 새로운 평균과의 거리제곱합 계산 그 차이 = Ward Distance / 이 ..
최종 프로젝트 2024.04.01 - [데이터 분석 공부/프로젝트] - 최종 프로젝트 6일차(24.04.01) 최종 프로젝트 6일차(24.04.01) 최종 프로젝트 6일차입니다. 금일은 팀원들과 함께 지금까지 개별적으로 진행한 크롤링 진척 사항을 공유하고, 앞으로의 일정에 대해서 이야기 나누는 시간을 가졌습니다. 모두 큰 문제없이 크 eyeoftheworld1209.tistory.com 최종 프로젝트 6일차입니다. 팀원들과 함께 진행한 팀 회의 결과를 바탕으로 데이터를 추가적으로 크롤링하는 작업을 진행했습니다. 자세한 내용은 위 포스팅에 정리해두었습니다.
최종 프로젝트 6일차입니다. 금일은 팀원들과 함께 지금까지 개별적으로 진행한 크롤링 진척 사항을 공유하고, 앞으로의 일정에 대해서 이야기 나누는 시간을 가졌습니다. 모두 큰 문제없이 크롤링 작업이 진행되고 있었습니다. 물론 세부적으로 손 봐야할 부분은 있지만요. 진행사항 공유 후 앞으로의 일정에 대해서 얘기 나눴는데 저희가 만들고자하는 데이터셋의 컬럼도 통일했습니다. 다른 컬럼들은 제가 기존에 모두 수집했던 데이터들이었으나 '주소' 데이터는 없어서 추가하는 작업을 금일 진행했습니다. address_list = [] address = driver.find_element(By.CLASS_NAME, 'LDgIH').text address_list.append(address) 주소 데이터를 추가하는 코드는 간단..
2024.03.27 - [데이터 분석 공부/프로젝트] - 최종 프로젝트 2일차(24.03.27) 2024.03.28 - [데이터 분석 공부/프로젝트] - 최종 프로젝트 3일차(24.03.28) 2024.03.29 - [데이터 분석 공부/프로젝트] - 최종 프로젝트 4일차(24.03.29) 2024.03.31 - [데이터 분석 공부/프로젝트] - 최종 프로젝트 5일차(24.03.31) 금주부터 최종 프로젝트가 본격적으로 시작되었습니다. 이번주에는 프로젝트 주제 선정 크롤링을 활용한 데이터 수집 을 진행했는데 지난주에 크롤링을 학습했다고 해서 쉽지만은 않았습니다. 거의 대부분 구글링으로 코드를 작성하고 수정했으니까요. 확실히 실제 크롤링 작업을 한 번 해보니까 크롤링이 어떠한 방식으로 이루어지는지에 대한 이..
최종 프로젝트 2024.03.31 - [데이터 분석 공부/프로젝트] - 최종 프로젝트 5일차(24.03.31) 최종 프로젝트 5일차(24.03.31) 금주 금요일에 네이버 지도 크롤링 코드를 작성하고 결과값이 출력되는 것까지 확인했습니다. 2024.03.29 - [데이터 분석 공부/프로젝트] - 최종 프로젝트 4일차(24.03.29) 하지만 '더보기'를 클릭했을 eyeoftheworld1209.tistory.com 금일 역시도 금요일에 이어 데이터 크롤링 작업을 진행했습니다. 금요일에 발생했던 문제 두 가지 중 한 가지는 해결할 수 있었습니다. 자세한 내용은 위 포스팅에 정리해두었습니다.
금주 금요일에 네이버 지도 크롤링 코드를 작성하고 결과값이 출력되는 것까지 확인했습니다. 2024.03.29 - [데이터 분석 공부/프로젝트] - 최종 프로젝트 4일차(24.03.29) 하지만 '더보기'를 클릭했을때 '거리뷰'가 함께 클릭되는 오류와 한 가게에 대해 작성된 리뷰들이 하나의 리스트에 들어가서 출력되는 문제 를 해결하지 못했었는데 금일 2번은 일단 해결했습니다. review_box = [] review_nums = driver.find_elements(By.CLASS_NAME,'owAeM') for review_num in review_nums: review_content = review_num.find_element(By.CLASS_NAME,'zPfVt').text review_box.ap..