머신러닝 | 트리의 앙상블 | sklearn 앙상블 모델 4종류 특징 비교
·
데이터분석과 머신러닝
한빛미디어 도서 의 전개를 따른 내용이다. 챕터 5, 트리 알고리즘 * 성능이 좋고 이해하기 쉬운 트리 알고리즘 배우기 * 알고리즘 성능을 최대화하기 위한 하이퍼파라미터 튜닝 실습 * 여러 트리를 합쳐 일반화 성능을 높일 수 있는 앙상블 모델 배우기 호...!! 앙상블 모델은 데이터대회에서 다른 팀 선배들이 활용한 모델인데.....! 이제 나도 5장에서 앙상블을 공부하게 된다 ㅇㅅㅇ!!!! 몰까? 트리의 앙상블 *앙상블: 여러 머신러닝 모델을 연결하여 개선된 모델을 만드는 기법 이 포스팅에서는, "결정 트리 모델"의 앙상블을 학습한다. 오늘 공부할 앙상블 모델은 총 4가지이다. 1. 랜덤 포레스트 2. 엑스트라 트리 3. 그레이디언트 부스팅 4. 히스토그램 기반 그레이디언트 부스팅 각 모델의 특징을 공부..
머신러닝 | 교차 검증과 그리드 서치 | 최적의 파라미터를 찾아주는 교차검증 방법
·
데이터분석과 머신러닝
한빛미디어 도서 의 전개를 따른 내용이다. 챕터 5, 트리 알고리즘 * 성능이 좋고 이해하기 쉬운 트리 알고리즘 배우기 * 알고리즘 성능을 최대화하기 위한 하이퍼파라미터 튜닝 실습 * 여러 트리를 합쳐 일반화 성능을 높일 수 있는 앙상블 모델 배우기 혼공머신 책에서 하이퍼파라미터라는 용어를 처음 만났을 때, 이걸 최적으로 결정하는 방법은 바로바로 5장에서 배운다고 해서 기다려졌던... 5장..! # 검증 세트 ▶ 테스트 세트로 성능을 조정할 경우의 문제점 : 일반화된 모델을 만들어야 하는데, '테스트 세트'에 적절한 모델이 만들어진다. ▶ 해결 방법 : 훈련세트의 일부를 떼어내 검증세트로 둔다. (훈련세트의 크기는 작아진다) * 검증세트는 여러개 둘 수 있다 => 교차검증 모델 성능을 개선 기준을 검증세..
머신러닝 | 트리 알고리즘 - 결정 트리 (Decision tree model)
·
데이터분석과 머신러닝
한빛미디어 도서 의 전개를 따른 내용이다. 챕터 5, 트리 알고리즘 * 성능이 좋고 이해하기 쉬운 트리 알고리즘 배우기 * 알고리즘 성능을 최대화하기 위한 하이퍼파라미터 튜닝 실습 * 여러 트리를 합쳐 일반화 성능을 높일 수 있는 앙상블 모델 배우기 알고리즘 과목에서 배운 트리 알고리즘.. 머신러닝에 적용되는 트리구조??? 어떤 실습을 하게될지 궁금하다. # 분류모델 - 로지스틱 회귀모델 vs 결정 트리 모델 ◆ 로지스틱 회귀모델 : 선형방정식으로 분류기준을 설명한다. 분류기준(계수)는 직관적으로 파악하기 어렵다. ◆ 결정 트리 모델 : 구체적인 수치로 분류기준을 설명한다. 직관적이다. 분류기준을 이해하기 쉽다. # 트리 모델 실습 사이킷런에서 DecisionTreeClassifier 클래스를 제공한다...
코드업 6098 - 성실한 개미
·
기타
개미가 길을 찾아가는 귀여운 문제.. # 사용할 함수 정의 - 발자국 꿍!! def footprint(r, c, list): list[r][c] = 9 # 미로판 만들기 - 2차원 리스트 maze = [] for _ in range(10): maze.append( list(map(int, input().split())) ) # 개미가 길 찾아가는 코드 row = 1; col = 1; while(True): footprint(row, col, maze) step_right = maze[row][col+1] step_down = maze[row+1][col] if step_right == 0: # 오른쪽 뚫림 col = col + 1 continue elif step_right == 1: # 오른쪽 막힘 i..
코드업 6097 - 설탕과자 뽑기
·
기타
그냥.. 파이썬 익힐겸.. 간단히.. h, w = map(int, input().split()) n = int(input()) # stick_list에는 각 막대의 정보가 tuple로 담겨있다. stick_list = [] for i in range(n): l, d, x, y = map(int, input().split()) stick_list.append((l, d, x, y)) # 판 형태 - 2차원 list - False로 채운다 - 0행,0열은 사용X pad = [ [False for _ in range(w+1)] for _ in range(h+1) ] # 판에 막대 놓기 - False을 True로 변경 - XOR 이용 for stick in range(n): l = stick_list[stick..
코드업 6096 - 바둑알 십자 뒤집기
·
기타
구냥해봄.. # 2차원 리스트 만들기 pad = [] for _ in range(19): pad.append( list(map(int, input().split())) ) # point 입력받기 # 유의점 : row, col은 1에서 19까지의 범위로 들어오므로 index 유의! n = int(input()) point_row = [] point_col = [] for i in range(n): r, c = input().split() point_row.append(int(r)-1) point_col.append(int(c)-1) # 십자 뒤집기 for i in range(n): row = point_row[i] col = point_col[i] for j in range(19): pad[row][j] ..
짜랸~~~~~ 즉흥요뤼
·
yyeeennyy
예은표 요리... 집에있는 재료로 만들었다 메인재료: 명란 밤 갈릭소스 셋 조화가 생각보다 꽤 괜찮다 아쥬 담백하고 맛있게 잘 먹었다 밤 - 70구운밤 30생밤 - 나는 밤을 좋아한다 >ㅅ< 명란 - 시판되는 명란소금젓에서 짠기를 조금 뺐다 - 올리브오일에 구웠다 갈릭소스 - 굽네치킨에서 주신 거 그리구 후추랑 파슬리.. 밑에 깔린 종이는 그저 A4용지 ^ㅅ^;; 끝!!
머신러닝 | 확률적 경사 하강법
·
데이터분석과 머신러닝
챕터 4, 다양한 분류 알고리즘 * 로지스틱 회귀, 확률적 경사 하강법과 같은 분류 알고리즘 배우기 * 이진 분류와 다중 분류의 차이를 이해하고 클래스별 확률을 예측하기 확률적 경사 하강법도 우리학과 데이터교육받을때 복습안하고 스윽.. 스쳐간거라 기억에 잘 안남았다 ㅠㅅㅠ 신경망 배울 때 그냥 계속 이 개념을 사용했었다!! 그런데 진짜 흐릿하게 알고있어서... 혼자 공부하는 머신러닝 책과 다시 팟팅하려 한다. 자세한 내용은 2월 초에 다시 공부해야겠다. 모두 새해복 많이 받으세요!!
혼공단 7기 3주차 미션인증
·
데이터분석과 머신러닝
학습 글: 2022.01.27 - [데이터분석과 머신러닝] - 머신러닝 | 로지스틱 회귀모델 | 이진/다중분류 2022.01.28 - [데이터분석과 머신러닝] - 로지스틱 회귀 | 선형방정식이 확률p가 되는 과정은? 2022.01.30 - [데이터분석과 머신러닝] - 머신러닝 | 확률적 경사 하강법 잘 이해하려고 노력하느라 시간을 좀 썼다... >ㅅ> sigmoid(logistic) 함수 1/(1+e^z)에 선형방정식 z를 대입하면 바로 확률값 p가 나온다. 그 이유는 이 글에 담았다: 로지스틱 회귀 | 선형방정식이 확률p가 되는 과정은? 선택 미션: 챕터 4-2 과대적합/과소적합 손코딩 코랩화면 캡쳐 https://colab.research.google.com/drive/1Gx8Mup1vit-38GSI..
로지스틱 회귀 | 선형방정식이 확률p가 되는 과정은?
·
데이터분석과 머신러닝
로지스틱 회귀 모델을 이용해 A/B 클래스로 이진분류 하겠다고 하자. 로지스틱 회귀 모델이 다음과 같은 선형 방정식을 학습했다고 하자. 이 선형방정식이 어떻게 확률p와 연관되는지 알고싶다면 아래 이슈를 이해해야 한다! ▶ issue1) 이 선형방정식은 어떤 선형방정식을 학습한 것일까? ▶ issue2) z가 +면 양성클래스, -면 음성클래스로 분류한다. 개인적으로 왜 이 선형방정식이 확률 p와 연관이 되는지 바로 이해가 가지 않았다. 왜 이 z값을 logistic 함수에 대입하면 확률값으로 볼 수 있을까? 그래.. 그렇게 대입하면 0~1 확률로 말할 수 있는 값이 나오기는 하는데, 어떤 방식으로 z값이랑 확률p랑 의미있게 대응되는 것인지 느낌이 잘 안왔다. 무슨 관계길래.. 간단히 정리해보았다. # 사전..