본문 바로가기

CS22

혼자 공부하는 머신러닝 + 딥러닝 - Ch 3-3 Ch 3-3에서는 다중회귀와 과적합에 대해 공부합니다. 여러 특성을 사용한 선형 회귀를 다중회귀라고 부릅니다. 특성 1개에 target 1개면 회귀는 직선을 학습하지만, 특성 2개에 target 1개면, 회귀는 평면을 학습하게 됩니다. 이렇게 2개 이상의 feature에 대한 회귀를 공부합니다. 이번 실습에서는 물고기의 길이 뿐 아니라 높이와 두께 데이터도 주어졌을 때, 이들을 모두 이용하여 훈련하는 다중회귀를 학습합니다. 1. 데이터 준비 판다스라는 데이터 분석 라이브러리에서 데이터를 불러옵시다. 판다스에서 데이터를 읽는 방식은 data= pd.read_csv(주소) 로 쉽게 할 수 있습니다. data=pd.read_csv('https://bit.ly/perch_csv_data') fish_data=d.. 2023. 1. 11.
혼자 공부하는 머신러닝 + 딥러닝 - Ch3-2 Ch 3-2에서는 선형회귀에 대해 공부합니다. 선형회귀는 간단하면서 강력한 방법입니다. 많은 경우 일상데이터는 출력과 비례하는 경우가 많기 때문에 활용도가 높습니다. 예를 들어 공부시간과 성적같은 데이터가 있습니다. 1차 model Ch 3-1의 데이터를 이용하여 선형회귀로 예측 해봅시다. 선형회귀 모델은 사이킷런의 LinearRegression 을 import하여 훈련할 수 있습니다. 선형회귀 객체를 생성하고 모델이름을 lr로 정해줍니다. 훈련데이터로 학습시키고 그 결과 기울기와 절편 값을 학습하게 됩니다. 각각 coef_ 와 intercept_ 로 저장되어 있습니다. 이제 고정된 두 점을 이어서 빨간색 직선을 표시하고 모델의 성능을 출력해봅시다. #선형회귀 lr=LinearRegression() # .. 2023. 1. 8.
혼자 공부하는 머신러닝 + 딥러닝 - Ch3-1 Ch3-1에서는 KNN 회귀 알고리즘과 그 한계에 대해 공부합니다. KNN 알고리즘은 분류 뿐만 아니라 회귀에서도 사용할 수 있습니다. 값들은 인접한 \(k\)개의 값들의 평균으로 계산됩니다. KNN 회귀함수는 사이킷런의 KNeighborRegressor을 import하여 사용할 수 있습니다. 어떤 물고기의 데이터를 받아 그래프를 찍어봅시다. fish_length = np.array([8.4, 13.7, 15.0, 16.2, 17.4, 18.0, 18.7, 19.0, 19.6, 20.0, 21.0, 21.0, 21.0, 21.3, 22.0, 22.0, 22.0, 22.0, 22.0, 22.5, 22.5, 22.7, 23.0, 23.5, 24.0, 24.0, 24.6, 25.0, 25.6, 26.5, 27.. 2023. 1. 8.
혼자 공부하는 머신러닝 + 딥러닝 - Ch2 Ch2에서는 지도학습을 공부하고 데이터 전처리의 필요성에 대해 공부합니다. 지도학습은 훈련데이터와 정답데이터를 통해 학습하는 머신러닝 방법입니다. 반면 비지도학습은 따로 정답이 없고 입력데이터만을 사용해 학습합니다. 지도학습에 필요한 훈련데이터를 만드는 방법은 두가지가 있습니다. 1. 충분한 양의 데이터가 있는 경우 훈련데이터를 따로 마련한다. 2. 한정된 양의 데이터로 훈련하는 경우 입력 데이터의 일부를 훈련데이터와 테스트데이터로 나눈다. 데이터를 분리할 때는 적절히 섞어서 편향이 없게끔 해줘야 합니다. 예를 들어 Ch1에서 도미와 빙어 데이터를 합쳤었는데 만약 훈련데이터는 전부 도미만 있고 테스트데이터에는 빙어만 있다면 0%의 효율을 내게 되겠죠. 사이킷런의 train_test_split() 함수는 .. 2023. 1. 7.