<jupyter_start><jupyter_text>클러스터링:y값없는 데이터가 많다 결칩치를 채우기 위해 y값을 age로 한다 나머지를 x값으로 돌리고 리니어레그레이션로 교육시킨다 중심a,b,c가 있다고 가정하면 a,b,c가 찍어진 부분에서 본이과 가까운애들끼리 그룹핑을한다 실시간으로 데이터가 모이고 그 실시간동안 값을 낼때 유리하게 쓰인다[csv_file_](https://archive.ics.uci.edu/ml/machine-learning-databases//00292/Wholesale%20customers%20data.csv) 파일 1개 다운받음코랩,케글:리눅스 베이스<jupyter_code>!ls #리눅스에서 샘플데이터들 가져옴
#ls는 리스트 - l 은 옵션(리스트); 리스트로 보여주는데 자세한 리스트로 보여줘

!ls -l 

#d<- 디렉토리(폴더)
!pwd  #지금 content 위치에있다
#./내가 원하는 디렉토리 명

!ls -l ./sample_data
!ls -l ./
import pandas as pd
df = pd.read_csv('./Wholesale_customers_data.csv')
df.info()
X=df.iloc[:,:]
X.shape
from sklearn.preprocessing import StandardScaler 
scaler=StandardScaler()
scaler.fit(X)
X=scaler.transform(X)
from sklearn import cluster
kmeans=cluster.KMeans(n_clusters=5)
kmeans.fit(X)
#각 라인이 어떻게 분류되어있는지 표시해줌
kmeans.labels_

#x 를 fit해서 y만들어주는 작업 
#없던 label 붙히기 = 확인
df['label']=kmeans.labels_
df.head()
# 구성 된 데이터로 스케토플롯(산점도)으로 꾸려봄
df.plot(kind='scatter', x='Grocery',y='Frozen', c='label', cmap='Set1', figsize=(5,5))
'''
for ...
  ifdf[-(df['label']==0)|(df['label']==4)]  :

for문 안에 if 조건절 이것을 한번에 하는게 mask방식 
'''
dfx=df[-((df['label']==0)|(df['label']==4))] 
df.shape, dfx.shape
dfx.plot(kind='scatter', x='Grocery',y='Frozen', c='label', cmap='Set1', figsize=(5,5))
df.to_excel('./wholesale.xls')<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.17695167286245353, 'fraction_numerical': 0.015613382899628252, 'mean_word_length': 5.440191387559809, 'pattern_counts': {'":': 0, '<': 6, '<?xml version=': 0, '>': 5, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '190636', 'license': 'Apache-2.0', 'n_tokens_mistral': 866, 'n_tokens_neox': 1014, 'n_words': 134, 'path': '7_clustering.ipynb', 'repo_name': 'ginttone/multi_machinlearning', 'size': '1345'}