오늘은 , 캐들 데이터를 가지고, 챗GPT랑 놀아보기로 했다
전체코드는 ㅋㅋㅋ 나의 깃허브에 올려둠 ㅋㅋㅋㅋㅋ
(깃허브... 파일 폴더이동은 어떻게 하는거임...????)
Chat-GPT-Python/챗GPT+데이터분석_01_브라질_이커머스_olist.ipynb at main · leo-contigo/Chat-GPT-Python
Contribute to leo-contigo/Chat-GPT-Python development by creating an account on GitHub.
github.com
참고 유튜브 ㅋㅋ
내가 분석하고자 하는 데이터를 첨부하고,
이 데이터가 어떤 건지 설명하면서, 제일 중요한 한국어로 안내해달라 라고 이야기함
유튜브 강좌 보면서 나온 결과와 나랑 다른 점은
나는 그냥 챗 GPT를 사용하고, 유튜브 강좌는 GPT4.0 버전이라
다름ㅋㅋㅋ
EDA(Exploratory Data Analysis) : 탐색적 데이터 분석
일변량 EDA : 하나의 칼럼에 대해서만 분석
다변량 EDA : 두 개 이상의 칼럼을 종합해서 인사이트를 얻어냄
일변량 EDA : 구매건에 대한 제품의 가격이 어떻게 분포되어 있는지, 평균가격, 제일 비싼가격, 저렴한 가격 등등 확인
다변량 EDA : 판매 물건의 가격과 배송비 사이의 관계, 카테고리별 평균 가격, 등등
(딴소리지만,,, 야구 경기 시작했는데 집중할 수 있을까..........????....)
오 ㅋㅋㅋㅋ
이게 무언가를 해달라고 요구할때 정확하게 하면 ㅋㅋㅋㅋㅋㅋ 다 알려주네
분석까지 잘해줘 ㅋㅋㅋㅋㅋ
그래프까지 ㅋㅋㅋ 다 알려주는데
저기 보이는 파란색 ㅋㅋㅋ 클릭하면 ㅋㅋ 해당 코드가 나온다
그걸 ㅋㅋㅋ 나는 코랩으로 실행 ㄱㄱ
(하.. 집중몬하겟다 ㅋㅋㅋㅋㅋㅋㅋ 1회부터 안타~~~~~~~ 이러다가...또 막판에 절망을 주는건 아니겟지...)
코드 실행해보면
오오오오오오오오오호호호홓홓ㅎㅎㅎㅎㅎㅎ
챗GPT는 내가 어떤 분석을 할건지 방향성과 키워드만 알고 있으면 될 듯!!!
RFM 분석
하쒸.... 챗GPT 무료.....ㅋㅋㅋㅋ 끝남ㅋ
일단 여기까지 하고, 나머지는 내일 다시 해봐야지 일단 저장 ㄱㄱ 하고
야구봐야지

컴백 ㅋㅋㅋㅋ
위 데이터 하나로 RFM 분석을 하기에 내용이 부족한것 같다.
챗 GPT가 그랬음.... 그래서 ㅋㅋㅋㅋ
데이터를 추가해서 분석을 하고 싶다고 했다.
고객정보와 그 사람들이 뭘 주문했고, 리뷰를 어떻게 남겼는지에 대한 데이터가 있어야 ㅋㅋ
뭔가 분석이 가능한것 같아서 저렇게 선택해봄
(이게 정답은 아님ㅋㅋㅋㅋㅋ 나도 잘 모름)
마지막까지 ㅋㅋ 이렇게 알려주더니....
이걸 왜 돈주고 유료버젼을 쓰는지 알겠다..ㅋㅋㅋㅋㅋㅋㅋㅋ
이렇게 세분화까지 알려준다 ㅋㅋㅋㅋㅋ
여기서 궁금한게 !
이 데이터를 가지고 신규고객이 충성고객이 될 수 있는 확률이 얼마나 되는지 예측하는 방법이 궁금했다
그래서 물어봤지
어떻게 진행할지 설명 해주고
import pandas as pd
import numpy as np
from datetime import datetime
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import classification_report, confusion_matrix
# 예제 데이터 로드
orders_customers_df = pd.merge(orders_df, customers_df, on='customer_id')
# 현재 날짜를 2018-12-31로 설정
now = datetime(2018, 12, 31)
# 각 고객별로 Recency, Frequency, Monetary 값을 계산
rfm_df = orders_customers_df.groupby('customer_unique_id').agg({
'order_purchase_timestamp': lambda x: (now - pd.to_datetime(x).max()).days,
'order_id': 'count',
'payment_value': 'sum'
}).reset_index()
# 컬럼 이름을 한글로 변경
rfm_df.columns = ['고객_고유_ID', '최근_구매일', '구매_빈도', '총_구매_금액']
# 충성 고객과 신규 고객 정의
loyal_customers = rfm_df[(rfm_df['최근_구매일'] <= 90) & (rfm_df['구매_빈도'] >= 4) & (rfm_df['총_구매_금액'] >= 100)]
new_customers = rfm_df[(rfm_df['최근_구매일'] <= 90) & (rfm_df['구매_빈도'] < 4) & (rfm_df['총_구매_금액'] < 100)]
# 충성 고객 여부를 나타내는 레이블 생성
loyal_customers['충성_고객'] = 1
new_customers['충성_고객'] = 0
# 충성 고객과 신규 고객 데이터를 결합
combined_df = pd.concat([loyal_customers, new_customers])
# 특징(Recency, Frequency, Monetary)와 레이블(충성 고객 여부) 설정
X = combined_df[['최근_구매일', '구매_빈도', '총_구매_금액']]
y = combined_df['충성_고객']
# 데이터가 너무 적은 경우 예제 데이터를 추가 (데모를 위해 가상의 데이터 생성)
if len(X) < 10:
extra_data = pd.DataFrame({
'최근_구매일': [10, 20, 30, 40, 50, 60, 70, 80, 90, 100],
'구매_빈도': [1, 2, 3, 1, 2, 3, 4, 5, 1, 2],
'총_구매_금액': [10, 20, 30, 40, 50, 60, 70, 80, 90, 100],
'충성_고객': [0, 0, 0, 0, 1, 1, 1, 1, 0, 1]
})
X = pd.concat([X, extra_data[['최근_구매일', '구매_빈도', '총_구매_금액']]])
y = pd.concat([y, extra_data['충성_고객']])
# 훈련 데이터와 테스트 데이터로 분리 (테스트 비율을 줄임)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.1, random_state=42)
# 데이터 스케일링
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)
# 모델 훈련
model = RandomForestClassifier(random_state=42)
model.fit(X_train_scaled, y_train)
# 예측
y_pred = model.predict(X_test_scaled)
# 모델 평가
print(classification_report(y_test, y_pred))
print(confusion_matrix(y_test, y_pred))
# 새로운 신규 고객 데이터 예측
new_customer_data = pd.DataFrame({
'최근_구매일': [30, 60],
'구매_빈도': [2, 1],
'총_구매_금액': [50, 20]
})
new_customer_data_scaled = scaler.transform(new_customer_data)
predictions = model.predict(new_customer_data_scaled)
print(predictions)
코드 알려주고 ㅋㅋㅋㅋㅋㅋㅋ
설명까지 해줬다 ㅋㅋㅋㅋㅋㅋ
거기다가 ㅋㅋㅋㅋ
나온 결과 값에 대해서도 ㅋㅋㅋ 설명해달라하니까 친절하게 알려준다 ㅋㅋㅋㅋ
챗GPT는 ㅋㅋㅋㅋ 진챠 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
다 해주는구나 ㅋㅋㅋㅋㅋㅋㅋㅋ
오늘 해본거는 여기까지 기록해야지 끝~~~~~~~ 너무 길다
나머진 깃허브에 올리야지
'파이썬(Python) > 챗GPT+파이썬' 카테고리의 다른 글
챗GPT+파이썬 : 번역한 내용 음성으로 듣기 (2) | 2024.09.10 |
---|---|
챗GPT+데이터분석 : 주식 데이터 예측해보기?ㅋ (0) | 2024.08.10 |
챗GPT+파이썬 : 워드 클라우드 만들기(한글) (0) | 2024.03.28 |
챗GPT+파이썬 : 자동 번역기 만들기(영어>한국어) (0) | 2024.03.18 |
챗GPT+파이썬 : 워드클라우드(Word Cloud) 만들기 (0) | 2024.03.16 |