AI 기초

[ AI기초 ] 04. 알고리즘 (Orange Data Mining 실습 )

코딩펭귄 2022. 10. 27. 21:51

( 한줄 요약 )

1. Regression : 어떤 값을 예측할때 사용하는 알고리즘, 평가시에는 MAE, RMSE등의 지표 사용

2. Classification : 어떤 대상을 분류할때 사용하는 알고리즘, 평가시에는 ROC 등을 사용해서 Accuracy 체크

 

taitanic 데이터 이용 실습

1. Data-File 에서 File아이콘을 드래그 해 옆 빈 백지에 놓는다. 2. File아이콘을 더블클릭 한 후 Source-File에서 taitanic.tab 선택하고 창 닫는다

 

위의 이미지처럼 아이콘들을 정렬한다.

 

Predictions 아이콘을 더블클릭하면 예측결과값 전부를 한번에 볼 수 있다. 하단의 CA (0.778)값은 정확도를 나타내고, 예측값인 logistic Regression이 'no' 인것은 에러가 났다는 뜻이다.

 

 

1. Regression

- 회기분석 : 관찰된 연속형 변수들에대해 두 변수사이의 모형을 구한뒤 적합도 측정해내는 분석방법

  선형회귀분석 : 독립변수 x와 종속변수 y의 상관관계 선형모델(직선)로 회귀분석하는 것

- 활용분야 : 시간에따라 변화하는 데이터, 가설적실험, 인과관계, 통계적 예측

 

regression 실습

-  주제 : 보스턴 집값 예측

- 데이터 : 보스턴 집값 데이터(13개의 요소는 506개의 열로 구성되어있음)

- 주요 data

crim 자치시별 1인당 범죄율
zn 25000평방 피트를 초과하는 거주지역의 비율
chas 찰스강 경계에 위치한 경우는 1, 아니면0
nox 10ppm당 농축 일산화질소
medv 본인소유의 주택가격 중앙값(단위$1000)

File - source - housing.tab으로 설정한다.
아이콘배열하기
scatter plot 아이콘을 더블클릭하고, Axes와 Attributes 속성 이미지와같이 변경해주면 위 그래프 나타남. 그래프에서는 x축인 범죄율값이 낮을수록 높은집값(y)축 모여있는것을 볼수잇음(하이라이트 한 부분은 범죄율값이 증가할수록 집값은 낮게 분포함을 나타내는 부분)
Axis x 를 CHAS로 설정하고 그래프를 보면, 강근처에 집이 있나 없나는 집가격에 큰 영향 안끼침을 알수있음
Axis x 를 Tax로 설정하면, 세금도 집값에 많은영향 끼침을 알수있음
범죄율이 10 미만인 지역에 높은집값이 분포하는것을 볼수있음

 

Linear Regression = 예측

error = 오차

KNN = 실제

 

MAE, 절대평균오차 (회석분석 Regression)

: 절대적으로 얼마나 떨어져있나를 봄 : 
MSE : (예측값과 실제값의 차이의 제곱 ) 의 평균 -> 작은데이터들의 평균을 읽을수있게됨
RMSE : MSE만 썼을경우에 많이 떨어지는 값들을 위함(값이 튀지 않게끔 하는것)
MAE : Mean Absolute Error
R2  (결정계수) : 예상값/실제값 -> 값이 1 = 예측값과 실제값이 같은것임

 

 

 

 

2. Classification

- 분류분석 classification은 관찰된 연속형 변수들에대해 두 변수 사이의 모형을 구한뒤, 적합도를 측정해내는 분석방법

- 활용분야 : 개와 고양이, 합격불합격등의 이진분류 / 숫자의인식 / 여러분류중 하나를 선택하는 다중분류기법

- Regression : 값을 예측  vs  Classification : 분류를 예측함

 

Classification 실습

- 주제 : 붓꽃 품종 예측

- Data : 3개품종분꽃(Iris setosa, virginica, versicolor) / 4개변수측정 : 꽃받침조각(petal)길이, 넓이-꽃잎(sepal)길이, 넓이

File에서 iris선택, 오른쪽처럼 아이콘 배열, scatter plot에서 하이라이트 친 동그라미부분이 뚜렷하게 구별 잘되는것임
confusion matrix아이콘을 열어서 보면 진짜값과 예측값 사이의 오차(빨간박스) 확인할수있음
Hierarchical Clustering 아이콘에서 영역을 선택한만큼, 해당 영역이 Data Table에서 나타남 (clustering : 오차는 있지만, 정확도는 떨어지더라도, '대략' 구별해줌)

 

 

각종 평가 지표

- Precise (정밀도) : 모델이 True 라고 분류한것중 실제 True 의 비율

- Recall(재현율) : 실제 True인것중 모델이 True라고 예측한것의 비율

- Accuracy (CA,정확도) : 전체중 실제 True를 True라고, 실제 False     를  False라고 예측한것의 비율

- 오른쪽 표를 더 쉽게 보는법 : 정답은 T로 시작, 오답은 F로 시작

- F1 score : Precise와 Recall의 조화평균

- ROC curve : 여러 임계치들을 기준으로 Recall-Fallout의 변화를

  시각화한것

- AUC : ROC그래프 아래의 면적