본문 바로가기

Study/AI

데이터의 이해

728x90

피쳐란?

1. 피쳐의 개념

피쳐(feature): '특성'이나 '특징'이라는 의미

모델을 구성하는데 데이터가 가장 큰 영향을 줌. 모델은 함수 형태로 표현

 

대표적인 머신러닝의 데이터셋의 예제로 보스턴 집값 예측이라는 데이터셋이 있다.

서로 다른 독립변수 13개를 xn으로 하고 가중치를 B을 선형 결합 하여 나타냄

머신러닝에서 독립변수 x를 피쳐라고 부름

 

2. 피쳐의 표기법

  • 데이터 테이블(data table): 데이터를 테이플(표)로 표현한 것
  • 데이터 인스턴스(data instance): 하나의 데이터, 튜플(tuple)이라고도 부름

피쳐는 데이터 테이블 상에서 하나의 열 이름(column name)에 해당

하나의 행(row), 즉 튜플의 값은 열 벡터(column vector)로 표현하고, 가중치(weight)도 열 벡터로 표현

xj(i) 에서 i는 전체 데이터 테이블에서 데이터의 순서, j는 피쳐의 순서

 

3. 차원의 저주

실제 머신러닝에서는 피쳐의 개수가 크게 증가하고 이에 따라 데이터를 확보해야 모델 성능을 갖출수 있음

차원이 늘어나면 우리가 상상하거나 표현할 수 없게 됨

  • 차원의 저주(Curse of Dimensionality): 피쳐의 개수가 증가하게 되면 데이터를 표현해야 하는 공간이 지속적으로 늘어나게 되고 이에 대한 처리가 어렵게 되는 것
    • 희박한 벡터 생성: 벡터공간에 너무 많은 0이 포함된 형태로 값이 없는 벡터들이 증가하여 모델 전체의 정확도를 떨어뜨림
    • 데이터 처리 속도와 메모리 공간 문제: 샘플 데이터가 너무 많아져 문제 발생

피쳐의 종류

1. 데이터의 분류: 연속형 데이터와 이산형 데이터\

내용 연속형 데이터 이산형 데이터
개념 값이 끊어지지 않고 연결되어 표시되는 형태
일반적인 실수나 정수 값들
값이 연속적이지 않고 끊어서 표현되는 값들
라벨로 구분되는 값들
숫자일 경우에도 그 값들 간에 스케일이 존재하지 않음
예시 온도. 시험 평균, 자동차 속도 등 성별, 주소, 설문조사 척도 등

연속형 데이터와 이산형 데이터의 가장 큰 차이는 그 숫자의 의미가 스케일(scale)이 있는가 없는가이다.

 

2. 데이터를 모델에 적용할 때 고려사항

RAD는 '바앗형 도로까지의 접근성 지수'이고, 기준에 따라 접근성을 숫자로 표현한 것이다.

숫자형 데이터인 AGE와 서수형 데이터인 RAD를 같은 형태로 저장해도 되는가?

 

이 외에도 AGE와 B는 둘다 스케일(scale)이 있는 값들 이지만 값들의 범위가 매우 크다.

또 다른 문제로는 데이터 자체의 오류가 있을 수 있다.

 

이러한 문제들을 해결하기 위해 첫번째로 할 일은 데이터에 대한 성질을 이해하는 것이다.

예를 들어 다루려고 하는 피쳐가 서수형 데이터 타입인데 데이터가 비어있다고 해서 단순히 평균값을 넣으면 안된다.

데이터의 성질을 고려하여 머신러닝 모델을 만들어야한다.


데이터를 모델에 대입하기

1. 데이터 테이블의 기본 용어

  • 데이터 테이블: 판다스를 이용하여 데이터를 로딩하면 확인할 수 있는 테이블 형태의 데이터 집합
  • 피쳐: 엑셀에서의 필드나 열, 데이터베이스에서의 속성(attribute)
  • 인스턴스: 동일한 객체에 대한 하나의 데이터 묶음. 하나의 객체에 대한 모든 피쳐를 모아 놓은 데이터 전체. 액셀에서의 행, 테이터베이스에서의 튜플


연습문제

1. 데이터에 대한 용어 중 '특성'이나 '특징'을 가리키는 것은?

①피쳐 ②매개변수 ③컬럼 ④종속변수

답: 1

 

2. 다음 중 하나의 데이터 묶음이라고 표현할 수 있는 것은?

①데이터 테이블 ②피쳐 ③필드 ④벡터

답: 1

 

3. 피쳐의 개수가 증가하게 되면 데이터를 표현해야 하는 공간이 지속적으로 늘어나게 되고 이에 대한 처리가 어렵게 되는 것을 무엇이라고 하는가?

①공간 창출 ②차원의 저주 ③처리 불능 ④벡터의 생성

답: 2

 

4. 다음 중 이산형 데이터에 대한 개념이 아닌 것은?

①값이 연속적이지 않고 끊어서 표현되는 값들

②라벨로 구분되는 값들

③숫자일 경우에도 그 값들 간에 스케일이 존재하지 않음

④값이 끊어지지 않고 연결되어 표시되는 형태

답: 4

 

5. 데이터 테이블에서 동일한 객체에 대한 하나의 데이터 묶음을 무엇이라고 하는가?

①인스턴스 ②튜플 ③열 ④행

답: 1

 

6. 다음 중 conda 가상환경을 실행하는 명령어는 무엇인가?

①jupyter notebook

②import pandas as pd

③df_data.head()

④conda activate ml

답: 4

 

참고서적: 데이터 과학을 위한 파이썬 머신러닝

728x90

'Study > AI' 카테고리의 다른 글

Titanic Survival Prediction  (1) 2024.04.10
넘파이(Numpy) - 비교 연산과 데이터 추출  (0) 2023.04.09
넘파이(Numpy) - 배열 연산  (0) 2023.04.09
넘파이(Numpy) - 배열 객체 다루기  (2) 2023.04.09
머신러닝의 기초  (0) 2023.04.02