본문 바로가기

전체 글38

혼자하는 공부하는 머신러닝 + 딥러닝 - 특성 공학과 규제 앞선 글에서는 고차항을 넣을 때 수동으로 고차항을 넣었다. 여러 특성을 사용한 선형 회귀를 다항 회귀라고 부르는데, 사이킷런에서 제공하는 편리한 도구를 사용해서 해보려고 한다. 판다스를 이용해 데이터를 불러오려고 한다. 판다스는 다른 카테고리에서 더 자세히 다뤄보겠다. import pandas as pd df = pd.read_csv('https://bit.ly/perch_csv_data') perch_full = df.to_numpy() print(perch_full) #그리고 타깃 데이터도 생성하겠다. import numpy as np perch_weight = np.array([5.9, 32.0, 40.0, 51.5, 70.0, 100.0, 78.0, 80.0, 85.0, 85.0, 110.0, 1.. 2022. 3. 9.
혼자 공부하는 머신러닝 + 딥러닝 - 회귀분석(2) 첫번째 파트에서는 k-최근접 이웃 회귀에 대해서 알아봤다. 결정계수, 과대 적합과 과소 적합에 대해서 알아봤다. 이제는 앞에서 만든 모델로 예측을 해보겠다. 길이가 50인 물고기의 무게를 예측해보려고 한다. print(knr.predict([[50]])) [1033.33333333] 이와 같이 예측을 했는데, 실제로는 더 많이 나온다고 한다. 길이가 50인 물고기들의 이웃들을 봐보자. distances, indexes = knr.kneighbors([[50]]) plt.scatter(train_input, train_target) plt.scatter(train_input[indexes], train_target[indexes], marker='D') plt.scatter(50,1033, marker='.. 2022. 3. 9.
혼자 공부하는 머신러닝 + 딥러닝 - 회귀분석(1) 이번엔 회귀 분석에 대해 공부하자. 어떤 값으로 예측하는 것이다. 예를 든다면 길이를 가지고 무게를 예측을 하고 분류하는 것이다. 더 깊게 얘기를 하면 앞에서 배운 것은 분류이고 회귀는 임의의 어떤 숫자를 예측하는 문제이다. k-최근접 이웃 알고리즘으로 회귀에 어떤 식으로 적용될까? 이웃한 샘플들의 평균 값을 구해서 이 값을 타깃값으로 삼는다. 일단 넘파이 모듈을 불러오고 데이터를 입력하자. import numpy as np perch_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.. 2022. 3. 9.
혼자 공부하는 머신러닝 + 딥러닝 - 데이터 전처리 이번에는 새로 들어온 물고기의 길이, 무게를 보고 어떤 종류의 물고기인지 예측해보도록 하자. fish_data를 column_stack 이라는 함수를 통해서 구축해본다. fish_data = np.column_stack((fish_length, fish_weight)) print(fish_data[:5]) [[ 25.4 242. ] [ 26.3 290. ] [ 26.5 340. ] [ 29. 363. ] [ 29. 430. ]] fish_target을 concatenate 함수와 ones, zeros를 이용해 생성해본다. fish_target = np.concatenate((np.ones(35), np.zeros(14))) fish_target array([1., 1., 1., 1., 1., 1., 1... 2022. 3. 8.