인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

섹션10- 예시문제 작업형2(신버전) 문의

해결된 질문

24.06.08 20:44 작성

·

94

0

안녕하세요 섹션10- 예시문제 작업형2(신버전)

아래 풀이에서 어떤것이 잘못됬는지 알 수있을까요ㅠ?

 

 

# 출력을 원하실 경우 print() 함수 활용

# 예시) print(df.head())

# getcwd(), chdir() 등 작업 폴더 설정 불필요

# 파일 경로 상 내부 드라이브 경로(C: 등) 접근 불가

#데이터불러오기

import pandas as pd

train = pd.read_csv("data/customer_train.csv")

test = pd.read_csv("data/customer_test.csv")

# 확전분모평예정

# roc_auc(pred=predict_proba) / 양성(1)값=남자/ 분류모델

#확인

# print(train.shape, test.shape)

# print(train.head())

# print(test.head())

# print(train.info())

# print(test.info())

# print(train.isnull().sum())

# print(test.isnull().sum())

#전처리(결측값제거/문자제거/인코딩)

#결측값제거

# print(train.isnull().sum())

train['환불금액'] = train['환불금액'].fillna(0)

# print(train.isnull().sum())

test['환불금액'] = test['환불금액'].fillna(0)

#문자제거

cols=train.select_dtypes(include='object').columns

cols

# print(train.info())

train = train.drop(cols,axis=1)

# print(train.info())

test = test.drop(cols,axis=1)

#cols = ['회원ID', '총구매액', '최대구매액', '환불금액', '방문일수', '방문당구매건수', '주말방문비율', '구매주기']

#target = train.pop('성별') #pop=성별을 target에 대입하고 나머지를 drop

#인코딩

train = pd.get_dummies(train, columns=cols)

test = pd.get_dummies(test, columns=cols)

#분리

from sklearn.model_selection import train_test_split

X_tr, X_val, y_tr, y_val = train_test_split(

train.drop('성별',axis=1), train['성별'], test_size=0.2, ramdom_state=2022

)

#모델

#pred=predict_proba

from sklearn.ensemble import RandomForestClassifier

model = RandomForestClassifier()

model.fit(X_tr,y_tr)

pred = model.predict_proba(X_val)

print(pred)

print(pred[:,1])

# #평가

from sklearn.metrics import roc_auc_scoer

print( roc_auc_scoer(y_val, pred[;,1]) ) --실제,예측

# #예측

pred=model.predict_proba(test)

pred

submit = pd.DataFrame({

'pred': pred[:,1]

})

submit

# #저장

submit.to_csv('result.csv', index=False)

print(pd.read_csv('result.csv'))

# 사용자 코딩

# 답안 제출 참고

# 아래 코드는 예시이며 변수명 등 개인별로 변경하여 활용

# pd.DataFrame변수.to_csv("result.csv", index=False)

 

답변 2

0

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

2024. 06. 08. 22:28

안녕하세요:) 입문자의 대부분이 오타 문제인데 AI인턴 답변과 같이 오타 에러네요!! 확인부탁할게요!

0

인프런 AI 인턴님의 프로필 이미지

2024. 06. 08. 20:46

안녕하세요, 인프런 AI 인턴입니다.

서수영님의 질문에 대해 비슷한 상황을 다루는 기존 답변 링크가 있어 안내드립니다.

질문하신 내용과 유사한 문제 해결 방법을 포함하고 있는 게시글이기 때문에 참고하시면 도움이 될 것 같습니다.

  • 게시글 제목: 예시문제 작업형2 신버전
    • 이 게시글에서는 작업형 2 신버전 예시문제에 대한 질문과 답변이 있습니다. pandas 라이브러리를 사용하여 데이터를 불러오고, 결측값 처리, 라벨 인코딩, 학습 및 평가 데이터 분리, 모델 학습 및 예측까지의 전체 과정이 포함되어 있습니다. 특히 결측값 처리 및 라벨 인코딩 방식, 모델 학습 방법에 관한 질문에 대한 답변을 찾을 수 있습니다.

서수영님의 코드를 검토해보니, 몇 가지 오타가 있으며, 특히 ‘random_state’의 오타와 ‘roc_auc_score’ 함수 사용 시 오타가 핵심적인 문제일 수 있습니다. 정확한 함수 명칭을 사용해야 하며, 올바른 파라미터 이름은 ‘random_state’입니다.

또한, ‘문자제거’ 단계에서 ‘drop’을 사용하여 문자형 열을 제거하는 대신, 머신러닝 모델에 적용하기 전에 문자형 데이터를 숫자형 데이터로 변환하는 인코딩 과정을 고려해야 합니다. ‘pd.get_dummies()’ 함수는 ‘train’과 ‘test’ 데이터에 있는 ‘cols’ 변수가 이미 삭제된 상태에서는 사용할 수 없습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기