분류 전체보기
-
XGboost (Ensemble 학습법)머신러닝(MACHINE LEARNING) 2021. 4. 14. 14:46
XGBoost¶ XGBoost 는 트리 기반의 ensemble 알고리즘 학습법에서 가장 각광받고 있는 알고리즘 중 하나입니다. 기존의 GBM 을 기반으로 하고 있지만, 느린 수행시간, 과적합 규제등을 해결한 알고리즘 이다. 뛰어난 예측 성능 GBM 대비 빠른 수행 시간 과적합 규제(Overfitting Regularization) Tree pruning(트리 가지치기) : 긍정 이득이 없는 분할을 가지치기해서 분할 수를 줄임 자체 내장된 교차 검증 반복 수행시마다 내부적으로 교차검증을 수행해 최적회된 반복 수행횟수를 가질 수 있음 지정된 반복횟수가 아니라 교차검증을 통해 평가 데이트세트의 평가 값이 최적화되면 반복을 중간에 멈출 수 있는 기능이 있음 결손값 자체 처리 In [5]: # 주요 파라매터에 관..
-
GridSearchCV () - 파라매터 와 교차검증을 동시에 하는 API머신러닝(MACHINE LEARNING) 2021. 4. 13. 23:08
GridSearchCV 를 알아보자¶ -GridSearchCV 는 교차 검증(여러가지 기법들이 존재한다.) 과 하이퍼 파라미터 튜닝(weight)값을 둘다 할 수 있는 API 이며, 순차적으로 파라미터를 입력시켜, 최적의 파라미터를 도출 할 수 있도록 도와준다. GridSearchCV 는 class sklearn.model_selection.GridSearchCV(estimator, param_grid, , scoring=None, n_jobs=None, refit=True, cv=None, verbose=0, pre_dispatch='2n_jobs', error_score=nan, return_train_score=False) 로 구성이 되있다. GridSearchCV 는 Grid 에 포함된 여러 pa..
-
교차 검증을 위한 Cross_val_score() 함수 사용법머신러닝(MACHINE LEARNING) 2021. 4. 13. 22:23
사이킷 런(Scikit-Learn) 에서 보다 쉬운 교차검증 API - cross_val_score()¶ -사이킷 런에서는 교차검증(K-Fold or StratifiedKFold) 를 더 쉽게 할 수 있는 API를 제공하는 데 그것은 cross_val_score 이다. cross_val_score 에는 여러가지 변수 값들이 있지만 중요한 몇가지만 알아보자. estimator = > 분류 알고리즘(Classifier) 또는 회귀 (Regressor) 인지 구분 인자 X => feature 데이터 세트 Y => 레이블 데이터 세트 scoring => 예측 성능 평가 지표( 'accuracy', 'neg_brier_score' , 'top_k_accuracy'등등 겁나많다...) cv => 교차 검증 폴드 수..
-
K-Fold 와 Stratified-KFold 기법머신러닝(MACHINE LEARNING) 2021. 4. 13. 21:51
sklearn 에서는 K-fold 교차검증을 구현하귀 위해 Kfold 와 stratifiedKfold 클래스를 제공한다. K-fold 교차 검증이란 , K번마다 K개의 학습데이터 셋을 나누어 평가를 진행하는 것이다. Kfold => 가장 보편적인 K-fold 방법 위에서 설명한 바와 같이 학습데이터 셋과 검증 데이터 셋을 나누어 진행. stratifiedKFold => 여기서 불균형한 DataSet 을 위한 KFold 방법이다. 예를 들어 True label 이 10000개 있고, 10 건이 False 라 했을시, K-fold로 나누게 되게 되면, 불균형한 값이 나올 수 있다. 2000 개 모두 True 인 label 이 들어있고, 당연히 학습 효과 역시 없을 것이다. K -Fold 학습데이터 분류¶ I..
-
Train_Test_Split 함수 사용Train_Test_Split 함수 사용머신러닝(MACHINE LEARNING) 2021. 4. 13. 17:34
Model Selection 모듈 소개 from sklearn.datasets import load_iris from sklearn.tree import DecisionTreeRegressor from sklearn.metrics import accuracy_score iris = load_iris() dt_clf = DecisionTreeRegressor() train_data = iris.data train_label = iris.target dt_clf.fit(train_data, train_label) print(' 예측 정확도 : {0:.2f}'.format(accuracy_score(train_label,dt_clf.predict(train_data)))) 예측 정확도 : 1.0..
-
pandas_sklearn_DecisionTreeclassifier머신러닝(MACHINE LEARNING) 2021. 4. 13. 17:11
주피터 노트북을 활용한 Decision_Tree_Classifier 이다. 참고하길 바랍니다. In [1]: from sklearn.datasets import load_iris from sklearn.tree import DecisionTreeClassifier from sklearn.model_selection import train_test_split In [2]: import pandas as pd iris = load_iris() # iris.data 는 Iris 데이터 세트에서 피쳐 만으로 된 numpy를 가지고 있습니다. iris_data = iris.data print(iris_data[:3]) print(iris_data.shape) [[5.1 3.5 1.4 0.2] [4.9 3. 1.4..
-
백준 _ 3111알고리즘/백준(BOJ) 2021. 4. 13. 11:12
https://www.acmicpc.net/problem/3111 3111번: 검열 첫째 줄에 단어 A가, 둘째 줄에 텍스트 T가 주어진다. A와 T는 알파벳 소문자로만 이루어져 있고, A는 최대 25자, T는 최대 300,000자이다. www.acmicpc.net 문제 김상근은 창영마을에서의 권력을 유지하기 위해 신문을 검열하려고 한다. 상근이는 텍스트 T에서 A라는 단어를 다음과 같은 알고리즘을 이용해서 모두 없애려고 한다. T에 A가 없으면 알고리즘을 종료한다. T에서 처음 등장하는 A를 찾은 뒤, 삭제한다. T에 A가 없으면 알고리즘을 종료한다. T에서 마지막으로 등장하는 A를 찾은 뒤, 삭제한다. 1번으로 돌아간다. 상근이는 마을을 지배해야하기 때문에, 검열을 할 시간이 없다. 상근이의 검열을 ..
-
백준 7785 _ Python알고리즘/백준(BOJ) 2021. 4. 13. 01:09
https://www.acmicpc.net/problem/7785 7785번: 회사에 있는 사람 첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "enter"인 경우는 www.acmicpc.net 문제 상근이는 세계적인 소프트웨어 회사 기글에서 일한다. 이 회사의 가장 큰 특징은 자유로운 출퇴근 시간이다. 따라서, 직원들은 반드시 9시부터 6시까지 회사에 있지 않아도 된다. 각 직원은 자기가 원할 때 출근할 수 있고, 아무때나 퇴근할 수 있다. 상근이는 모든 사람의 출입카드 시스템의 로그를 가지고 있다. 이 로그는 어떤 사람이 회사에 들어왔는지, 나갔..