전체 글

Datascience/Linear Algebra

[개발자를 위한 실전 선형대수학] 행렬과 행렬의 기본 연산

개발자를 위한 실전 선형대수학(Practical Linear Algebra for Data Science) 4장 행렬, 파트 1 : 행렬과 행렬의 기본 연산 "행렬은 벡터를 한 차원 더 끌어올린 것입니다." 데이터 과학에서 다루는 행렬은 수십억 개의 원소를 가지는 대규모인 경우가 많다. 그렇기에 수식적인 표현보다는 maplotlib등의 라이브러리를 활용한 시각화 표현이 유리함. # create some matrices A = np.random.randn(3,4) B = np.random.randn(100,100) C = -toeplitz(np.arange(8),np.arange(10)) # and show them as images fig,axs = plt.subplots(1,3,figsize=(10,3..

Datascience/Linear Algebra

[개발자를 위한 실전 선형대수학] 벡터의 응용

개발자를 위한 실전 선형대수학(Practical Linear Algebra for Data Science) 3장 벡터 응용: 데이터 분석에서의 벡터 벡터와 벡터 연산이 데이터 과학에서 어떻게 사용되는가? 상관관계와 코사인 유사도 상관관계 상관관계는 통계와 머신러닝에서 가장 근본적이면서 중요한 분석 방법 상관계수(correlation coefficient): 두 변수 사이의 선형관계를 정량화한 하나의 숫자 → 정규화가 포함됨(단위의 영향 x, 상관계수가 기대하는 -1 ~ +1의 범위를 가지게 됨) -> 상관계수 계산에 포함된 두 정규화 1. 각 변수의 평균 중심화: 평균중심화는 각 데이터 값에서 평균값을 빼는 것 2. 벡터 노름 곱으로 내적을 나누기: 측정 단위를 제거하고 상관계수의 최대 크기를 1로 조정..

Datascience/Linear Algebra

[개발자를 위한 실전 선형대수학] 벡터의 확장 개념

개발자를 위한 실전 선형대수학(Practical Linear Algebra for Data Science) 2장 벡터, 파트 2 : 벡터의 확장 개념 벡터 집합(set) - 벡터들의 모음, 대문자 이탤릭체로 표기 선형 가중 결합 - 선형 가중 결합 (linear weighted combination) : 여러 변수마다 가중치(또는 계수)를 다르게 주어 정보를 혼합하는 방법 = 선형 혼합(linear mixture), 가중 결합(weighted combination) - 선형 가중 결합은 단순하게 말하면 스칼라-벡터 곱셈을 한 다음 합을 하는 것 선형 독립성 - 벡터 집합에서 적어도 하나의 벡터를 집합의 다른 벡터들의 선형 가중 결합으로 나타낼 수 있을 때, 벡터 집합을 선형 종속적(linearly dep..

Datascience/Linear Algebra

[개발자를 위한 실전 선형대수학] 벡터와 기본 연산

개발자를 위한 실전 선형대수학(Practical Linear Algebra for Data Science) 1장 벡터, 파트 1 : 벡터와 벡터의 기본 연산 정리 벡터는 선형대수학 전체의 초석이다. 벡터(Vector) : 순서대로 나열된 수 목록(ordered list of number) 차원(dimensionality) : 벡터가 가진 원소의 수(수학적 차원의 개념), (파이썬에서 벡터의 길이, 모양) ▶ 파이썬에서의 차원은 수 객체를 출력하는 데 사용되는 기하학적 차원의 수 방향(orientation) : 벡터의 원소들이 나열된 모양 ( 열 방향, 행 방향) 벡터의 기하학적 해석 - 벡터는 특정 길이(또는 크기)와 방향을 가진 직선 "벡터를 기하학적 또는 대수학적으로 개념화하는 것은 단순히 같은 것을..

Datascience

DecisionTree와 Ensembling 실습 : wine 데이터 셋

실습 목표 와인 데이터셋을 통해 DecisionTreeClassifier, RandomForestClassifier, 그리고 AdaBoostClassifier, GradientBoostClassifier를 학습해보고자 한다. 와인 데이터 셋 가져오기(sklearn.datasets) from sklearn.datasets import load_wine wine = load_wine() sklearn.datasets에는 머신러닝을 위한 다양한 샘플 데이터들이 있다. 와인 등급 데이터는 분류(calssification)를 위한 데이터셋이다. load_wine() 함수를 이용하여 쉽게 로드할 수 있다. 로드된 데이터 셋은 pandas.DataFrame이 아닌sklearn.utils.Bunch 클래스 형태로 저장..

Datascience

Ensemble 2: AdaBoosting과 GradientBoosting

부스팅(boosting, hypothesis boosting) 부스팅은 약한 학습기를 여러개 연결하여 강한 학습기를 만드는 앙상블 방법이다. AdaBoost(Adaptive boosting) 이전 모델이 과소적합했던 훈련 샘플의 가중치를 더 높이는 방법. https://www.analyticsvidhya.com/blog/2022/01/introduction-to-adaboost-for-absolute-beginners/ Introduction to AdaBoost for Absolute Beginners AdaBoost stands for Adaptive Boosting. It is a statistical classification algorithm that forms a committee of wea..

Datascience

Ensemble 1: 앙상블 학습과 랜덤 포레스트

랜덤으로 선택된 수천 명의 사람에게 복잡한 질문을 하고 답을 모으면, 많은 경우 전문가의 수준의 답을 얻을 수 있다. 이러한 대중의 지혜를 머신 러닝에서도 찾을 수 있다. 투표 기반 분류기(Voting) 여러 개의 분류기를 통해 더 우수한 결론을 얻는 방법 - 직접 분류(hard voting) 같은 데이터를 서로 다른 예측기에 대입하고 , 다수결의 원칙으로 예측을 내는 방식 놀랍게도 다수결 투표 분류기가 앙상블에 포함된 개별 분류기 중 가장 뛰어난 것보다도 정확도가 높은 경우가 많다. 약한 학습기일지라도, 앙상블에 있는 약한 학습기가 충분하게 많고, 다양하다면 강한 학습기가 될 수 있다. (대수의 법칙) from sklearn.datasets import make_moons from sklearn.ens..

Datascience

Trading Off Precision and Recall(정밀도와 재현률 트레이드 오프)

Precision(정밀도)는 전체 양성 예측 중 진양성의 비율이고, Recall(재현률)은 분류기가 정확하게 감지한 양성 레이블의 비율이다. Precision = Positive 예측의 정확도 Recall = 정확하게 감지한 Positive sample의 비율(민감도;Sensitivity, 진짜 양성 비율;True Positive Rate;TPR) 즉 FP이 높아질수록 Precision의 값이 낮아지고, NP이 높아질수록 Recall의 값이 작아진다. 위 그림의 예처럼 분류기의 결정임계값(thresholds)을 조정하면 그에 따라 Precision과 Recall의 값이 변한다. (Positive 예측의 범위를 넓히는 threshold를 설정하면, 음양성이 늘어나 정밀도가 낮아진다.) from sklear..

hchanryu
데사하는 펭귄