경고 비표시 하는 방법
# 경고 (worning) 비표시
import warning
warnings.filterwarnins('ignore')
data 저장 할때 ,
카테고리 데이터는 새로 csv 파일 하나 만들어서 각 카테고리에 해당하는 값이 무엇인지 만들어두기
-> 이것을 merge로 합쳐주기
# 데이터 가공
_join = pd.merge(A, B, on='how_column', how='left') #merge 시 꼭 how 체크해보기
pd.to_datetime -> 시간 type 변환
df.dt.strftime('%Y %m ... ') #시간을 잘라서 연 월 등으로 사용, 안의 Y, m 은 파이썬의 포매팅을 따름
df.dt.weekday # 요일로 변경 6이 일요일 0이 월요일
df.where(조건, 조건아닐 때)
대푯값 설정시 무엇으로 할지 (mean, median, max, min ...) 잘 생각하기
groupby 연산 시 agg로 연산
A.groupby('column1').agg(['mean', 'median', 'max', 'min'])['column2'] #groupby 연산시 agg로 연산
시간을 계산해주는 함수 사용시
from dateutil.relativedelta import relativedelta # 시간을 계산해주는 함수
relativedelta(시간이 있는 데이터1, 시간이 있는 데이터2)
>>relativedelta(years=+3, months=+11, days=+29)
이를 가져오려면
relativedelta(시간이 있는 데이터1, 시간이 있는 데이터2).years
relativedelta(시간이 있는 데이터1, 시간이 있는 데이터2).months
relativedelta(시간이 있는 데이터1, 시간이 있는 데이터2).days
>>+3, +11, +29
클러스터 군집을 이용해 그룹핑 작업 하는 방법
1. 데이터 정리
fit_transform 할 data를 metrix로 df 형태로 정리하기 (ex, 평균, 중앙, 최대, count 등...)
2. sklearn.cluster 이용,
-import 종류는 많지만 KMeans로 예를 들어보면
1) 알고리즘 불러와서 fit해주기
from sklearn.cluster import KMeans
from sklearn.preprocessing import StandardScaler #cluster는 순서 안섞고 해야함!
sc = StandardScaler()
clustering_sc = sc.fit_transform(clustering)
2) label 화
kmeans = KMeans(n_clusters=4, random_state=1) # 몇 개를 분석할지(n_clusters)를 정하는 parameter
clusters = kmeans.fit(clustering_sc)
clustering['cluster'] = clusters.labels_
※ 주의 : cluster는 순서가 섞이면 안됨
3.cluster 데이터 결과 분석
-> clustering.groupby('cluster').mean() 등 사용
4.분석 결과 시각화
-다차원에서는 시각화시 차원 축소를 해야함
차원 축소 방법
# 차원 축소란 비지도 학습 중의 하나, 정보를 되도록 잃지 않게 하면서 새로운 축을 만듬.
# 중요한 것은 순서를 흩으러트리지 않는 것!
from sklearn.decomposition import PCA
X = customer_clustering_sc
pca = PCA(n_components=2)
pca.fit(X)
x_pca = pca.transform(X)
pca_df = pd.DataFrame(x_pca)
matplotlib.pyplot 이용해 scatter 찍어보기
import matplotlib.pyplot as plt
for i in clustering['cluster'].unique():
tmp = pca_df.loc[pca_df['cluster']==i]
plt.scatter(tmp[0],tmp[1])
군집 결과를 토대로 새로운 데이터를 만들기 -> 새로운 결과 해석하기
5. 미래 데이터 예측
- 미래 데이터 예측 모델 이용
'복습용 기술공부' 카테고리의 다른 글
230310 딥러닝 개념 (1) | 2023.03.10 |
---|---|
230309 머신 러닝 _ 업무처럼 연습해보기 (0) | 2023.03.09 |
230307 이진 분류 (0) | 2023.03.07 |
23.03.03 공부 복습 (0) | 2023.03.03 |
23.03.02 공부 복습 (0) | 2023.03.02 |