일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 혼공머신
- 영어공부
- 머신러닝
- 파이썬라이브러리
- numpy/pandas
- html/css
- 컴퓨터구조
- 운영체제
- pandas
- 텍스트마이닝
- 파이썬
- 자바 실습
- 데이터베이스
- 중학1-1
- 데이터입출력구현
- 딥러닝
- C++
- 중학수학
- CNN
- 자바
- 정수와유리수
- JSP/Servlet
- 연습문제
- 코딩테스트
- 컴퓨터비전
- 정보처리기사실기
- CSS
- 데이터분석
- 정보처리기사필기
- SQL
- Today
- Total
목록인공지능/머신러닝 (113)
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
이제 트리 앙상블에 대한 실습을 진행해볼 것이다. 무척 어려운 내용이지만 차근차근 실습을 진행해보자. 가능하면 30분 안에 다 마치고 싶다. 트리 앙상블 실습해보기 xgboost를 사용하기 위해서는 라이브러리를 설치해야 한다. 책에는 이 내용이 빠져있었다. 이상하게도 계속 오류가 떠서 찾아보니 이 코드를 추가하는 거였다. LightGBM도 사용하려면 라이브러리를 설치해야 한다. 아마도 코랩에서는 그냥 제공하기 때문에 설치할 필요가 없어 책에는 기록하지 않았던 것 같다. 하지만 난 공부할 때 코랩보다는 주피터 노트북에서 해야 진짜 공부가 된다고 생각한다. 이건 버전도 최신으로 그냥 업데이트 되고 제대로 되고 있는지 확인도 잘 안 되는 것 같다. 단원 마무리하기 ..
이제 5단원의 마지막 장인 트리 앙상블에 대해서 학습해보려고 한다. 이번 단원도 그래프는 하나도 없고 코드만 있지만 그래도 재미있게 학습을 진행하려고 한다.트리 앙상블로 처음 공부해 보는 내용이다. 학습 목표앙상블이 무엇인지 이해하고 다양한 앙상블 학습 알고리즘을 배운다. 시작하기 전에혼공머신은 이제 베스트 머신러닝 알고리즘을 찾아보려고 한다. 그리고 랜덤 포레스트라는 알고리즘에 눈길이 간다.가장 좋은 알고리즘이 있다고 해서 다른 알고리즘을 배울 필요가 없는 것은 아니다. 보편적으로 성능이 좋아 널리 사용되는 알고리즘이 있지만 문제마다 다를 수 있다. 그렇기에 어떤 알고리즘이 더 뛰어나다고 미리 판단해서는 안된다. 정형 데이터와 비정형 데이터지난 학습을 되돌아보자. 4장까지 생선의 길이, 높이, ..
이제 교차 검증과 그리드 서치에 대한 실습을 진행해보려고 한다. 이번 예제는 그래프가 없이 코드만 있어 조금은 단조로울 것 같다. 교차 검증 실습해보기 이 모델은 훈련 세트에 과대적합되어 있다. 그러니 매개변수를 바꿔서 더 좋은 모델을 찾아야 한다. 교차 검증 import 할때 StratifiedGroupKFold와 헤깔려서 잘못 쓰기도 했다. 이러면 제대로 작동이 되지 않으니 꼭 주의하자. 단원 마무리하기 확인 문제 풀기 결정 트리의 노드를 랜덤하게 분할하기 때문에 100번의 반복에서 최적의 매개변수 조합을 찾지 못한다. 평균 검증 점수와 테스트 세트의 점수가 조금 낮다. 학습을 마치고기본 내용 정리 1시간, 실습과 확인문제를 푸는데 1시간 정도..
오늘 새벽에 4시간 동안 두 단원의 학습을 모두 마칠 수 있을까? 최선을 다해 어제 저녁에 하지 못했던 공부를 만회하기로 했다. 오늘은 새벽에 운동을 하지 못할 것 같다. 학습 목표검증 세트가 필요한 이유를 이해하고 교차 검증에 대해 배운다. 그리드 서치와 랜덤 서치를 이용해 최적의 성능을 내는 하이퍼라라미터를 찾는다. 시작하기 전에지금까지 우리는 훈련 세트에서 모델을 훈련하고 테스트 세트에서 모델을 평가했다. 그런데 테스트 세트를 사용해 자꾸 성능을 검증하다 보면 점점 테스트 세트에 맞춰지게 된다. 이전까지는 문제를 간단히 하려고 테스트 세트를 사용했다. 하지만 테스트 세트로 일반화 성능을 올바르게 예측하려면 가능한 한 테스트 세트를 사용하지 말아야 한다. 모델을 만들고 나서 마지막에 딱 한 번만 ..
이제 결정 트리에 대한 실습을 진행해볼 것이다. 결정 트리 실습해보기 이제 결정 트리로 와인이 잘 분류되었다. 단원 마무리하기 확인 문제 풀기 4번도 답으로 넣을까 많이 고민하다 그래도 답은 2개겠자 하고 썼는데 좀더 생각할걸 그랬다. 1번은 그냥 부모 노드와 자식 노드가 많이 등장하니 함정 같은 답안이었다. 어제 이 문제까지는 풀고 취침하려 했으나 너무 졸려서 다 하지 못하고 다음날 새벽에 일어나 해본다. 학습을 마치고오늘은 너무 졸려서 눈이 감긴다. 확인문제는 다음에 풀고 정리해야겠다. 이렇게 해서 5-1장 결정 트리 학습을 마쳤다. 저녁에 열심히 공부했다면 5단원을 모두 마쳤겠지만 그냥 놀고 싶어서 마지막으로 허용을 했다. 이제 ..
이번에 공부할 단원은 트리 알고리즘이다. 난 아무래도 하나의 과정이 끝나야 다음 분야가 눈에 들어오는 것 같다. 정처기는 잠시 미루고 오늘과 내일 새벽까지 6단원 학습을 마쳐볼 생각이다.그럼 바로 학습을 시작해 보자. 여기서부터는 단 한 번도 들어보지 않은 머신러닝 모델이니 더욱 집중해서 학습해야 할 것이다. 학습 목표결정 트리 알고리즘을 사용해 새로운 분류 문제를 다루어본다. 결정 트리가 머신러닝 문제를 어떻게 해결하는지 이해한다. 시작하기 전에 한빛 마켓에서는 신상품으로 캔 와인을 판매하려고 한다. 입고된 와인을 보니 급하게 제작하는 바람에 레드 와인과 화이트 와인 표시가 누락되었다. 김팀장은 혼공머신을 불러 이 문제를 해결할 것을 부탁한다.혼공머신은 일단 알코올 도수, 당도, pH 값에 로지스틱..
이제 확률적 경사 하강법을 실습해보려고 한다. 확률적 경사 하강법 실습해보기 백 번째 에포크 이후에는 훈련 세트와 테스트 세트의 점수가 조금씩 벌어지고 있다. 이 모델의 반복 횟수를 100에 맞추고 다시 훈련해보겠다. 단원 마무리하기 LinearRegression 클래스는 해석적인 방법으로 선형 방정식의 해를 구하는 구하기 때문에 특성의 스케일에 영향을 받지 않는다. KNeighborsClassifier는 최근접 이웃을 찾기 위해 샘플 간의 거리를 계산한다. 따라서 특성 스케일이 다르면 잘못된 이웃을 선택할 수 있다.Ridge는 가중치를 규제하여 모델의 과대적합을 막는다. 특성의 스케일이 달라지면 이와 곱해지는 가중치의 스케일도 달라진다. 이렇게 되면 큰 가중치에만 관심을 두..
이제 확률적 경사 하강법에 대해서 공부해보려고 한다. 이 내용에 대한 강의도 1시간이 넘는 무척 많은 분량이다. 책도 함께 학습하며 또다시 새로운 전진을 해볼 것이다. 학습 목표경사 하강법 알고리즘을 이해하고 대량의 데이터에서 분류 모델을 훈련하는 방법 배우기 시작하기 전에한빛마켓은 럭키백 이벤트를 오픈하고 나서 매출이 껑충 뛰었다. 영업팀은 매주 7개의 생선 중에서 일부를 무작위로 골라 머신러닝 모델을 학습할 수 있게 훈련 데이터를 제공하고 있다. 하지만 수산물을 공급하겠다는 곳이 너무 많아 샘플을 골라내는 일이 너무 힘들다. 게다가 추가되는 수산물은 아직 샘플을 가지고 있지 않다.영업팀은 새로운 생선이 도착하는 대로 가능한 즉시 훈련 데이터를 제공하겠다고 약속했다. 하지만 어느 생선이 먼저 올지,..
새벽에 공부했던 로지스틱 회귀에 대한 실습을 진행해볼 것이다. 잘 이해했는지 확인해볼 수 있는 좋은 시간이다. 로지스틱 회귀 실습해보기 시그모이드 함수 출력은 0에서 1까지만 변한다. 두 번째 샘플을 제외하고 모두 도무리 예측했다. 예측 확률은 predict_proba() 메서드에서 제공한다. 이 z값을 시그모이드 함수에 통과시키면 확률을 얻을 수 있다. 파이썬의 사이파이 라이브러리에도 시그모이드 함수가 있다. 바로 expit()이다. np.exp() 함수ㄷ를 이용해 분소 계산을 하는 것보다 훨씬 편리하고 안전하다. decisions 배열의 값을 확률로 변환해보자. 이진 분류를 위해 2개의 생선 샘플을 골라냈고 이를 이용해 로지스틱 회귀 모델을 훈련했다. 이진 분류일 경우..
이제 새로운 단원 학습을 시작해 본다. 로지스틱 회귀 모델은 지난번 수업 시간에 공부했던 내용이기도 하지만 아직 기초가 부족하니 이 학습을 통해 많은 것을 배울 수 있을 것 같다. 학습 목표로지스틱 회귀 알고리즘을 배우고 이진 분류 문제에서 클래스 확률을 예측하기 시작하기 전에혼공머신은 이제 럭키 백에 포함된 생선이 무엇인지 확률을 구하는 문제를 해결해야 한다. 머신러닝으로 럭키백의 생선이 어떤 타깃에 속하는지 확률을 구할 수 있을까? 럭키백의 확률김팀장은 혼공머신에게 럭키백에 들어갈 수 있는 생선은 7개라고 알려주었다. 이벤트를 잘 마치려면 럭키백에 들어간 생선의 크기, 무게 등이 주어졌을 때 7개 생선에 대한 확률을 출력해야 한다. 이번에는 길이, 높이, 두께 외에도 대각선 길이와 무게도..