https://dacon.io/competitions/official/235713/talkboard/402821?page=1&dtype=recent
데이콘 대회 데이터로 공부하며 새로 접한 개념 정리
피처 (feature)
데이터의 특성을 나타내는 것으로 데이터 표에서 열(column)을 지칭
데이터 분석에서 표는 데이터의 특성을 나타내는 feature가 항상 열에 온다.
Label Encoding
scikit learn의 대표적인 인코딩 방법 중 하나
어떤 피처의 n개의 범주형 데이터를 0 ~ n-1개의 수치형 데이터로 변환한다.
이 변환값이 수치적 차이를 나타내는 것은 아님.
따라서 선형회귀 등의 알고리즘에 적용하기에 적합하지 않고, 트리 계열의 알고리즘에 적용하기 괜찮은 방법
from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
사이킷런의 preprocessing 패키지에 LabelEncoder 존재한다.
LabelEncoder 할당
numpy.histogram
hist, _ = np.histogram(숫자형 데이터 배열, 도수를 계산할 계급)
numpy.histogram 함수는 히스토그램을 여러 개 그리는 경우 발생할 수 있는 영역 겹침 문제를 해결하기 위해 사용할 수 있다.
numpy.histogram 함수는 2개의 배열, 도수 배열과 계급을 리턴한다.
계급의 경우 함수의 두 번째 인자와 동일하므로 여기서는 언더바 '_'를 통해 무시한다.
fillna (결측값 변경)
데이터프레임에서 결측값을 원하는 값으로 변경하는 메서드
df.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None)
- value : 결측값을 대체할 값, dict형태로도 가능
- method : 결측값을 변경할 방식, bfill로 할경우 결측값을 바로 아래 값과 동일하게 변경
- ffill로 할 경우 결측값을 바로 위 값과 동일하게 변경
- axis : {0 : index / 1 : columns} fillna 메서드를 적용할 레이블
- inplace : 원본을 변경할지 여부, True일 경우 원본을 변경
- limit : 결측값을 변경할 횟수, 위에서부터 limit로 지정된 갯수만큼만 변경한다
- downcast : 다운캐스트할지 여부, downcast='infer'일 경우 float64를 int64로 변경한다
예시
col = ['col1','col2','col3','col4','col5']
row = ['row1','row2','row3','row4','row5']
na = np.nan
data = [[na, 2,na, 4,na],
[ 6, 7,na, 9,na],
[11,na,na,14,15],
[na,17,na,na,20],
[na,22,na,na,25]]
df = pd.DataFrame(data,row,col)
print(df)
>>
col1 col2 col3 col4 col5
row1 NaN 2.0 NaN 4.0 NaN
row2 6.0 7.0 NaN 9.0 NaN
row3 11.0 NaN NaN 14.0 15.0
row4 NaN 17.0 NaN NaN 20.0
row5 NaN 22.0 NaN NaN 25.0
inplace
rename, drop 등의 메서드를 사용할 때, 변경값을 저장할 때 사용
inplace = True (저장함)
inplace = False (저장 안 함)
inplace = True는 기존 데이터프레임에 변경된 설정으로 덮어쓰겠다는 의미
즉, inplace = True를 입력하지 않으면 특정 변수에 저장하도록 코드를 입력해야 하는데, 사용하면 한번에 기존 변수에 덮어쓸 수 있다.
참조
[ML왕초보] 피처(feature), 독립변수, 종속변수 :: 일상의 행복, 배우는 즐거움 (tistory.com)
[ML왕초보] 피처(feature), 독립변수, 종속변수
데이터 분석에서의 독립변수와 종속변수에 대해서 쉽게 정리해 봅니다. 피처(feature) 데이터 분석을 관련 공부를 처음 할 때 가장 자주 접하는 단어가 바로 피처(feature) 입니다. 피처는 데이터의
joylife052.tistory.com
https://tnqkrdmssjan.tistory.com/85
[Scikit Learn] Label Encoding
안녕하세요. 머신러닝을 돌리기 전 전처리 작업 중 하나인 인코딩을 살펴보겠습니다. 머신러닝 알고리즘은 대부분 문자형 데이터를 이해하지 못하므로 수치형 데이터로 인코딩하는 작업은 거
tnqkrdmssjan.tistory.com
https://zephyrus1111.tistory.com/125
[Matplotlib Tip] 2. numpy.histogram을 이용하여 히스토그램 그리기
안녕하세요~ 꽁냥이에요. 히스토그램을 그릴 때 각 범주별로 또는 각 그룹별로 히스토그램을 한 곳에 겹쳐 그려 야한 경우가 있습니다. 아래처럼 말이죠 위 그림에서 알 수 있듯이 초록색과 주
zephyrus1111.tistory.com
06-04. 결측값 변경 (fillna / backfill / bfill / pad / ffill)
####DataFrame.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None) …
wikidocs.net
[데이터분석] 데이터프레임 : inplace = True 뜻 (dinolabs.ai)
[데이터분석] 데이터프레임 : inplace = True 뜻
데이터프레임을 다루는 코드를 구글링 하다 보면, 해당 함수 안에 inplace = True 라는 코드가 입력되어 있는 것을 많이 볼 수 있는데요, inplace = True 란 무엇을 의미하는 걸까요? 먼저, 다음과 같은
www.dinolabs.ai
'데이터 분석' 카테고리의 다른 글
[데이터 분석] Train, Validation, Test Set / train_test_split 모듈 (0) | 2024.03.27 |
---|---|
박스플롯 (Boxplot) 이란 ? (0) | 2024.03.20 |
[데이터 분석] 데이터 시각화 Seaborn 라이브러리 (0) | 2024.03.10 |
[데이터 분석] 영화 관객수 예측 (0) | 2024.03.07 |
One-hot Encoding / get_dummies (0) | 2024.03.07 |