Python/머신러닝 14

머신러닝 4강. 데이터 전처리

K-최근접 이웃 알고리즘으로 훈련한 데이터에 이상한 점이 발견되었다. 분명 테스트 세트의 도미와 빙어를 모두 올바르게 분류했는데 이 모델에 길이 25cm, 무게 150g 데이터를 넣고 결과를 확인해봤더니 당연히 도미(1)로 예측할 줄 알았으나 빙어(0)로 예측했다. 대체 근처에 있는 이웃이 뭐길래 빙어로 예측했는지 그래프로 확인해보자. import matplotlib.pyplot as plt plt.scatter(train_input[:, 0], train_input[:, 1]) # 모든 행의 length, wieght plt.scatter(test_input[:, 0], test_input[:, 1]) # 모든 행의 length, wieght plt.scatter([25], [150], marker="..

Python/머신러닝 2022.05.14

머신러닝 3강. 표준 점수

표준 점수(standard score) : 각 특성 값이 평균에서 표준편차의 몇 배만큼 떨어져있는지를 나타냄 A학교 60 80 80 80 100 => 400 (평균 80) -20 0 0 0 +20 => 평균으로부터 얼마나 떨어져 있는지의 점수 B학교 40 60 60 60 80 => 300 (평균 60) -20 0 0 0 +20 => 평균으로부터 얼마나 떨어져 있는지의 점수 정규분포는 가장 평균이 되는 곳에 가장 많이 몰려있다 평균에서 데이터가 얼마나 떨어져 있는지의 점수를 모두 더해서 평균을 낸 것을 분산이라고 한다. 1. 분산 (데이터 - 평균) 제곱의 합 / 데이터 개수 모든 데이터의 분산을 다 더하면 0이 나와서 평균을 구할 수 없다. 부호를 없애기 위해 제곱을 사용한다. -20 0 0 0 +20 ..

Python/머신러닝 2022.05.14

머신러닝 2강. Cross Validation

머신러닝 알고리즘은 크게 지도 학습과 비지도 학습으로 나눌 수 있다. 지도 학습 알고리즘은 훈련하기 위한 데이터와 정답(타겟)이 필요하다. 1강에서 봤던 마켓과 머신러닝에서 도미와 빙어의 길이와 무게를 알고리즘에 사용했다. 이 경우 정답을 도미인지 아닌지 여부이다. 지도 학습에서는 데이터와 정답을 입력(input)과 타겟(target)이라고 하며, 이를 합쳐 훈련 데이터라고 부른다. 입력으로 사용된 생선의 이름과 무게를 특성(feature)이라고 한다. 특성에 의해 타겟이 변경된다. 반면 비지도 학습 알고리즘은 타겟 없이 입력 데이터만 사용한다. 미리 학습하지 못하여 정답을 사용하지 않으므로 무언가를 맞힐 수가 없다. 대신 데이터를 잘 파악하거나 변형하는데 도움을 준다. 머신러닝 알고리즘의 성능을 제대로..

Python/머신러닝 2022.05.13

머신러닝 1강. 사이킷런

마켓과 머신러닝 - 도미와 빙어 데이터 준비하기 - 사이킷런 사용을 위해 2차원 리스트로 변경 - 데이터(fist_data)와 타겟 데이터(fish_target) 준비 - 학습(훈련) - 평가 - 예측 - 참고 사이트 : 캐글 https://www.kaggle.com/ 개발에 필요한 데이터들의 모임 1. 데이터 준비 bream_length = [25.4, 26.3, 26.5, 29.0, 29.0, 29.7, 29.7, 30.0, 30.0, 30.7, 31.0, 31.0, 31.5, 32.0, 32.0, 32.0, 33.0, 33.0, 33.5, 33.5, 34.0, 34.0, 34.5, 35.0, 35.0, 35.0, 35.0, 36.0, 36.0, 37.0, 38.5, 38.5, 39.5, 41.0, ..

Python/머신러닝 2022.05.12