본문 바로가기
300x250

Programming14

[BAEKJOON_Python] 15596. 정수 N개의 합 정수 n개가 주어졌을 때, n개의 합을 구하는 함수를 작성하시오. a = list(map(int, input().split())) def solve(a): return sum(a) 이렇게 제출하였더니 런타임 에러(EOFError) 발생 정확한 원인은 모르겠으나 일단 문제에 아래와 같이 a가 이미 지정되어 있는 듯하였고, 다시 첫 줄을 빼고 제출하니 통과했다. def solve(a): return sum(a) Python 2, Python 3, PyPy, PyPy3: def solve(a: list) -> int a: 합을 구해야 하는 정수 n개가 저장되어 있는 리스트 (0 ≤ a[i] ≤ 1,000,000, 1 ≤ n ≤ 3,000,000) 리턴값: a에 포함되어 있는 정수 n개의 합 (정수) 2022. 3. 12.
[BAEKJOON_Python] 4344. 평균은 넘겠지 문제 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. 입력 첫째 줄에는 테스트 케이스의 개수 C가 주어진다. 둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. 출력 각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다. 예제 입력 5 5 50 50 70 80 100 7 100 95 90 80 70 60 50 3 70 90 80 3 70 90 81 9 100 99 98 97 96 95 94 93 91 예제 출력 40.000% 57.143% 33.333% .. 2022. 3. 12.
[BAEKJOON_Python] 8958. OX퀴즈 8958번 OX퀴즈 문제 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다. "OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다. OX퀴즈의 결과가 주어졌을 때, 점수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 길이가 0보다 크고 80보다 작은 문자열이 주어진다. 문자열은 O와 X만으로 이루어져 있다. 출력 각 테스트 케이스마다 점수를 출력한다. 예제 입력 5 OOXXOXXOOO OOXXOOXXOO OXOXOXOXO.. 2022. 3. 11.
[NYC 택시 수요 예측 PJT] 10. Result Analysis and Feature Analysis 앞서 XGBoost, LightGBM, Random Forest를 통해 예측한 결과를 분석을 해보려고 한다. 모델의 결과는 MAE, MAPE, MSE를 통해 나타내었으며, parsing을 통해 각 파라미터와 오차는 experinments 폴더에 저장이 되었다. MAE, MAPE, MSE와 같은 지표는 예측 모형의 효과를 검증하고 성능을 평가하기 위해 사용된다. 1. 오차의 종류 1-1. MAE (평균 절대 오차) MAE는 Mean Absolute Error의 약자로 실제 값과 예측 값의 차이를 절댓값의 평균으로 나타낸 값이다. MAE는 오차에 절댓값을 취하므로 오차의 크기가 그대로 반영되어 직관적인 특성을 가진 지표이나 절댓값을 취하기 때문에 실제보다 낮은 값인지 높은 값인지는 알 수 없다. 1-2. M.. 2021. 8. 19.
[NYC 택시 수요 예측 PJT] 9. XGBoost Regressor, LightGBM Regressor, Random Forest 본 게시글에서는 머신러닝의 앙상블 모델인 Random Forest와 Gradient Boost 기법의 종류인 XGBoost와 LightGBM를 사용하여 예측을 진행한다. XGBoost와 LightGBM 기법은 최근 Kaggle 플랫폼에서 좋은 성능을 보이며 주목을 받고 있다. 하지만 두 모델 모두 의사결정나무 (Decision Tree)를 기반으로 하기 때문에 오버 피팅 (Over-fitting)에 주의해야 한다. 부스팅은 랜덤 포레스트나 배깅처럼 여러 개의 트리를 만드나 기존에 있는 예측기를 발전시켜서 이를 합한다는 차이점이 있다. 정리해보면 배깅은 모델을 다양하게 만들기 위해 데이터를 재구성하는 방법, 랜덤 포레스트는 모델을 다양하게 만들기 위해 데이터와 변수 모두 재구성하는 방법 그리고 부스팅은 맞.. 2021. 8. 15.
[NYC 택시 수요 예측 PJT] 8. 베이스라인 모델 구축 - 반복 실험(Sacred 사용) 머신러닝 모델링을 진행하면 최적의 결과를 찾기 위해 다양한 모델을 사용하며 반복적으로 실험을 하게 된다. 이 과정에서 다양한 실험을 진행하며, feature, parameter를 자동으로 기록할 수 있는 도구가 있으면 진행이 아주 효율적인데 이때 Sacred라는 것을 사용하면 모델링을 할 때 사용했던 feature, parameter와 같은 설정을 저장하고 관리할 수 있다. Scared Github에 의하면 Sacred는 실험에서 축적된 데이터의 복사를 만들고, 기록하고, 정리하고, 설정하는 데 도움을 주는 도구이며, 아래와 같이 설명하고 있다. Sacred is a tool to help you configure, organize, log and reproduce experiments. It is de.. 2021. 8. 2.
300x250