Python 41

[Kaggle] Titanic 생존자 예측 ② Feature Engineering & 모델링

Titanic 생존자 예측 ② Feature Engineering & 모델링 3. Feature Engineering Feature Engineering을 시작하기에 앞서 상관계수, 결측치를 확인해보자 train.corr() train.isnull().sum() Train과 Test data를 한 번에 변환하기 위해 List에 담아주었다. data_list = [train, test] 3-1. Sex Sex는 male(남성), female(여성)으로 나누어져 있다. 이를 0과 1로 변경해주자 # int type의 숫자 0과 1로 매핑 for data in data_list: data['Sex'] = data['Sex'].astype('category').cat.codes train['Sex'].head(..

[Kaggle] Titanic 생존자 예측 ① 데이터 확인 & EDA

Titanic 생존자 예측 ① 데이터 확인 & EDA 다음 데이터셋을 이용하였습니다. https://www.kaggle.com/c/titanic/data Titanic - Machine Learning from Disaster | Kaggle www.kaggle.com Survived - 생존유무, target 값. (0 = 사망, 1 = 생존) Name - 탑승객 성명 Pclass - 티켓 클래스. (1 = 1st, 2 = 2nd, 3 = 3rd) Sex - 성별 Age - 나이(세) SibSp - 함께 탑승한 형제자매, 배우자 수 총합 Parch - 함께 탑승한 부모, 자녀 수 총합 Embarked - 탑승 항구 Fare - 탑승 요금 Ticket - 티켓 넘버 Cabin - 객실 넘버 1. 라이브러..

[Kaggle] 자전거 수요 예측 ② Feature Engineering & 모델링

자전거 수요 예측 ② Feature Engineering & 모델링 3. Feature Engineering 3-1. 이상치 제거 연속형 변수에 대해 boxplot을 그려 분포를 확인해보자 fig, axes = plt.subplots(6, 1, figsize = (12, 8)) sns.boxplot(data = train, x="temp", ax=axes[0]) sns.boxplot(data = train, x="humidity", ax=axes[1]) sns.boxplot(data = train, x="windspeed", ax=axes[2]) sns.boxplot(data = train, x="casual", ax=axes[3]) sns.boxplot(data = train, x="registered..

[Kaggle] 자전거 수요 예측 ① 데이터 확인 & EDA

자전거 수요 예측 ① 데이터 확인 & EDA 다음 데이터셋을 이용하였습니다. www.kaggle.com/c/bike-sharing-demand/ Bike Sharing Demand Forecast use of a city bikeshare system www.kaggle.com datetime - hourly date + timestamp season - 1 = spring, 2 = summer, 3 = fall, 4 = winter holiday - whether the day is considered a holiday workingday - whether the day is neither a weekend nor holiday weather 1: Clear, Few clouds, Partly clou..

[DL] 09-3 LSTM과 GRU 셀

혼자 공부하는 머신러닝+딥러닝 책을 바탕으로 공부한 내용입니다. CH9 텍스트를 위한 인공 신경망 ③ LSTM과 GRU 셀로 훈련 순환 신경망에서 빼놓을 수 없는 핵심 기술인 LSTM과 GRU 셀을 사용한 모델을 만들어보자 ▶ LSTM 신경망 훈련하기 LSTM 셀 타임스텝이 긴 데이터를 효과적으로 학습하기 위해 고안된 순환층 입력 게이트, 삭제 게이트, 출력 게이트 역할을 하는 작은 셀이 포함되어 있음 은닉 상태 외에 셀 상태를 출력함 - 셀 상태는 다음 층으로 전달되지 않으며 현재 셀에서만 순환됨 먼저 이전 절처럼 IMDB 리뷰 데이터를 로드하고 샘플의 길이를 100으로 맞춰주자 from tensorflow.keras.datasets import imdb from sklearn.model_selecti..

[DL] 09-2 순환 신경망으로 IMDB 리뷰 분류하기 (+ 09-1)

혼자 공부하는 머신러닝+딥러닝 책을 바탕으로 공부한 내용입니다. CH9 텍스트를 위한 인공 신경망 ①② 케라스 API로 순환 신경망 구현하기 텐서플로를 사용해 순환 신경망을 만들어 영화 리뷰 데이터셋에 적용해 리뷰를 긍정과 부정으로 분류해보자 ▶ 09-1장 순환 신경망의 개념을 설명한 단원이라 키워드만 정리하고 넘어가겠습니다 순차 데이터 텍스트나 시계열 데이터와 같이 순서에 의미가 있는 데이터 대표적으로 글, 대화, 일자별 날씨, 일자별 판매 실적 등을 예로 들 수 있음 순환 신경망 순차 데이터에 잘 맞는 인공 신경망의 한 종류 순차 데이터를 처리하기 위해 고안된 순환층을 1개 이상 사용한 신경망 순환 신경망에서는 종종 순환층을 셀이라 부름 - 하나의 셀은 여러 개의 뉴런으로 구성 순환 신경망에서는 셀의..

[DL] 08-3 합성곱 신경망의 시각화

혼자 공부하는 머신러닝+딥러닝 책을 바탕으로 공부한 내용입니다. CH8 이미지를 위한 인공 신경망 ③ 시각화로 이해하는 합성곱 신경망 합성곱 층의 가중치와 특성 맵을 시각화하여 신경망이 이미지에서 어떤 것을 학습하는지 이해해보자 이 전 절의 코드에 이어서 실행했습니다. ▶ 가중치 시각화 08-2에서 만들었던 모델이 어떤 가중치를 학습했는지 확인하기 위해 체크포인트 파일을 읽고 확인해보자 from tensorflow import keras model = keras.models.load_model('best-cnn-model.h5') # 케라스에 추가한 층 확인 model.layers 케라스 모델에 추가한 층은 layers 속성에 저장되어 있다. Conv2D, MaxPooling2D 층이 번갈아 2번, Fl..

[DL] 08-2 합성곱 신경망을 사용한 이미지 분류 (+ 08-1)

혼자 공부하는 머신러닝+딥러닝 책을 바탕으로 공부한 내용입니다. CH8 이미지를 위한 인공 신경망 ①② 케라스 API로 합성곱 신경망 구현하기 케라스 API를 사용해 합성곱 신경망 모델을 만들어 패션 MNIST 이미지를 분류해보자 ▶ 08-1장 합성곱 신경망의 개념을 설명한 단원이라 키워드만 정리하고 넘어가겠습니다 합성곱 밀집층과 비슷하게 입력과 가중치를 곱하고 절편을 더하는 선형 계산 밀집층과 달리 각 합성곱은 입력 전체가 아닌 일부만 사용하여 선형 계산을 수행함 합성곱 층의 필터는 밀집층의 뉴런에 해당 (필터의 가중치와 절편을 종종 커널이라고 부름) 자주 사용되는 커널의 크기는 (3, 3) 또는 (5, 5), 커널의 깊이는 입력의 깊이와 같음 특성 맵 합성곱 층이나 풀링 층의 출력 배열을 의미 필터 ..

[DL] 07-3 신경망 모델 훈련

혼자 공부하는 머신러닝+딥러닝 책을 바탕으로 공부한 내용입니다. CH7 딥러닝 시작 ③ 최상의 신경망 모델 얻기 케라스 API를 사용해 모델을 훈련하는데 필요한 다양한 도구들을 알아보자 ▶ 손실 곡선 먼저, 패션 MNIST 데이터셋을 불러와 훈련 세트와 검증 세트로 나누자 from tensorflow import keras from sklearn.model_selection import train_test_split (train_input, train_target), (test_input, test_target) = keras.datasets.fashion_mnist.load_data() train_scaled = train_input / 255.0 train_scaled, val_scaled, trai..

[DL] 07-2 심층 신경망

혼자 공부하는 머신러닝+딥러닝 책을 바탕으로 공부한 내용입니다. CH7 딥러닝 시작 ② 케라스 API를 활용한 심층 신경망 인공 신경망에 층을 여러 개 추가하여 패션 MNIST 데이터셋을 분류하면서 케라스로 심층 신경망을 만드는 법을 자세히 배워보자 ▶ 2개의 층 먼저, 데이터셋을 먼저 불러오자 from tensorflow import keras (train_input, train_target), (test_input, test_target) = keras.datasets.fashion_mnist.load_data() 7-1장에서 했던 것을 똑같이 해보자 from sklearn.model_selection import train_test_split train_scaled = train_input / 25..