목록분류 전체보기 (146)
무냐의 개발일지
1. 차원축소 (PCA) - PCA 차원축소의 대표적 기법 고차원 -> 저차원으로 축소하는 선형 투영 기법 데이터 차원 (feature) 이 증가할수록 저리 증가, 오버피팅 가능성이 커진다 - PCA 단계 분산이 최대인 축을 찾음 (1번 축) - 첫번째 축과 직교하면서 분산이 최대인 축을 찾기 (2번 축) - 1,2번 축과 직교하고 분산이 최대인 축을 찾기 (3번 축) (참고) 주성분 선택: 고유값이 큰 순서대로 주성분을 선택합니다. 이는 데이터의 분산을 최대한 보존하면서 차원을 줄이는 데 도움이 됩니다. PCA는 데이터의 주요 정보를 최대한 보존하는 방향으로 주성분을 선택합니다. 이는 데이터의 분산을 가장 잘 설명하는 주축을 찾아내어, 데이터를 더 잘 이해하고 해석할 수 있도록 돕습니다. - PCA 종..

상관계수 상관계수는 변수들 간의 관계를 알아볼 때 유용한 개념입니다. 특정 데이터에 대한 상관관계를 볼 수 있습니다. 상관계수는 -1부터 1사이로 구성되고, 0.3부터 0.7 사이면 뚜렷한 양적 선형관계, 0.7 이상이면 강한 양적 상관관계라 할 수 있습니다. # 피처 간 상관관계 히트맵 correlation_matrix = df.corr() plt.figure(figsize=(10, 8)) sns.heatmap(correlation_matrix, annot=True, fmt = '.2f', cmap='coolwarm', linewidths=0.5) plt.title('Correlation Heatmap') plt.show() * corr(numeric_only= True) 를 해줘야, 수치형 데이터인 ..

| 선형회귀 - 단순선형회귀 : feature 1개 - 다중선형회귀 : feature 2개 이상 | 비용함수 (Cost Function) - 손실함수 (loss function), 목적함수 (objective function) - 오차(error)를 계산 - MSE를 최소화하는 파라미터를 찾는다 | 경사하강법 (Gradient Descent) - 최소 에러값을 찾는다 | 절차 1) 함수 호출 2) 모델 만들기 3) fit_transform (X,y train) 머신러닝 모델 -> 규칙 생성 -> 그 규칙으로 predict(X_test_ -> 실제값과 error비교하여 성능 평가 (y_test, pred) import pandas as pd from sklearn.model_selection import ..

매우 interactive한 그래프이며, zoom, panning, hovering 등이 가능하다 #부르기 import hvplot.pandas #데이터프레임.hvplot.플롯유형 USAhousing.hvplot.hist(by='Price', subplots=False, width=1000) df.hvplot.line(x= , y= ) 혹은 df.hvplot(x= , y=, by =, kind='scatter) 이런 식으로 구현이 가능하다 * 구현 가능한 그래프 종류 : 공식문서(https://hvplot.holoviz.org/user_guide/Plotting.html) #데이터프레임.hvplot.그래프형식(x= x축이름, y= y축이름) #단, 데이터프레임 열 이름과 일치시켜줘야 한다 pd.DataF..
| Scaling ① Scaling : 데이터의 범위를 조정하는 과정. MinMaxScaler, StandardScaler 등을 사용해 특성의 스케일을 조정 합니다. 거리기반 모델을 쓸때는 반드시 스케일링 써서 각각 변수의 특성에 따라 동일한 스케일을 지닐수 있게 맞춰주는것이 중요 합니다. ② 주요 Scaling 방법 : - Standardization : (x-mean/ std) 결과적으로 데이터는 평균이 0이고 표준편차가 1인 분포를 갖게 됩니다. - Robust Scaling : (x-Q2) / (Q3-Q1) 이 방법은 중앙값과 사분위 범위를 사용하여 데이터를 스케일링합니다. 표준화와 유사하지만, 이상치의 영향을 덜 받습니다. - MinMaxScaler : (x-min)/ (max-min) 데이터를..

* 머신러닝 - 수학, 통계학, 프로그래밍 등의 지식이 필요하기 때문에 초기 학습이 어렵고 복잡합니다. 그러나 최근에는 머신러닝을 사용하기 쉽게 만들어주는 간단한 라이브러리와 도구들이 많이 개발되어 있기 때문에 상대적으로 쉽게 접근할 수 있습니다. * 딥러닝 - AI 를 구현하기 위한 머신러닝 중 하나가 딥러닝 - 딥러닝은 성능이 너무 뛰어나서, 따로 떼어 얘기한다. 머신러닝은 보통 딥러닝을 제외한 나머지 개념이다. 지도학습 : 데이터가 어떻게 생긴건지 라벨링하는 거 → 그에 따라 새로운 데이터를 분류, 회귀 분석 → 이진 분류/ 다중 분류 | 연속된 숫자 값 예측 (가격, 수요 예측) 비지도학습 : 군집화 & 차원축소 → 라벨링은 아니지만 비슷한 데이터끼리 묶어놓는다 (차원축소 : 많은 컬럼을 축약하는..

| Classification (분류, Supervised Learning의 또 다른 타입) : Linear Regression이 적절하지 않은 데이터 타입에 사용한다 : Use Classification where your output variable y can take on only one of a small handful of possible values instead of any number in an infinite range of numbers. (ex. Binary classification 같은 Yes or No 문제) - negative class (false, 0) - positive class (true, 1) >> Classification 문제는 linear regression이 ..
| pd.set_option(display.max_columns) pd.set_option('display.max_columns', None) pd.set_option('display.max_rows', None) 그래프 그릴 때, plt.show()는 굳이 안써도 되지만, 안 써주면 표출이 안 되는 환경도 있기 때문에 그냥 습관적으로 써준다. | heatmap에 원하는 변수만 나오게 하기 & 상삼각행렬로 반쪽만 나타내기 df_numeric = ['GrLivArea', 'TotalBsmtSF', '1stFlrSF', '2ndFlrSF'] df_corr = train[df_numeric] corr_matrix = df_corr.corr() #반쪽만 나오게 하기 mask = np.triu(np.ones_li..