목록Study (184)
Hayden's Archive
stratify 바이너리 데이터일 때 (0과 1로 구성된 데이터일 때) target이 25%(0에 해당하는 데이터), 75%(1에 해당하는 데이터) 이 비율로 유지한채로 라벨 데이터를 분할할 때 사용 정확도 출력 가지치기(Pruning) 특성 중요도(Feature Importance) 특성 중요도 시각화 결정트리 시각화
1. Load DataSet Cancer Data Analysis 2. Training, Test Data Split 3. 모델의 생성과 학습 4. 예측하기 5. Model Evaluate
먼저 텐서플로우(Tensorflow)와 Graphviz 의 설치가 필요하다. ( 참고 : Graphviz는 운영체제와 연결되는 라이브러리가 들어가야 하므로 파이썬으로 못 만든다. 파이썬에서 사용할 수 있는 라이브러리지만 파이썬으로 만들어진 건 아니고 C++로 만들어져있음. ) DataLoader 어떤 데이터를 다루는지에 대해 데이터에 대한 정확한 이해를 해야 함. 사전적인 데이터에 대한 이해는 필수적. DataFrame Visualization Seaborn Visualization Shuffle & Split 1. 현실적으로 데이터의 수가 부족해서 테스트를 마음껏 못 돌림. 학습의 데이터로 80%로 가져가고 테스트 데이터로 20% 가져감. 2. 섞어준다. 셔플 Model Generator and Tra..
결정 트리(Decision Tree) 의사를 결정. - Tree를 거꾸로 뒤집으면 이 모양이 됨. * 분류의 방법 => 분류한다는 것은 나눈다는 얘기 이진 분류(Binary Classification) => 이거 아니면 저거. 다중 분류(Multi-label Classification) => A,B,C 중 어디야? 회귀(Regression) => x가 90~10 사이니? y값이 어디보다 크니 작니 자료 출처 : https://towardsai.net/p/programming/decision-trees-explained-with-a-practical-example-fe47872d3b53 맨 위를 Root Node라고 하고 맨 끝을 Leaf Node / Terminal Node 라고 함. 중간 마디를 Int..
머신러닝이란? 머신러닝을 하기 위한 핵심적인 3가지 요소 AI / Machine Learning / Deep Learning 지도학습 / 비지도학습 / 강화학습 Training Model / Inference Model(Test Model) / Underfitting / Overfitting Forward Propagation Back Propagation 하이퍼 매개 변수(Hyperparameter) 머신러닝 하면서 쓰게 되는 파이썬 오픈소스 데이터셋 사람이 프로그램을 짤 때는 explicit하게(명료하게, 명시적으로) 짜야 함. 기계가 학습할 수 있는 능력을 부여. 우리 입장에서는 기계가 어떻게 학습하는지 explicit하게 알 수 없음. 기계가 어떻게 하는지 모르겠..
인공지능 => 파이썬, 수학 image generator하는 기술 -> 상상할 수 없는 수학적 공식 들어감. back propagation -> 딥러닝 전체 3~4번째로 어려움. 수학. 머신에서 어떻게 작업하는지 알 수 없음... Black Box => AI 깊게 들어가면 이런 이유로 학습에 어려움이 있음. => But 이런 것들 없이 접근 가능. 걸림돌이 아님. 만만하게 보지 말고 천천하게 갈 것. 한번에 깊이 못 봄. 코드 이해한다고 해서 이해가 안 됨. 코드는 간단하지만 그 안에서 작업들이 일어나는지에 대한 개념을 머릿속에서 그려야 함. 내부적으로 어떻게 돌아가는지 기본적인 것들을 최대한 이해해야 함. 머신러닝 파트, 딥러닝 파트 둘 다 인공지능인데 머신러닝의 서브셋이 딥러닝. 더 깊게 들어감. 이..
R Gui에 관한 간단한 설명 : https://www.youtube.com/watch?v=pGhjRJ9le7g 방통대 데이터정보처리입문 강의를 들으면서 R을 다운받고 간단한 코드를 작성하였다. R 프로그래밍에서 주로 사용되는 IDE는 R Studio지만 R을 설치하면서 기본적으로 설치되는 RGui를 먼저 사용해보았다. R만 공부할 당시에는 잘 몰랐는데 파이썬을 공부하고 R을 다시 보니까 데이터 분석을 할 때 왜 파이썬을 사용하는지 너무도 잘 알겠다. 데이터 분석에서 R도 많이 쓰지만 파이썬은 라이브러리가 R과 비교할 수 없을만큼 매우 강력하다. 파이썬에 비하면 R이 비교적 쉽게 느껴지지만 그러기엔 파이썬의 장점이 너무도 뚜렷하다. 여하튼 R을 간단하게 공부했었는데 그 때의 코드를 포스팅한다. 현재 1학..
* 다이나믹 프로그래밍 = 동적 계획법 - 큰 문제를 작은 문제로 나눠서 푸는 알고리즘 * 큰 문제를 작은 문제로 나누는 알고리즘 1) 다이나믹 프로그래밍(Dynamic Programming) 2) 분할 정복(Divide & Conquer = D&C) -> 공통점 : 큰 문제를 작은 문제 여러개로 나눠서 푼다. -> 차이점 : 다이나믹 프로그래밍은 큰 문제를 작은 문제로 나눴을 때 중복이 가능 / 분할 정복은 큰 문제를 작은 문제로 여러개로 나눴을 때 절대로 중복이 일어나지 않는다. * 다이나믹으로 풀 수 있는 문제의 속성 1) Overlapping Subproblem : 겹치는 부분(작은) 문제 (큰 문제를 여러개의 작은 문제로 나눈 다음 다시 그 답을 이용해서 원래 문제를 푼다. 이 작은 문제들이 중..
seaborn은 matplot과 함께 Graph Visualization을 하기 위한 파이썬 API 먼저 seaborn을 쓰기 위해 아래와 같이 import한다. import seaborn as sns 시작하기 전에 아래처럼 기본적으로 적어주면 편함 import matplotlib.pyplot as plt import numpy as np import pandas as pd from pandas import DataFrame, Series import seaborn as sns seaborn.pydata.org/ seaborn: statistical data visualization — seaborn 0.10.1 documentation Seaborn is a Python data visualizatio..
* 히스토그램 Histogram 그리기 count는 전체의 count가 될 수 있음 value_counts()-> x축 각 값마다의 count를 센다. 히스토그램은 계급별 도수의 개수 plt.hist? 에서 Returns 보면 n과 bins, patches가 리턴되는 것을 알 수 있음 * 그래프에서 한글 깨지는 현상 방지 코드 import platform from matplotlib import font_manager, rc plt.rcParams['axes.unicode_minus'] = False if platform.system() == 'Darwin': rc('font', family='AppleGothic') elif platform.system() == 'Windows': path = "c:/..