프로그래밍 공부 102

파이썬 12일차

심층신경망으로 항공사 고객 만족 분류 모델 구혈 실습하기 import numpy as npimport pandas as pdimport warningswarnings.filterwarnings('ignore')df = pd.read_csv('./Invistico_Airline.csv')df.info()df.head()df.describe()df.isnull().sum()데이터를 불러와서 살펴보니 총 데이터는 129880개고 칼럼은 23개, 결측치는 393개가 있는걸 알수있다. from sklearn.impute import SimpleImputermean_imputer = SimpleImputer(strategy='mean')df['Arrival Delay in Minutes'] = mean_imput..

파이썬 11일차

텐서텐서는 다차원 배열을 통칭하는 용어로 스칼라는 값을 1개의 수치로 표현하고, 벡터는 하나의 값을 2개 이상의 수치로 표현하며, 매트릭스는 2개 이상의 벡터 값을 통합해 구성된 값이다. 행렬을 2차원 배열이라고 하면 텐서는 2차원 이상의 다차원을 가진 배열이다. 텐서 관련 개발 프레임워크 텐서플로구글이 개발한 오픈소스로 공개된 딥러닝 프레임워크로 데이터 플로 그래프 구조를 사용하여 수치 연산을 하며, 강력한 시각화 기능과 높은 수준의 모델 개발에 사용할 수 있는 여러 옵션을 갖춘 딥러닝 라이브러리다. 케라스텐서플로의 상위 레벨 API로 딥러닝 모델을 쉽게 구현하는 데 도움을 주는 직관적인 API를 제공하고, 시퀀셜 모델로 원하는 레이어를 쉽게 순차적으로 쌓을수 있으며 다중 출력등 복잡한 모델을 케라스..

파이썬 10일차

앙상블다수의 기본 모델을 생성하고 결합하여 하나의 새로운 모델을 생성하는 것이다.여러 모델을 결합하므로 단일 모델보다 일반적으로 성능이 우수하고, 편향과 분산을 적절히 고려하기 때문에 과적합 방지에 용이하다. 보팅보팅은 각각 다른 알고리즘을 이용해 모델을 결합하는 방식으로, 여러 모델의 결과를 기반으로 투표에 의해 결과를 도출한다. 보팅은 하드보팅과 소프트보팅으로 구분되며, 하드보팅은 각 모델의 결과 중 가장 많이 분류된 결과로 최종 결과를 선정하고, 소프트보팅은 각 모델별 예측한 확률값의 평균으로 최종값을 선정한다. 배깅배깅은 부트스트랩 기반 샘플링 기법을 통해 하나의 알고리즘을 학습하여 생성된 여러 모델의 결과를 결합하는 알고리즘이다. 배깅은 먼저 학습 데이터로 부터 부트스트랩 샘플링을 진행하여 ..

파이썬 9일차

의사결정 나무트리기반 모델은 Feature를 조건 기반으로 참 거짓으로 나눠 스무고개 하듯이 학습을 이어간다.그렇기 때문에 결과에 대한 설명이 가능하고 범주와 연속형 수치 모두 예측이 가능하지만 과대적합 발생 확률이 높고 출력변수가 연속형인 회귀 모델에서는 예측력이 떨어질수 있다. import pandas as pdimport numpy as npfrom sklearn.model_selection import train_test_splitdf = pd.read_csv('./국민건강보험공단_건강검진정보_20211229.CSV', encoding='cp949')sample_df = df[['신장(5Cm단위)', '성별코드', '체중(5Kg 단위)', '음주여부']]sample_df[:10]실습 할 데이터 ..

파이썬 8일차

사례 기반 선형 회귀 모델링 건강검진 데이터에서 'LDL 콜레스테롤' 수치를 예측해보는 선형 회귀 모델 만들기 import pandas as pd# 데이터 불러오기df = pd.read_csv('./국민건강보험공단_건강검진정보_20211229.CSV', encoding='cp949')# pandas display 옵션 조정을 통해 View 범위 확장하기pd.set_option('display.max_columns', None) # display 옵션을 통한 전체 열 확장# 데이터 확인하기(상위 5개)df.head()AI 학습에 사용할 데이터 원본 이 데이터에서 LDL 콜레스테롤 수치에 별로 관계 없는 치아, 시력, 청력과 관련된 데이터를 제거한다. # 가설을 참고하여 데이터 일부 삭제하기# 시력, 청력,..

파이썬 7일차

AI란 무엇인가? 머신러닝 이해하기머신러닝은 컴퓨터가 다양한 머신러닝 학습 모델을 기반으로 제공된 데이터를 이용해 학습을 수행하고, 모델의 성능을 반복적으로 평가하며, 스스로 성능을 향상하는 것을 말한다.제공된 각 데이터별 상관관계와 특성을 찾아내고 결론을 예측할 수 있다. 딥러닝 이해하기딥러닝은 머신러닝과는 구분되지만 큰 틀에서는 머신러닝에 포함된 기술이다.딥러닝은 사람의 뇌 신경망이 학습하는 방식에서 영감을 얻은 학습 방식으로, 레이어를 겹겹이 쌓고, 레이어 내 노드를 구성해 학습을 진행한다.최종적으로 모든 레이어를 거치면 전체 학습 성능을 평가하고 오차를 통해 딥러닝 모델의 성능을 향상하기 위한 가중치를 재계산 하는 과정을 반복한다. 딥러닝은 머신러닝에 비해 연산이 기하급수적으로 늘어나 성능은 좋지..

파이썬 6일차

# 시각화를 위해 matplotlib.pyplot 불러오기import matplotlib.pyplot as pltplt.figure()# 첫 번째 subplot : 1행 5열로 나눈 영역에서 첫 번째 영역plt.subplot(151)df[['duration']].boxplot()plt.ylabel('Time')# 두 번째 subplot : 1행 5열로 나눈 영역에서 세 번째 영역plt.subplot(153)df[['days_left']].boxplot()plt.ylabel('Days')# 세 번째 subplot : 1행 5열로 나눈 영역에서 다섯 번째 영역plt.subplot(155)df[['price']].boxplot()plt.ylabel('Price')plt.show()이상치가 있었던 데이터를 상자..

파이썬 5일차

다변량 시각화 산점도 plt.figure(figsize=(16,8))# price와 duration의 산점도 그리기plt.scatter(y=df['price'], x=df['duration'])plt.xlabel('Duration')plt.ylabel('Price')plt.show() 비행시간과 항공권 가격의 관계를 나타내었다.산점도는 2개의 연속형 변수의 관계를 보기 위해서 X축과 Y축에 표시하는 점들을 찍어서 만드는 그래프이다.산점도에 표기되는 점들은 자료들의 관측값을 나타내며, 키와 몸무게와 같은 두 변수 간의 상관관계를 대략적으로 확인할수있다. plt.figure(figsize=(16,6))# "Economy" Class에 대한 price와 duration 간의 산점도 그리기plt.scatter..

파이썬 4일차

일변량 비시각화 import pandas as pdimport numpy as npdf = pd.read_csv('Clean_Dataset.csv')df.drop([df.columns[0]], axis=1, inplace=True)기준 데이터 # 수치형 데이터의 요약 통계량 확인하기df.describe()시각화 대상 데이터의 수치적인 통계 확인 # 전체 칼럼의 요약 통계량 확인하기df.describe(include='all')전체 칼럼 통계 확인 # airline, source_city, destination_city의 빈도표 확인하기print(df['airline'].value_counts())print(df['source_city'].value_counts())print(df['destination..