Python 41

[DL] 07-1 인공 신경망

혼자 공부하는 머신러닝+딥러닝 책을 바탕으로 공부한 내용입니다. CH7 딥러닝 시작 ① 인공 신경망 모델로 성능 향상 딥러닝과 인공 신경망 알고리즘을 이해하고 텐서플로를 사용해 간단한 인공 신경망 모델 만들어보기 ▶ 패션 MNIST 텐서플로의 케라스 패키지를 import하고 패션 MNIST 데이터를 다운로드하자 from tensorflow import keras (train_input, train_target), (test_input, test_target) = \ keras.datasets.fashion_mnist.load_data() keras.datasets.fashion_mnist 모듈 아래 load_data()는 훈련 데이터와 테스트 데이터를 나누어 반환해준다. 이 데이터의 크기를 확인해보자 p..

[Python] 05장_회원 탈퇴를 예측하는 테크닉

파이썬 데이터 분석 실무 테크닉 100 05장 _ 회원 탈퇴를 예측하는 테크닉 [ 머신러닝 ] 이미 탈퇴한 회원과 계속해서 이용하는 회원의 데이터에 대해 '의사결정 트리'라는 지도학습 분류 알고리즘을 이용해 탈퇴를 예측해보자 1. 데이터 불러오기 & 이용 데이터 수정하기 import pandas as pd customer = pd.read_csv("C:/data/customer_join.csv") uselog_months = pd.read_csv("C:/data/use_log_months.csv") customer.head() uselog_months.head() 우리는 미래를 예측하기 위해 그 달과 1개월 전의 이용 이력만 데이터로 사용할 것이다. 4장처럼 과거 6개월의 데이터로 이용횟수를 예측하는 경..

[Python] 04장_고객의 행동을 예측하는 테크닉

파이썬 데이터 분석 실무 테크닉 100 04장 _ 고객의 행동을 예측하는 테크닉 [ 머신러닝 ] 3장에서 분석한 스포츠 센터 회원의 행동 정보를 이용해서 머신러닝으로 예측 해보자 - 클러스터링 기법 이용 1. 데이터 불러오고 확인하기 import pandas as pd use_log = pd.read_csv("c:/data/use_log.csv") use_log.isnull().sum() customer = pd.read_csv("c:/data/customer_join.csv") customer.isnull().sum() end_date 외에는 결측치가 0이다. 2. 클러스터링으로 회원 그룹화하기 customer 데이터를 사용해서 회원 그룹화를 해보자 customer.head() 이 중 고객의 한달 이용..

[Python] Numpy 반올림, 올림, 버림, 내림 하는 법

[Python] Numpy 반올림, 올림, 버림, 내림 하는 법 반올림 np.round(수, 자리수) 올림 np.ceil(수) 버림 np.trunc(수) 내림 np.floor(수) ▶ 반올림 np.round(수, 자리수) import numpy as np np.round(10.259,1) #10.3 np.round(10.259,2) #10.26 np.round(10.252,2) #10.25 지정한 소숫점 자릿수까지 반올림해서 나타낸다 ▶ 올림 np.ceil(수) np.ceil(10) #10.0 np.ceil(10.4) #11.0 np.ceil(10.9) #11.0 np.ceil(-3.4) #-3.0 np.ceil(-3.9) #-3.0 입력값보다 같거나 큰 정수 중 가장 가까운 값을 반환한다 ▶ 버림 np..

Python/Study 2022.03.12

[ML] 06-3 주성분 분석

혼자 공부하는 머신러닝+딥러닝 책을 바탕으로 공부한 내용입니다. CH6 비지도 학습 ③ 주성분 분석으로 차원 축소 차원 축소에 대해 이해하고 대표적인 차원 축소 알고리즘 중 하나인 PCA(주성분 분석) 모델을 만들어보자 ▶ 차원과 주성분 분석 차원 축소 원본 데이터의 특성을 적은 수의 새로운 특성으로 변환하는 비지도 학습의 한 종류이다. 차원 축소는 저장 공간을 줄이고 시각화하기 쉽다. 다른 알고리즘의 성능을 높일 수도 있다. 대표적인 차원 축소 알고리즘은 주성분 분석 (PCA) 주성분 분석 차원 축소 알고리즘의 하나로 데이터에서 가장 분산이 큰 방향을 찾는 방법 (주성분) 원본 데이터를 주성분에 투영하여 새로운 특성을 만들 수 있다. 일반적으로 주성분은 원본 데이터에 있는 특성 개수보다 작다. ▶ PC..

[ML] 06-2 k-평균 알고리즘

혼자 공부하는 머신러닝+딥러닝 책을 바탕으로 공부한 내용입니다. CH6 비지도 학습 ② 과일을 자동으로 분류하기 k-평균 알고리즘의 작동 방식을 이해하고 타깃값을 모를 때 과일 사진을 자동으로 모으는 비지도 학습 모델을 만들어보자 ▶ K-평균 알고리즘 소개 무작위로 k개의 클러스터 중심을 정한다 각 샘플에서 가장 가까운 클러스터 중심을 찾아 해당 클러스터의 샘플로 지정한다 클러스터에 속한 샘플의 평균값으로 클러스터 중심을 변경한다 클러스터 중심에 변화가 없을 때까지 2번으로 돌아가 반복한다 k-평균 알고리즘은 처음에는 랜덤하게 클러스터 중심을 선택하고 점차 가까운 샘플의 중심으로 이동하는 알고리즘이다 클러스터 중심 k-평균 알고리즘이 만든 클러스터에 속한 샘플의 특성 평균값 센트로이드라고도 부름 가장 가..

[ML] 06-1 군집 알고리즘

혼자 공부하는 머신러닝+딥러닝 책을 바탕으로 공부한 내용입니다. CH6 비지도 학습 ① 비슷한 샘플끼리 모으기 흑백 사진을 분류하기 위해 여러 가지 아이디어를 내면서 비지도 학습과 군집 알고리즘에 대해 이해하자 해야 할 일 : 여러 과일 사진을 같은 과일끼리 분류하기 ▶ 과일 사진 데이터 준비하기 타깃이 없을 때 사용하는 머신러닝 알고리즘은 비지도 학습이다. 사과, 바나나, 파인애플이 각각 100개씩 들어있는 데이터로 군집 알고리즘을 사용해보자 # 과일 사진 데이터 불러오기 import wget url = "https://bit.ly/fruits_300_data" wget.download(url) import numpy as np import matplotlib.pyplot as plt fruits = ..

[Python] 판다스, 넘파이 axis 개념

[Python] 판다스, 넘파이 axis 개념 1. axis=0 각 열(row)의 모든 행(column)에 대해 동작 진행방향이 세로임 (위에서 아래) drop일 때는 행을 drop 2. axis=1 각 행(column)의 모든 열(row)에 대해 동작 진행방향이 가로임 (왼쪽에서 오른쪽) drop일 때는 열을 drop ▶ 하나의 데이터 불러오기 import pandas as pd import numpy as np df = pd.read_csv("https://bit.ly/wine_csv_data").head() df ▶ pd.drop에서 axis 예시 인덱스가 0, 3인 행을 삭제하기 (axis=0) df.drop([0,3], axis=0) 'sugar' 열 삭제하기 (axis=1) df.drop('s..

Python/Study 2022.03.11

[ML] 05-3 트리의 앙상블

혼자 공부하는 머신러닝+딥러닝 책을 바탕으로 공부한 내용입니다. CH5 트리 알고리즘 ③ 앙상블 학습을 통한 성능 향상 앙상블 학습이 무엇인지 이해하고 다양한 앙상블 학습 알고리즘을 실습을 통해 배워보자 앙상블 학습 - 더 좋은 예측 결과를 만들기 위해 여러 개의 모델을 훈련하는 머신러닝 알고리즘 - 정형 데이터를 다루는데 가장 뛰어난 성과를 내는 알고리즘 - 대부분 결정 트리를 기반으로 만들어져 있음 ▶ 랜덤 포레스트 대표적인 결정 트리 기반의 앙상블 학습 방법 부트스트랩 샘플을 사용, 랜덤하게 일부 특성을 선택하여 트리를 만드는 것이 특징 랜덤하게 선택한 샘플과 특성을 사용하므로 과대적합을 막아주고, 안정적인 성능을 얻을 수 있음 사이킷런의 랜덤 포레스트는 기본적으로 100개의 결정 트리를 훈련 Ra..

[ML] 05-2 교차 검증과 그리드 서치

혼자 공부하는 머신러닝+딥러닝 책을 바탕으로 공부한 내용입니다. CH5 트리 알고리즘 ② 최적의 모델을 위한 하이퍼파라미터 탐색 검증 세트, 교차 검증에 대해 배우기 그리드 서치와 랜덤 서치를 이용해 최적의 성능을 내는 하이퍼파라미터를 찾아보자 ▶ 검증 세트 검증세트는 하이퍼파라미터 튜닝을 위해 모델을 평가할 때, test set을 사용하지 않기 위해 train set에서 다시 떼어 낸 data set이다. test set으로 일반화 성능을 올바르게 예측하려면 가능한 한 test set을 사용하지 않아야 한다. test set을 사용하지 않고 모델이 과대적합인지 과소적합인지 판단하기 위해 검증 세트를 이용하자 train set에서 모델을 훈련하고 검증 세트로 모델 평가 테스트하고 싶은 매개변수를 바꿔가며..