노트북 밧데리 수명 로그를 보고 수명을 예측하는 파이썬 코드
“trainingdata.txt” 라는 training file이 주어진다.
이 파일 안에는 100개의 정보가 있다.
[충전 시간, 밧데리 수명 시간]
예를 들어,
2.81,5.62
7.14,8.00
2.72,5.44
3.87,7.74
1.90,3.80
5.50,8.00
0.14,0.28
2.00,4.00
1.78,3.56
3.45,6.90
...
문제는 쉽다.
training data를 보고 밧데리 수명을 예측하자.
input으로 충전 시간이 들어온다.
output으로 예측되는 수명시간을 출력하면 된다.
예를들어,
Input:
0.15
Output:
3.00
*방법:
두 가지 조건이 있으니 .. 쉽게 할 수 있고 생각이 난게 Linear Regression 방식 이였다.
먼저 데이터 들이 어떻게 분포되어 있는지 보기 위해 그래프를 찍어봤다.
보니까 이 노트북의 MAX 수명 시간은 8시간이다.
충전을 오래 해도 8시간을 못넘는 것을 확인했고, 직선의 방정식이 정말 깨끗하게 나와서
좋았다.
저 직선의 방정식만 찾으면, Charge 시간이 들어올때 예측되는 시간을 출력할 수 있다.
인터넷을 참고해 가며 Linear Regression을 만들었다.
지금 데이터 분포는 거의 완벽한 직선이지만, 실제 다른 데이터들은 그렇지 않다.
그렇기 때문에 학습하는 방식을 더해서 다른 데이터에도 사용될 수 있도록 만들었다.
아래는 python 코드이고, numpy 패키지가 추가로 사용되었다.
*느낀점
보통 이론을 머리로만 보고 이해하고 수학처럼 손으로 풀다가,
실제 코드로 옮겨봤다.
'IT > [Everyday]Coding' 카테고리의 다른 글
Hamming Distance (0) | 2019.01.23 |
---|---|
Jewels and Stones (0) | 2019.01.22 |
이진트리 높이 탐색 (0) | 2018.02.20 |
이진트리 모든 데이터 탐색 (0) | 2018.02.20 |
컵 모양의 2차 행렬의 모든 합이 가장 큰 것을 알아내라 (0) | 2016.08.16 |