본문 바로가기

Python_Wiki50

(포폴 다시 공부하기) 인스타카트 예측: 새제품 추천, 재구매제품 예측, 구매주기 예측 첫번째, 새로운 제품 추천라이브러리: Surprise라이브러리에서 작동되는 알고리즘: SVD(Singular Value Decomposition)수학 알고리즘 개념으로 행렬을 분해하는 방법이며, 추천시스템에서 잠재요인 모델로 사용필요한 데이터: 유저 id, 구매한 이력이 있는 제품, 전체 제품 목록전체 제품 목록: 인스타카트 셋에서는 제품이 5만 개나 있어서 어차피 새로운 상품 추천을 해주는 경우에는 구매 수가 적은 제품을 추천해 주는 것은 의미가 없을 것 같아서 카테고리별로 구매 수 Top00 해서 제품을 걸러서, 이 목록을 전체 상품목록이라고 정하고 진행함. 5000개로 걸렀다고 치자.이 이후에, 유저별로 5000개 상품과 모두 전체 행렬을 만드는 건 아니고, 특정 유저가 구매한 제품에 한해서 행렬이.. 2026. 2. 11.
K-means vs. DBSCAN 순서 알아보기(feat. k찾기 / eps 설정) K-means라이브러리 로드데이터 로드데이터 중 사용할 피처만 분리해서 로드스케일링k 찾기 (엘보우/실루엣)K-means 실행클러스터 결과 확인 후 클러스터 별로 데이터 해석DBSCAN라이브러리 로드데이터 로드데이터 중 사용할 피처만 분리해서 로드스케일링eps 후보 찾기 (min_samples/k distance plot)DBSCAN 실행클러스터/노이즈 결과 확인 후 클러스터/노이즈 별로 데이터 해석이후 제일 적절한 결과로 선정(eps도 이 단계에서 확정)거의 유사한 흐름으로 진행된다. k 개수 찾기일단 k 개수 찾기의 개념을 알아보자.각 클러스터의 중심점 수가 k인데, 각 클러스터의 중심점에서 각 클러스터에 들어있는 데이터와의 '거리 제곱의 합'을 최소화할 수 있는 k의 개수를 찾는 것. 2. k.. 2026. 2. 10.
클러스터링 방법은 각각 언제 쓸까?_K-means vs. DBSCAN vs. 계층적 클러스터링 (feat. id 컬럼 포함 컬럼이 총 2개인데 클러스터링 쓰기) 공부하게 된 이유때는 바야흐로 포트폴리오 내용을 속속들히 공부하고자, 포트폴리오의 부분들을 익혀가고 있던 때였다. 이 때, 고객id와, 재구매 주기만을 가지고 클러스터링을 했던 부분에 맞닥뜨렸는데... (팀원이 진행했던 부분) 여기서 생성된 질문은1. 고객 id랑 재구매주기만 있는데 이걸 클러스터링까지 했네? 이유가 뭐였을까?2. K-means 사용했네, 다른 것도 사용할 수 있을까? 이렇게 시작된 클러스터링 방법 찾기 대모험✨데이터셋(가정, 가볍게)고객 id재구매주기152일2205일...... 이 데이터를 K-means를 돌려서 재구매주기별로 고객을 세 군으로 나누고, 각 군 별로 마케팅 계획을 세운 상황.질문1. 데이터가 매우 가벼운데 이걸 머신러닝까지 해야할까?2. K-means vs. DBSCAN.. 2026. 2. 9.
np.where + lambda로 df의 새로운 열에 원하는 값 넣기 데이터가 현재 이럴때, 새로운 행을 만들어서, rank가 3보다 크거나 같으면 pass, 아니면 fail이라고 적어서 넣고싶다.이것이 원하는 값. 하는 방법은?#1 원하는 값(pass,fail) 대신, true false로 넣어도 되는 경우df['rankOver3'] = df['rank'] >= 3#2-1 원하는 값(pass,fail)넣기, using applydf['rankOver3'] = df['rank'].apply(lambda x: 'Pass' if x >= 3 else 'Fail')#2-2 원하는 값(pass,fail)넣기, using np.wheredf['rankOver3'] = np.where(df['rank'] >= 3, 'Pass', 'Fail') 2025. 7. 18.
파이썬 : 짝 홀 구분하기 코드 #1 정석n = int(input('정수 입력'))if n % 2 == 0: print(f'{n} is even')else: print(f'{n} is odd')#2 n&1 사용하기: 홀짝구분코드n=5n&1 #1 #n이 홀수면 무조건 1이나옴.n=4n&1 #0 2025. 7. 17.
pandas: category 자료형으로 바꾸기 메모리를 적게 잡아먹음순서를 부여할 수 있음(astype은 순서부여 안됨) s= pd.Series( ['S','M','XL'] * 100000000) 일때,s1 = pd.Series(pd.Categorical(s, categories=['S','M','XL'], ordered=True))하면s1은 카테고리형으로 바뀌고, s 2025. 7. 16.