RandomForest의 크기 및 처리 시간 비교
1665 단어 파이썬scikit-learnrandomForest
개요
랜덤 포레스트를 사용한 예측의 정밀도에 관한 기사는 잘 나오지만 모델의 크기나 학습시·예측시의 시간에 대해 실려 있는 기사가 보이지 않았기 때문에 비교해 보았다.
이번에는 scikit-learn에 들어 있는 보스톤 데이터(레코드 수: 506, 컬럼 수: 13)를 사용하여 학습·예측을 실시한다.
RandomForest에서 잘 취급되는 파라미터의 n_estimators(나무 수)와 max_depth(최대의 나무의 깊이), 레코드수를 변화시켜 측정했다.
덧붙여 레코드수를 n=506, 5060, 50600으로 원래의 건수로부터 늘리고 있지만, 벌크 늘릴 때에는 각 값을 랜덤하게 10% 증감시켜 최대한 중복 데이터를 만들지 않게 하고 있다.
모델 크기
무작위 포리스트의 나무의 수와 모델의 크기는 단순히 비례한다는 것을 알 수 있습니다.
최대의 나무의 깊이와 모델 사이즈에 관해서는 깊이가 1개 커질 때마다 약 1.5배~2배가 되는 것을 알 수 있었다.
이것은 이분목의 최대 깊이가 1개 깊어질 때마다 노드의 수가 높게 2배가 되는 것과 레코드수가 많아질수록 분기가 늘어나는 것으로부터도 예상할 수 있다.
모델 작성 시 처리 시간
모델 작성의 처리 시간에 관해서는 나무의 수, 최대 깊이, 학습 데이터 사이즈 각각에 비례하고 있는 것 같다.
예측 시 처리 시간
예측시에는 n=5060으로 작성한 학습 모델을 사용하고, predict 함수를 사용하여 데이터를 예측할 때의 시간을 계측했다.
예측시의 처리 시간에 관해서도 나무의 수와 나무의 깊이에 대하여 처리 시간은 비례하고 있는 것을 알 수 있다.
한편으로 의외로 예측을 시키는 레코드수에 관해서는 일절 증가하지 않고, 시험에 1억 데이터 정도로 예측을 실시해도 처리 시간은 변하지 않았다.
마지막으로
사실은 컬럼수도 변화시키고 싶었지만 잘 하는 방법을 찾을 수 없었기 때문에 이번에는 스루했다.
이 결과는 당연히 데이터의 경향에 따라 달라질 것이라고 생각하기 때문에 참고까지 해 주었으면 한다.
Reference
이 문제에 관하여(RandomForest의 크기 및 처리 시간 비교), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/uz29/items/617d2f9b475e22d7f35f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
무작위 포리스트의 나무의 수와 모델의 크기는 단순히 비례한다는 것을 알 수 있습니다.
최대의 나무의 깊이와 모델 사이즈에 관해서는 깊이가 1개 커질 때마다 약 1.5배~2배가 되는 것을 알 수 있었다.
이것은 이분목의 최대 깊이가 1개 깊어질 때마다 노드의 수가 높게 2배가 되는 것과 레코드수가 많아질수록 분기가 늘어나는 것으로부터도 예상할 수 있다.
모델 작성 시 처리 시간
모델 작성의 처리 시간에 관해서는 나무의 수, 최대 깊이, 학습 데이터 사이즈 각각에 비례하고 있는 것 같다.
예측 시 처리 시간
예측시에는 n=5060으로 작성한 학습 모델을 사용하고, predict 함수를 사용하여 데이터를 예측할 때의 시간을 계측했다.
예측시의 처리 시간에 관해서도 나무의 수와 나무의 깊이에 대하여 처리 시간은 비례하고 있는 것을 알 수 있다.
한편으로 의외로 예측을 시키는 레코드수에 관해서는 일절 증가하지 않고, 시험에 1억 데이터 정도로 예측을 실시해도 처리 시간은 변하지 않았다.
마지막으로
사실은 컬럼수도 변화시키고 싶었지만 잘 하는 방법을 찾을 수 없었기 때문에 이번에는 스루했다.
이 결과는 당연히 데이터의 경향에 따라 달라질 것이라고 생각하기 때문에 참고까지 해 주었으면 한다.
Reference
이 문제에 관하여(RandomForest의 크기 및 처리 시간 비교), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/uz29/items/617d2f9b475e22d7f35f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
예측시에는 n=5060으로 작성한 학습 모델을 사용하고, predict 함수를 사용하여 데이터를 예측할 때의 시간을 계측했다.
예측시의 처리 시간에 관해서도 나무의 수와 나무의 깊이에 대하여 처리 시간은 비례하고 있는 것을 알 수 있다.
한편으로 의외로 예측을 시키는 레코드수에 관해서는 일절 증가하지 않고, 시험에 1억 데이터 정도로 예측을 실시해도 처리 시간은 변하지 않았다.
마지막으로
사실은 컬럼수도 변화시키고 싶었지만 잘 하는 방법을 찾을 수 없었기 때문에 이번에는 스루했다.
이 결과는 당연히 데이터의 경향에 따라 달라질 것이라고 생각하기 때문에 참고까지 해 주었으면 한다.
Reference
이 문제에 관하여(RandomForest의 크기 및 처리 시간 비교), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/uz29/items/617d2f9b475e22d7f35f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(RandomForest의 크기 및 처리 시간 비교), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/uz29/items/617d2f9b475e22d7f35f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)