프로그래밍 공부/인공지능

프로그래밍 공부/인공지능

Housing 데이터셋을 이용한 머신러닝 - 3

2. 변환 적용 (RMSE = 23654.49999171906) 2.1 알고리즘을 위한 데이터 준비 및 변환 1~3 적용 우선 훈련할 데이터프레임을 준비한다. In [135]: housing = strat_test_set.copy() 여기서 변환 1처럼 housing에 'median_house_value'에서 이상치를 제거한다. In [136]: Outlier_line = [112500, 137500, 187500, 225000, 275000, 350000, 450000, 500001] for i in Outlier_line : housing = housing[housing.median_house_value != i] 2.1.1 데이터 정제(결측값 제거 or 평균값 적용) In [137]: sample_..

프로그래밍 공부/인공지능

MNIST 데이터 셋과 t-SNE, PCA, LLE, MDS 차원 축소

머신러닝의 수 많은 알고리즘은 고차원의 공간에 벡터 형식으로 정보를 저장하곤 하는데, 수 백 천 만 되가는 차원을 그대로 이해하기엔 인간의 뇌는 버겁다. 그래서 이를 해결하려고 고차원 공간을 2차원으로 압축하고 시각화 할 수 있는 임베딩 방법들이 이용되고는 한다. 임베딩 방법은 현재도 많이 연구되고 있으며, 제목에 적혀있듯 t-SNE, PCA, LLE, MDS 이 네 가지 방법을 살펴보도록 하려고 합니다. 우선 간단하게 각 임베딩 방법을 설명하자면 t-SNE: t-Stochastic Neighbor Embedding, t-분포 확률적 임베딩, 2008년에 제안된 방법이며 Student 라는 가명의 학자가 발표한 t-분포에서 이름을 따왔다고 한다. t-SNE는 고차원의 벡터로 표현되는 데이터 간의 neig..

프로그래밍 공부/인공지능

엑스트라 트리 모델 직접 구현해보기

엑스트라 트리(Extra Tree)란? 이전 글에 랜덤 포레스트가 특성을 기반으로 결정 트리를 무작위로 선택하는 것이였다면, 엑스트라 트리는 특성 또한 무작위로 선택하게 된다. 즉 무작위성을 더 추가한다는 뜻 어렵게 말하면 후보 특성을 무작위로 분할하여 최적의 분할을 찾는 것이다. 이렇게 진행하면 랜덤 포레스트 모델보다 특성에 대한 중요도(의존도)가 커져 성능은 낮아질 지 언정, 과대적합을 방지하고 검증 세트 점수를 향상시킬 수 있다. 무작위성이 더 크기 때문에 속도도 빠르다. 이 정도만 알고 가도 코드 이해하는 데는 문제가 없을 것 같으니 바로 구현으로~~ 기본 설정 필수 모듈 불러오기 그래프 출력 관련 기본 설정 지정 In [ ]: pip install mglearn In [ ]: # 파이썬 ≥3.5..

프로그래밍 공부/인공지능

랜덤 포레스트, 스태킹 모델 직접 구현해보기

설명하기 앞서 랜덤 포레스트와 스태킹 모델에 대해서 설명하자면 다음을 이해하면 된다. 랜덤포레스트(Random Forest)란? 우리는 머신러닝으로 데이터 속 특성(Feature)을 수정하거나 결정하는 것을 알 수 있다. 이 특성 정보를 기반으로 데이터를 분리하는 과정을 의사 결정 트리(Decision Tree)라고 한다. 보통 나무(Tree)들이 모여있는 장소를 숲(Forest)이라고 하는데, 랜덤 포레스트(Random Forest)는 이런 의사 결정 트리(Decision Tree)가 모여있는 장소라고 생각하면 된다. 의사 결정 트리에서 한 두가지 요소로 결정하는 것 보다 여러가지 요소를 통해 결정할수록 더 자세한 예측을 할 수 있을 것이다. 그치만 수많은 요소(Feature)들을 가지고 하나의 결정 ..

프로그래밍 공부/인공지능

낮, 밤, 실내, 실외 구분 모델 구현(진짜 맛보기)

기본 설정 필수 모듈 불러오기 그래프 출력 관련 기본 설정 지정 In [ ]: # 파이썬 ≥3.5 필수 import sys assert sys.version_info >= (3, 5) # 사이킷런 ≥0.20 필수 import sklearn assert sklearn.__version__ >= "0.20" # 공통 모듈 임포트 import numpy as np import os # 노트북 실행 결과를 동일하게 유지하기 위해 np.random.seed(42) # 깔끔한 그래프 출력을 위해 %matplotlib inline import matplotlib as mpl import matplotlib.pyplot as plt mpl.rc('axes', labelsize=14) mpl.rc('xtick', lab..

프로그래밍 공부/인공지능

사이킷런(Sklearn) 없이 시그모이드 함수 구현하기

기본 설정 필수 모듈 불러오기 그래프 출력 관련 기본 설정 지정 In [ ]: # 파이썬 ≥3.5 필수 import sys assert sys.version_info >= (3, 5) # 사이킷런 ≥0.20 필수 import sklearn assert sklearn.__version__ >= "0.20" # 공통 모듈 임포트 import numpy as np import os # 노트북 실행 결과를 동일하게 유지하기 위해 np.random.seed(42) # 깔끔한 그래프 출력을 위해 %matplotlib inline import matplotlib as mpl import matplotlib.pyplot as plt mpl.rc('axes', labelsize=14) mpl.rc('xtick', lab..

프로그래밍 공부/인공지능

캐글(Kaggle) 타이타닉 경진대회 맛보기

일단 라이브러리들을 불러오고, 'train.csv', 'test.csv' 파일 또한 불러오자. import pandas as pd import numpy as np train = pd.read_csv('train.csv') test = pd.read_csv('test.csv') 그 후 제대로 파일을 불러왔는지 train.head()로 확인해보았다. In [ ]: train.head() Out[ ]: 1 0 3 Braund, Mr. Owen Harris male 22.0 1 0 A/5 21171 7.2500 NaN S 2 1 1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 0 PC 17599 71.2833 C85 C 3 1 3 Heikk..

프로그래밍 공부/인공지능

Housing 데이터셋을 이용한 머신러닝 - 2

프로젝트 목표(변환 1~3) 변환 1 중간 소득과 중간 주택 가격 사이의 상관관계 그래프에서 확인할 수 있는 수평선에 위치한 데이터를 삭제한다. 우선 그래프를 확인해보면 median_house_value의 500,000 값이 집중적으로 존재한다. In [37]: housing = strat_train_set.copy() # housing 값 초기화 In [38]: housing.plot(kind="scatter", x="median_income", y="median_house_value", alpha=0.1) plt.axis([0, 16, 0, 550000]) save_fig("income_vs_house_value_scatterplot") 그림 저장: income_vs_house_value_scatte..

티키택
'프로그래밍 공부/인공지능' 카테고리의 글 목록