일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
31 |
- python3
- 빅분기
- 알고리즘
- SQL
- 실습
- 머신러닝
- Kaggle
- 빅데이터 분석 기사
- 프로그래머스
- 코딩테스트
- 카카오
- 실기
- matplotlib
- level 2
- Numpy
- Oracel
- 오라클
- Python
- 파이썬
- 데이터 분석
- pandas
- seaborn
- 튜닝
- oracle
- sklearn
- R
- level 1
- Today
- Total
목록Python (164)
라일락 꽃이 피는 날
1. 2차원 군집 분석 (Kmeans) n_clusters: 군집의 갯수 (default=8) init: 초기화 방법. 'random'이면 무작위, 'k-means++'이면 K-평균++ 방법 (default=k-means++) n_init: centroid seed 시도 횟수. 무작위 중심위치 목록 중 가장 좋은 값을 선택 (default=10) max_iter: 최대 반복 횟수 (default=300) random_state: 시드값 (default=None) 1) 군집 분석 from sklearn.cluster import KMeans x = preprocessed_df[['Attack', 'Defense']] k_list = [] cost_list = [] for k in range(1, 6): k..
1. 데이터 전처리 1) 데이터 타입 변경 df['Legendary'] = df['Legendary'].astype(int) df['Generation'] = df['Generation'].astype(str) preprocessed_df = df[['Type 1', 'Type 2', 'Total', 'HP', 'Attack', 'Defense', 'Sp. Atk', 'Sp. Def', 'Speed', 'Generation', 'Legendary']] preprocessed_df.head() 2) one-hot encoding def make_list(x1, x2): type_list = [] type_list.append(x1) if x2 is not np.nan: type_list.append(x2)..
1. K-Means Clustering 군집화에서 가장 대중적으로 사용되는 알고리즘이다. centroid라는 중점을 기준으로 가장 가까운 포인트들을 선택하는 군집화 기법이다. 사용 예시) 스팸 문자 분류, 뉴스 기사 분류 from sklearn.cluster import KMeans kmeans = KMeans(n_clusters=3) cluster_data = kmeans.fit_transform(df.loc[:, 'sepal length (cm)':'petal width (cm)']) 2. DBSCAN (밀도 기반 클러스터링) DBSCAN (Density-based spatial clustering of applications with noise) 밀도가 높은 부분을 클러스터링 하는 방식이다. 어느 ..
비지도 학습 (Unsupervised Learning) 기계 학습의 일종으로 데이터가 어떻게 구성되었는지를 알아내는 문제의 범주에 속한다. 이 방법은 지도 학습(Supervised Learning) 혹은 강화 학습(Reinforcement Learning)과는 달리 입력값에 대한 목표치가 주어지지 않는다. 차원 축소: PCA, LDA, SVD 군집화: KMeans Clustering, DBSCAN 군집화 평가 차원 축소 feature의 갯수를 줄이는 것을 뛰어 넘어 특징을 추출하는 역할 계산 비용을 감소하고, 전반적인 데이터에 대한 이해도를 높이는 효과 1. PCA 차원축소 주성분 분석(PCA)는 선형 차원 축소 기법이다. 매우 인기 있게 사용되는 차원 축소 기법 중 하나이다. 주요 특징중의 하나는 분산..
for 반복문 반복 횟수가 정해져 있는 경우 for 변수명 in range(반복횟수): 수행 코드 for x in range(10): print('반복 출력') for x in range(10): print('{}번째 반복'.format(x)) for char in 'abcde': print(char) for tup in (1, 2, 3, 4, 5): print(tup) enumerate 순서가 있는 자료형을 입력으로 받아 인덱스 값을 포함하는 enumerate 객체를 돌려준다. seasons = ['Spring', 'Summer', 'Fall', 'Winter'] for i, name in enumerate(seasons): print(i, name) 중첩 반복 for x in range(3): # m..
if 조건문 if 조건식: (Tab → indent 들여쓰기) 수행 코드 if True : if문에 종속되어있는 코드를 실행 if False : if문에 종속되어있는 코드를 실행 X if 조건식: print('if문의 조건식이 참이면 수행') if ~ else if 조건식: print('if문의 조건식이 참이면 수행') else: print('if문의 조건식이 거짓이면 수행') print('if문과 별개적으로 수행') if ~ elif ~ else if 조건식: print('if문의 조건식이 참이면 수행') elif 조건식: print('elif문의 조건식이 참이면 수행') else: print('if문과 elif문의 조건식이 거짓이면 수행') 중첩 if문 if 조건식1: if 조건식2: print('i..
1. random from random import random random() # 0.0~1.0 미만 random() * 10 # 0.0~10.0 미만 int(random()*10) # 0~10 미만 int(random()*10)+1 # 1~11 미만 2. randint from random import randint randint(1, 10) # 1~10 이하 chr(randint(65, 90)) # 대문자 A~Z chr(randint(97, 122)) # 소문자 a~z 3. randrange from random import randrange randrange(1, 10) # 1~10 미만 randrange(2, 10, 2) # 2~10 미만 짝수 randrange(1, 10, 2) # 1~10 미..
Hyperparameter 튜닝 hypterparameter 튜닝시 경우의 수가 너무 많기 때문에 자동화할 필요가 있다. 자주 사용되는 hyperparameter 튜닝을 돕는 클래스는 다음 2가지가 있다. - RandomizedSearchCV - GridSearchCV 적용하는 방법 1. 사용할 Search 방법을 선택한다. 2. hyperparameter 도메인을 설정한다. (max_depth, n_estimators 등) 3. 학습을 시킨 후, 기다린다. 4. 도출된 결과 값을 모델에 적용하고 성능을 비교한다. RandomizedSearchCV 모든 매개 변수 값이 시도되는 것이 아니라 지정된 분포에서 고정 된 수의 매개 변수 설정이 샘플링된다. 시도 된 매개 변수 설정의 수는 n_iter에 의해 제..