ML Algorithm
Supervised Learning(지도 학습)
- Input(입력; independent variable) & Target(타깃; dependent variable)
- Question with a correct answer
- Type 1: Classification(분류)
- Type 2: Regression(예측)
- Feature(특성) = independent variable(column)
Unspervised Learning(비지도 학습)
- only Input, not Target
- Question without an answer
- algorithm automatically categorizes
Data set
1 | fish_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, |
1 | fish_data = [[l,w] for l, w in zip(fish_length, fish_weight)] |
KNN 1
Create KNN
1 | from sklearn.neighbors import KNeighborsClassifier |
Data Split
- train set & test set
1 | train_input = fish_data[:35] |
Model fitting
1 | kn = kn.fit(train_input, train_target) |
0.0
KNN 2
Numpy array
1 | import numpy as np |
((49, 2), (49,))
Data Shuffle and Split
1 | np.random.seed(42) |
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
48]
[13 45 47 44 17 27 26 25 31 19 12 4 34 8 3 6 40 41 46 15 9 16 24 33
30 0 43 32 5 29 11 36 1 21 2 37 35 23 39 10 22 18 48 20 7 42 14 28
38]
1 | train_input = input_arr[index[:35]] |
Scatter Plot
1 | import matplotlib.pyplot as plt |
Model fitting
1 | kn = kn.fit(train_input, train_target) |
1.0
1 | print(kn.predict(test_input) == test_target) |
[ True True True True True True True True True True True True
True True]
Ref.) 혼자 공부하는 머신러닝+딥러닝 (박해선, 한빛미디어)