본문 바로가기
728x90
반응형
SMALL

Learning-driven Methodology/ML (Machine Learning)67

[LightGBM] 매개변수 조정 (Parameters Tuning) (3) For Better Accuracy 큰 max_bin 사용 (더 느릴 수 있음) num_iterations가 많은 작은 learning_rate 사용 큰 num_leaves 사용 (과적합의 원인이 될 수 있음) 더 큰 교육 데이터 사용 dart를 시도 Deal with Over-fitting 작은 max_bin 사용 작은 num_leaves 사용 min_data_in_leaf 및 min_sum_hessian_in_leaf 사용 bagging_fract 및 bagging_freq를 설정하여 bagging 사용 feature_fraction을 설정하여 피쳐 하위 샘플링 사용 더 큰 학습 데이터 사용 정규화를 위해 lambda_l1, lambda_l2 및 min_gain_to_split을 사용 깊은 트리가 자.. 2023. 7. 3.
[Machine Learning] K겹 교차 검증 (K-fold cross validation) K겹 교차 검증 (K-fold cross validation) k-fold cross-validation (k-겹 교차 검증)은 가장 널리 사용되는 교차 검증 방법의 하나로, 데이터를 k개로 분할한 뒤, k-1개를 학습용 데이터 세트로, 1개를 평가용 데이터 세트로 사용하는데, 이 방법을 k번 반복하여 k개의 성능 지표를 얻어내는 방법이다. k를 4로 설정하는 경우, 데이터를 폴드 (fold)라고 하는 거의 비슷한 크기의 부분 집합 네 개로 나눈다. 그 다음 일련의 모델을 만든다. 첫 번째 모델은 첫 번째 폴드를 평가용 데이터셋으로 사용하고, 두 번째부터 네 번째까지의 폴드 (3개의 폴드)를 학습용 데이터셋으로 사용한다. 그 다음 모델을 두 번째 폴드를 평가용, 1, 3, 4 폴드를 학습용 데이터셋으로 .. 2023. 4. 27.
[Machine Learning] 사용자기반 협업 필터링 (User-based Filtering) 사용자기반 협업 필터링 (User-based Filtering) import pandas as pd import numpy as np import seaborn as sns import matplotlib.pylab as plt from sklearn.metrics import mean_squared_error from datetime import datetime %matplotlib inline movies = pd.read_csv('movies.csv') # 영화 정보 ratings = pd.read_csv('ratings.csv') # 사용자가 영화에 대해 남긴 평점 데이터 print(movies.shape) print(ratings.shape) movies.head() # 제목으로 영화 찾기 mo.. 2022. 12. 7.
[Machine Learning] 추천 시스템 (Recommender System) 추천 시스템 (Recommender System) 추천 시스템 (推薦 system)은 정보 필터링 (IF) 기술의 일종으로, 특정 사용자가 관심을 가질만한 정보 (영화, 음악, 책, 뉴스, 이미지, 웹 페이지 등)를 추천하는 것이다. 추천 시스템에는 협업 필터링 기법을 주로 사용한다. 소셜 북마크 사이트에서 링크를 사람들에게 추천하고 무비렌즈 데이터 세트에서 영화를 추천하는 방법등이 이에 속한다. 협업 필터링 (Collaborative Filtering) 협업 필터링은 많은 사용자들로부터 얻은 기호정보에 따라 사용자들의 관심사들을 자동적으로 예측하게 해주는 방법이다. 협력 필터링 접근법의 근본적인 가정은 사용자들의 과거의 경향이 미래에서도 그대로 유지 될 것이라는 전제에 있다. Data sparsity .. 2022. 12. 7.
[Machine Learning] 의사 결정 트리 : 붓꽃 (Iris) 데이터 로드 import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier from sklearn import tree iris_dt = load_iris() train_x, test_x, train_y, test_y = train_test_split(iris_dt.data, iris_dt.target, test_size=0.2, random_state=0.. 2022. 11. 29.
[Machine Learning] 이상 탐지 (Anomaly Detection) 이상 탐지 (Anomaly Detection) 변칙은 데이터 세트의 예상된 패턴에서 예상치 못한 변화 또는 편차이다. 이상 탐지는 이상 징후가 예상과 다르게 발생하고 있음을 보여주기 때문에 비정상적인 동작을 경고하는 데 사용된다. 이상 징후가 반드시 좋거나 나쁜 것은 아니지만, 기업은 패턴의 단절에 대해 알아야 조치를 취할 필요가 있는지 여부를 평가할 수 있다. 기업은 일상적인 운영 중에 수백만 개의 데이터 포인트를 생성하지만, 그 중요한 정보의 대부분은 사용되지 않고 잊혀진다. 이러한 이유로 비즈니스 세계에서 이상 탐지 기능이 점점 더 부각되고 있다. 즉, 운영을 최적화하고 프로세스를 간소화하여 보다 예측 가능한 미래를 실현하는 것이다. Anomalies와 Outliers의 차이 많은 비즈니스 사용자들.. 2022. 11. 17.
[Machine Learning] 오토인코더 (Autoencoder) 오토인코더 (Autoencoder) 오토인코더는 인코더를 통해 입력을 신호로 변환한 다음 다시 디코더를 통해 레이블 따위를 만들어내는 비지도 학습기법이다. 다시 말해, 오토인코더는 고차원의 정보를 압축해 주는 인코더와 압축된 정보를 다시 원래 정보로 돌려주는 디코더로 이루어져 있다. 원본 데이터에서 인코더를 거쳐 압축된 정보로 변환한 뒤, 다시 디코더를 거쳐 원본 데이터로 복구하는 작업을 한다. 오토인코더 모델은 인코더 - 디코더의 결합된 형태로 만들어진다. 나중에 디코더만 따로 분리하여 압축된 정보를 입력으로 주게 되면, 알아서 원본 이미지와 유사한 마치 Fake 이미지를 만들어 주도록 유도할 수도 있다. 오토인코더의 손실은 MNIST의 28 X 28 이미지 각각의 pixel 값에 대하여 원본과 디코딩.. 2022. 11. 11.
[XGBoost] 보험료 예측 데이터셋 로드 import pandas as pd df = pd.read_csv('Medical_Insurance_dataset.csv') df.head() 원-핫 인코딩 df = pd.get_dummies(df) df.head() 데이터 전처리 # 훈련 데이터, 검증 데이터, 테스트 데이터 나누기 features = df[df.keys().drop('charges')].values outcome = df['charges'].values.reshape(-1, 1) from sklearn.model_selection import train_test_split train_features, test_features, train_target, test_target = train_test_split(feature.. 2022. 10. 5.
[XGBoost] 심혈관 질환 예측 데이터셋 로드 import pandas as pd df = pd.read_csv('Cardiovascular_Disease_dataset.csv') df.head() df['Presence or absence of cardiovascular disease'].value_counts() 0 35021 1 34979 Name: Presence or absence of cardiovascular disease, dtype: int64 데이터 전처리 # 훈련 데이터, 검증 데이터, 테스트 데이터로 나누기 features = df[df.keys().drop(['id','Presence or absence of cardiovascular disease'])].values outcome = df['Presence o.. 2022. 10. 5.
[XGBoost] 심장 질환 예측 데이터셋 로드 import pandas as pd df = pd.read_csv('Heart_Prediction_Dataset.csv') df.head() 원-핫 인코딩 df = pd.get_dummies(df) df.head() df['HeartDisease'].value_counts() 데이터 전처리 # 훈련 데이터, 검증 데이터, 테스트 데이터 나누기 features = df[df.keys().drop(['HeartDisease'])].values outcome = df['HeartDisease'].values.reshape(-1,1) from sklearn.model_selection import train_test_split train_features, test_features, train_ta.. 2022. 10. 4.
728x90
반응형
LIST