반응형

분류 전체보기 164

Featrue Importance(변수 중요도) - 트리 기반 모델

* Decision Tree 1. 의사결정나무(Decision Tree)는 그 시각적인 구조 덕분에 depth가 크지 않는 한 해석이 용이한, 간단한(simple) 모델에 해당합니다. 다른 간단 모델인 Linear Regression, Logistic Regression은 feature와 target이 선형적 관계일 때 통하는 방법인 반면, 의사결정나무는 비선형적인 관계에서도 통하는 방법, 앙상블이 의사결정나무 기반 2. 목적이 분류(Classification)일 때에는 불순도 지표로 Gini 계수 및 엔트로피를 이용하고, 목적이 회귀(Regression)일 때에는 MSE(Mean Square Error) 등을 이용해서 분산을 감소시키는 방향으로 노드를 째게 됩니다. 이 과정에서, 불순도를 가장 크게 감..

Machine Learning 2020.12.15

Interpretable Machine learning

* 특정 데이터셋의 모델링을 진행할 때 우리는 보통 다중 공선성 , 상관관계 등을 보거나 Shap value , Feature importance 등의 지표들을 통해 유의미한 결과 값을 내는데 특히 실무에서는 그 모델이 어떤 이유 때문에 높은 정확도가 나오는지에 대한 질문을 받습니다. 결국 이런 단순한 모델링 결과 metric 즉 Accuracy 나 R2 값 등을 보는 것보다 정확도가 나오게 된 경위를 알아야 하는 것이 더 중요할 때가 많습니다. 그것이 우리가 보통 말하는 Insight인데 Insight를 볼 수 있는 방법은 아래와 같은 방법들이 있습니다. 1. 모델 해석 방법의 분류 Intrinsic vs Post-hoc 먼저 모델 자체로 해석이 가능한지의 여부로 해석 방법을 분류할 수 있습니다. 먼저..

Machine Learning 2020.12.14

주택 가격 예측 with Deep Neural network

* Keras regressor로 Regression 진행 보통 딥러닝은 Classification에 초점을 맞추지만 이번에 진행할 예제는 Regression이다 . 딥러닝으로 회귀를 진행하는 방법이 여럿 있겠지만 여기서는 마지막 레이어에서 actiation function을 제거하는 방법으로 진행하겠다. 딥러닝을 통한 Regression으로 Insight 보다는 modelling이 목적이며 그러므로 columns 명은 따로 집어넣지 않음. 1~12 : 설명변수 13: 가격 --------------------------------------------------------------------------------------------------------------------------------- ..

Project & Kaggle 2020.12.11

Tensor 및 Numpy 기본

-> scala 는 0 차원 scala가 쌓이면 벡터, 선이모여서 면이되는데 그것이 matrix(2차원) , 면이모이면 Tensor(3차원) -> 딥러닝을 하다보면 Tensor라는 개념이 많이 나오는데 그 중 Tensor의 개념 = 고차원적인 데이터 -> Numpy는 그런 고차원적인 데이터를 다루기 쉽게 만들어져 있으므로 딥러닝을 하다보면 자주 접함 0차원 1차원 -> 숫자가 10과 같이 하나만 들어간다고 해도 [] 리스트를 한번 씌우게 되면 차원이 생긴다 이때는 1차원이 되는건데 numpy 에서 shape를 표현 할 때 (1)이 아닌 (1, ) 이런 식으로 표현하게 됨 2차원 - Reshape reshape(-1,x,x) -> -1을 주면 x,x를 고정해놓고 남는 값으로 -1이 바뀜 Ravel expa..

Deep learning( CNN을 활용한 Mnist classification kernel)

Mnist 데이터 로드 후 tensorflow를 통한 train/test split. from tensorflow.keras import datasets (train_x, train_y), (test_x, test_y) = datasets.mnist.load_data() 28바이28 의 데이터가 6만개 쌓여있다 라는 뜻 from tensorflow.keras import datasets (train_x, train_y), (test_x, test_y) = datasets.mnist.load_data() image=train_x[0] image.shape (60000, 28, 28) plt.imshow(image,'gray') plt.show() # 차원 수 높이기 image=image[tf.newaxis..

Project & Kaggle 2020.11.30

keras - Image generator

Keras에서는 이미지 데이터학습을 위해 패키지를 제공 , 그 중 하나가 ImageDataGenerator 클래스. np.expand_dim -> 이미지 파일을 불러와서 다차원 배열로 변환할 때 사용 np.squeeze -> (1,3,1) -> (1,3) : 배열에서 1차원인 축을 제거 하는 것 이미지는 모델에 (batch_size,height,weight,channel) 이렇게 들어가야 해서 차원을 늘려야함그런데 일단 이미지를 불러오기위해 (height,weight) 만 input으로 집어넣음batch size는 1만 있으면 안되고 (28.28) 에다가 channel 까지 늘려주어야함 Feature Extraction에서 이미지가 가지고있는 특징,패턴을 알아가는 것이고 Classification에서 예..

Deep Learning 2020.11.27

Tire Production 공정

타이어는 크게 정련 - 반제품(압출, 압연, 비드) – 성형 – 가류, 네 가지 공정을 거쳐 완성됩니다. 정련 공정에서는 여러 원재료를 혼합해 고무를 생산하고, 이렇게 생산된 타이어용 고무 시트는 이용하기 쉽게 가공하는 반제품 공정을 거칩니다. 성형 공정에서 우리가 사용하는 타이어처럼 원통형으로 만들고, 열과 압력을 가하는 가류 공정을 통해 트레드가 생기고, 타이어가 탄생합니다! * 컴파운드 : 카본 블랙, 실리카, 가류제, 촉진제와 같은 원료를 천연고무 , 합성고무와 혼합해 만든 고무 복합체. 1. 정련(Mixing) 공정 -> 정련 공정에서는 여러 재료를 혼합해 타이어에 필요한 특성(딱딱함, 모양 변형, 점탄성) 을 만들어 내는데 구체적으로는 최적의 마모, 제동을 가지기 위한 트레드 컴파운드, 타이어..

Industry 분석 2020.11.17

판다스 문자열 찾기

문자열의 처음이나 마지막에 있는 텍스트를 매칭하는 간단한 방법이 있다. 문자열 안에서 특정 텍스트를 찾는 방법은 정말 여러가지 인데 만약 내가 찾고 싶은 문자열의 형태가 문자열 처음에 있거나 마지막에 있다면 str.startswith()와 str.endswith()를 사용해서 쉽게 찾을 수 있다. 쉬운 예 - str.startswith() str = "this is string example....wow!!!"; print str.startswith( 'this' ); print str.startswith( 'is', 2, 4 ); print str.startswith( 'this', 2, 4 ); >>> url='http://www.google.com' >>> url.startswith('http://..

전통 데이터마이닝 vs 딥러닝

1.2.3 Time-series Learning "정확성 vs. 설명력 반비례 관계 존재" * 데이터마이닝 알고리즘 : KNN RF SVM 등은 조금씩 정확성이 상승하지만 그만큼 결과가 왜 그렇게 나왔는지 설명해주는 포인트는 부족해짐 * 실제로 Tree계열 알고리즘은 최대한 데이터를 세분화 시켜서 구분을 짓는것 -> 구분을 Ratio를 보면서 변수의 특성을 추론 하는 것이지 각각의 변수가 모델의 정확성에 얼마나 기여했는지는 표시하지 못하는 것이 현실 * 최근에 화두인 DNN(딥러닝)은 정확성이 높음과 반대로 불운하게도 설명력은 거의 없다라고 할정도로 이론적 근거가 뚜렷하게 있지가 않다.. (점추정 형태로 정확도가나왔다)이지 왜 그런 정확성이 나왔는지 통계적인 범위가 나왔다거나 이런것 이없음 bias나 v..

Deep Learning 2020.10.04

가설검정

-1. 기존주장과 신규주장의 비교(가설검정) 필요성1: 대부분의 분석은 "누구나" 할수 있는 "비교(A/B Test)"를 기반으로 하며, 일상생활부터 연구논문까지 다양 필요성2: "설명력"과 "(모델)복잡도"는 반비례하는 경향이 있으며, 설명력이 수반되는 모델들은 가설검정 해석이 필수 -> 대부분의 통계 및 수학을 기반으로하는 방법론들은 분석의 구현이나 결과에 대해 해석을 포함하지만 최신의 딥러닝 기반 알고리즘은 성능이 좋지만 이론적 수학적 통계적으로는 엄밀하게 이야기 하는 것이 어려움. 분석목적예시: 양치기들이 거짓말쟁이인가? 나의주장(B): 양치기들은 거짓말쟁이다! 대중주장(A): 양치기들은 거짓말쟁이가 아니다! -2. 가설Setting 조건 3가지: 상호배반적(Mutually Exclusive): ..

반응형
반응형