부족한 값을 사용하여 라이브러리 DataWig 보완
여기 기사를 보고 DataWig이라는 결손치 보충고를 알아내서 해봤어요.
또한 DataWig에 대한 자세한 사양은 공식 문서을 참조하십시오.
코드의 상세한 부분은 할애이기 때문에 GitHub 또는Google Colab 확인하세요.
데이터 세트는 태국 것을 사용한다.
학습 데이터는 80%, 테스트 데이터는 20%를 차지한다.
부족한 값을 포함하는 특징량,age(수치 데이터),cabin(클래스 데이터),embarded(클래스 데이터)에 대해 DataWig을 사용해 보세요.
매개 변수
당분간 결손치의 분포를 고려하지 않고 아래 6개 항목에 따라age,cabin,embarded의 결손치를 보충한다.
또 Epoke 수는 1000이다.
INPUT_COLUMNS = ['name', "sex", "sibsp", "parch", "fare", "survived"]
EPOCH = 1000
embarded의 결손값 보충
FILE_PATH는 학습 무게를 저장하는 경로입니다. 적절하게 설정하십시오.
import datawig
imputer = datawig.SimpleImputer(
input_columns=INPUT_COLUMNS,
output_column='embarked',
output_path = FILE_PATH
)
# 学習
imputer.fit(
train_df=train,
num_epochs=EPOCH
)
# 欠損値に相当する項目の予測
predictions = imputer.predict(test)
다음과 같은 느낌imputed、xxx_imputed_프로바 프로젝트를 추가했습니다.xxx_imputed는 예측의 보완 내용이다.
보시면 아시겠지만 결손이 아닌 항목에 관해서도 보완 내용을 예측했고 어떤 부분도 다른 점이 있습니다.
예측된 보완 내용은 결손된 부분만 사용하는 것이 가장 좋다.
le_xxx、le_xxx_imputed 이 프로젝트는 원시 값과 예측된 상호 보완 내용을 각각 탭으로 인코딩한 프로젝트입니다.
f1_score(temp["le_embarked"], temp["le_embarked_imputed"], average='macro')
예측된 미손실 부분에 대한 보충 내용과 실제 내용에 따라 f1점을 계산하면 약 60%의 비율이 괜찮다.0.639421620673713
cabin,age의 결손값 처리
분류 데이터든 수치 데이터든 데이터 wig.SimpleImputer()의 처리는 변경되지 않습니다. 사랑을 끊으십시오.
카빈의 F1 득점.
f1_score(temp["le_cabin"], temp["le_cabin_imputed"], average='macro')
embarded와 같은 생각을 바탕으로 Cabin에 대해서도 F1 득점을 계산했지만 정밀도는 3% 정도에 불과했다.비빈은 원래 거의 손실치였고 독특치도 많아 예측 정밀도가 매우 낮았다.
0.028735632183908042
age의 R2 득점
r2_score(temp["age"], temp["age_imputed"])
age는 수치 데이터로 R2의 득점을 계산한 후 정밀도는 약 25%이다.0.25760977146668074
이상은 끝까지 읽어주셔서 감사합니다.
Reference
이 문제에 관하여(부족한 값을 사용하여 라이브러리 DataWig 보완), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/megane_otoko/articles/027_missing_value_processing텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)