본문 바로가기

101

Chapter 1. 한눈에 보는 ML 1. 머신러닝을 어떻게 정의하는가? 머신러닝은 데이터로부터 학습할 수 있는 시스템을 만드는 것. 학습이란 어떤 작업에서 주어진 성능 지표가 더 나아지는 것을 의미 2. 머신러닝이 도움을 줄 수 있는 문제 유형은? 명확한 해결책이 없는 복잡한 문제, 수작업으로 만든 긴 규칙 리스트를 대체하는 경우, 변화하는 환경에 적응하는 시스템을 만드는 경우, 사람에게 통찰을 제공해야 하는 경우에 도움을 줄 수 있다 3. 레이블된 훈련 세트란? 레이블된 훈련 세트는 각 샘플에 대해 원하는 레이블을 담고 있는 훈련 세트이다 4. 가장 널리 사용되는 지도 학습 작업 두 가지는? 회귀와 분류 5. 보편적인 비지도 학습 작업 네 가지는? 보편적인 비지도 학습 문제는 군집, 시각화, 차원 축소, 연관 규칙 학습 6. 사전 정보가.. 2020. 12. 7.
iloc, loc Function DataFrame에서 특정 행, 열을 선택하는 방법 loc: Label이나 조건 표현으로 indexing 하는 방법 - loc['A'] : A행만 선택 - loc[['A', 'B']] : A, B 행 선택 - loc[['A', 'B'], 0:5] : A, B 행과 5개 열 선택 * '1'열에 'D' 행만 indexing하고 싶은 경우 - data[data['1'] == 'D'] *조회된 D행에서 특정(예: '8') 열 조회 - data[data['1'] == 'D', '8'] iloc: 행 또는 열을 숫자로 위치를 나타내서 indexing 하는 방법 - iloc[0] : 첫번째 행만 선책 - iloc[-1] : 마지막 행만 선택 - iloc[:, 0] : 첫번째 열만 선택 - iloc[:, -1] : 마.. 2020. 12. 7.
Scaling 종류 Scikit-learn에서 제공되는 기능 #아래와 같은 수식으로 사용 from sklearn.preprocessing import StandardScaler Scaling 종류 1. StandardScaler: 기본, 평균과 표준편차 사용 2. MinMaxScaler: 최대/최소값이 각각 1, 0이 되도록 함 3. MaxAbsScaler: 최대절대값과 0이 각각 1, 0이 되도록 함 4. RobustScaler: Median과 IQR(Interquartile Range) 사용, Outlier 영향 최소화 *IQR(Interquartile Range): 25%와 75%의 값들을 다룸 - 평균을 제거하고 data를 단위 분산으로 조정 - 이상치가 있다면 평균과 표준편차에 영향을 미쳐 변환된 data의 확산은.. 2020. 12. 6.
Offline Learning & Online Learning Offline Learning 배치 학습에서는 시스템이 점진적으로 학습할 수 없다. 가용한 데이터를 모두 사용해 훈련시켜야 한다. 일반적으로 이 방식은 시간과 자원을 많이 소모하므로 보통 오프라인에서 수행된다. 먼저 시스템을 훈련시키고 그런 다음 제품 시스템에 적용하면 더 이상의 학습 없이 실행된다. 즉, 학습한 것을 단지 적용만 한다. Online Learning 데이터를 순차적으로 한 개씩 또는 미니배치라 부르는 작은 묶음 단위로 주입하여 시스템을 훈련시킨다. 매 학습 단계가 빠르고 비용이 적게 들어 시스템은 데이터가 도착하는 대로 즉시 학습할 수 있다. 온라인 학습은 연속적으로 데이터를 받고 빠른 변화에 스스로 적응해야하는 시스템에 적합하다. 온라인 학습 시스템이 새로운 데이터 샘플을 학습하면 학습.. 2020. 12. 4.
MNIST MNIST Database는 손으로 쓴 숫자들로 이루어진 대형 database이며, 다양한 화상 처리 system을 training하기 위해 일반적으로 사용된다. 이 database는 또한 기계 학습 분야의 training 및 test에 널리 사용된다. NIST의 오리지널 dataset의 sample을 재혼합하여 만들어졌다. 2020. 12. 3.
Overfitting model이 training data에 너무 잘 맞지만 일반성이 떨어진다는 뜻 Trainig Set에 잡음(여러 부가적인 항목)이 섞인 패턴을 감지하면 새로운 샘플에 일반화되지 못한다. Overfitting은 training data에 있는 잡음의 양에 비해 model이 너무 복잡할 때 일어난다. 파라미터 수가 적은 모델을 선택하거나(고차원 다항 모델보다 선형 모델), traning data에 있는 feature 수를 줄이거나, model에 제약을 가하여 단순화 training data를 더 많이 모은다 training data의 잡음을 줄인다(오류 데이터 수정과 이상치 제거) 2020. 12. 2.
Machine Learning System의 종류 For instance 사람의 감독하에 훈련하는 것인지 그렇지 않은 것인지(지도, 비지도, 준지도, 강화 학습) 실시간으로 점진적인 학습을 하는지 아닌지(온라인 학습과 배치 학습) 단순하게 알고 있는 데이터 포인트와 새 데이터 포인트를 비교하는 것인지 아니면 과학자들이 하는 것처럼 훈련 데이터셋에서 패턴을 발견하여 예측 모델을 만드는지(사례 기반 학습과 모델 기반 학습) 학습하는 동안의 감독 형태나 정보량에 따라 분류: 지도 학습, 비지도 학습, 준지도 학습, 강화 학습 지도 학습 알고리즘에 주입하는 훈련 데이터에 label이라는 원하는 답 포함 Classification이 전형적인 지도 학습 작업 ex) spam filter on e-mail Predictor variable(예측 변수)라 불리는 Fe.. 2020. 12. 2.
Best Practices with Pandas Source: www.youtube.com/playlist?list=PL5-da3qGB5IBITZj_dYSFqnd_15JgqwA6 Best practices with pandas Learn how to perform a variety of data science tasks on real-world datasets using pandas. With each task, you'll learn how to avoid either a pandas pitfall o... www.youtube.com 2020. 11. 28.
Pandas - Dropna Function df.dropna( ) df에 NaN 값이 있으면 해당 row 통째로 제거 df.dropna(how='all') 모든 row가 NaN일때만 row 제거 df.dropna(axis=1) df.dropna(axis=1, how='all') default가 row이므로 axis를 column으로 변경 df.dropna(thresh=n) 각 row에서 NaN이 아닌 값이 최소 n개보다 적으면 해당 row 제거 2020. 11. 28.
Pandas - DataFrame 원하는 조건으로 조회 Excel Filter 기능처럼 원하는 조건으로 DataFrame을 조회하고 싶을 때 사용하는 방법 Case 1 movies.head() movies.genre.unique() #필터를 원하는 column 중 해당 column에 어떤 종류들이 있는 지 조회 movies[(movies.genre == 'Action') | (movies.genre == 'Drama') | (movies.genre == 'Family')] Case 2 movies[movies.genre.isin(['Action', 'Drama', 'Family'])] Case 3 movies[~movies.genre.isin(['Action', 'Drama', 'Family'])] 위 조건 'Action', 'Drama', 'Family'를.. 2020. 11. 27.
Pandas - Sample Function frac: 전체 개수의 비율(75%)만큼 random으로 추출 random_state: random 추출 재현성을 위한 번호 저장 예) 위 예시와 같이 random_state=100으로 지정하면, 일종의 고정 호출로 고정되어 같은 랜덤 숫자를 추출한다. 2020. 11. 27.
Top 25 pandas tricks Source: youtu.be/RlIiVeig3hc 2020. 11. 27.
5 new changes in pandas you need to know about Source: youtu.be/te5JrSCW-LY 2020. 11. 27.
4 new time-saving tricks in pandas Source:youtu.be/-NbY7E9hKxk Cheat Sheet: github.com/pandas-dev/pandas/blob/master/doc/cheatsheet/Pandas_Cheat_Sheet.pdf pandas-dev/pandas Flexible and powerful data analysis / manipulation library for Python, providing labeled data structures similar to R data.frame objects, statistical functions, and much more - pandas-dev/pandas github.com 2020. 11. 26.
How do I use the MultiIndex in pandas? Source: youtu.be/tcRGa2soc-c 2020. 11. 26.