데이터 준비
이 단계에서는 CSV 파일에서 훈련 및 테스트 데이터를 읽고, 비수치형 특징에 대해 레이블 인코딩을 수행하는 방법을 배우게 됩니다.
-
코드 편집기에서 predict.py 파일을 엽니다.
-
getData() 함수에서 다음 작업을 완료합니다:
pd.read_csv()를 사용하여 credit_risk_train.csv 파일에서 훈련 데이터를 읽습니다.
pd.read_csv()를 사용하여 credit_risk_test.csv 파일에서 테스트 데이터를 읽습니다.
label() 함수를 호출하여 훈련 및 테스트 데이터의 비수치형 특징에 대해 레이블 인코딩을 수행합니다.
- 훈련 데이터를
x_train, y_train, x_test, 및 y_test로 분할합니다.
def getData():
"""
CSV 파일에서 데이터를 읽습니다. 그리고 검증을 위해 훈련 데이터를 훈련 및 테스트로 분할합니다.
"""
## step1. CSV 파일에서 데이터 읽기
data = pd.read_csv(trainfile)
test = pd.read_csv(testfile)
## step2. 레이블 인코딩
data = label(data)
test = label(test)
## step3. 훈련 데이터를 훈련 및 테스트로 분할
x_train, y_train = data.iloc[:, :-1].to_numpy(), data.iloc[:, -1].to_numpy()
x_test = test.iloc[:, :].to_numpy()
y_test = None
return x_train, y_train, x_test, y_test
label() 함수에서 레이블 인코딩 프로세스를 구현합니다:
- 데이터의 각 열을 반복합니다.
- 열 데이터 유형이
object인 경우, LabelEncoder 인스턴스를 생성하고 열 데이터에 맞게 조정합니다.
- 열 이름이
"RISK"인 경우, LabelEncoder 인스턴스를 convertor 변수에 저장합니다.
LabelEncoder 인스턴스를 사용하여 열 데이터를 변환하고 데이터의 열을 업데이트합니다.
- 업데이트된 데이터를 반환합니다.
def label(data):
"""
레이블 인코딩을 사용하여 비수치형 특징을 처리합니다.
"""
global convertor
for col in data.columns:
if data[col].dtype == "object":
le = LE()
if col == "RISK":
convertor = le
le.fit(data[col])
data[col] = le.transform(data[col])
return data
이 단계를 완료하면 다음 단계를 위해 훈련 및 테스트 데이터를 준비하게 됩니다.