이 문제에서 df=pd.concat 으로 X_train과 y_train의 타겟을 합치는 이유가 무엇인가요?
train이 두개로 나누어져서 제공되서
x_train+y_train['타겟'] 을 합치는거까지는 이해했는데요
이걸 df에 받아서 넣는데
그 다음 코드부터는 df를 사용하지를 않더라고요!
그래서 모든 코드 다 작성 후에, df=concat 어쩌구 했던거를 주석처리해서 숨겨봤는데도 같은 결과가 나왔어요.
합쳐진 df를 어딘가에 사용한다면 이해가 되는데,
df를 사용하지도 않는데 concat으로 합쳐놓는 이유가 무엇인가요?
참고 차 제가 작성했던 코드도 붙여넣어봅니다.
import pandas as pd
X_train = pd.read_csv("X_train.csv")
X_test = pd.read_csv("X_test.csv")
y_train = pd.read_csv("y_train.csv")
# print(X_train.shape, X_test.shape, y_train.shape)
df = pd.concat([X_train, y_train['Reached.on.Time_Y.N']], axis=1)
df
# 라벨인코딩
from sklearn.preprocessing import LabelEncoder
cols = X_train.select_dtypes(include="object").columns
for col in cols :
le = LabelEncoder()
X_train[col] = le.fit_transform(X_train[col])
X_test[col] = le.transform(X_test[col])
# # 랜덤 포레스트 위해서 데이터 분리
X_train = X_train.drop("ID", axis=1)
X_test_id = X_test.pop("ID")
# # 데이터 분리
from sklearn.model_selection import train_test_split
X_tr, X_val, y_tr, y_val = train_test_split(
X_train, y_train['Reached.on.Time_Y.N'], test_size=0.2, random_state=2022
)
# 랜덤포레스트
from sklearn.ensemble import RandomForestClassifier
rf = RandomForestClassifier(random_state=2022, max_depth=3, n_estimators=200)
rf.fit(X_tr, y_tr)
pred = rf.predict_proba(X_val)
from sklearn.metrics import roc_auc_score
print(roc_auc_score(y_val, pred[:,1]))
pred = rf.predict_proba(X_test)
submit = pd.DataFrame({
"ID" : X_test_id,
"Reached.on.Time_Y.N" : pred[:,1]
})
submit.to_csv("submit.csv", index=False)
pd.read_csv("submit.csv")
답변 1
1
df = pd.concat([X_train, y_train['Reached.on.Time_Y.N']], axis=1)는 합칠 때 예시로 보여드린 코드입니다.
2개(train, test) 데이터로 만들지 않고
제공된 3개 데이터 그대로 사용해서 풀이했어요 🙂
풀이에서 필요한 내용은 아니고 부가 설명으로 생각해주세요
수강 연장 가능 여부 문의
0
22
1
강의 구매했는데 교재 필수일까요
0
22
2
수강기간 연장 가부 문의드립니다.
0
21
2
수강기간 연장이 가능한지 양해를 구하며 문의를 드립니다.
0
27
2
작업형2 모의문제2에서 drop이랑 인코딩
0
27
2
인코딩을 다 꼭 해봐야하는지
0
36
2
안녕하세요? 강사님 질문있습니다.(인코딩관련)
0
57
2
이진분류에서 양성 클래스가 0일 때 평가 방법
0
46
2
원핫인코딩 전 train과 test 병합여부
0
50
2
수강기간 연장
0
69
2
29강 작업2형의 이상치 처리
0
65
2
수강기간 연장 문의드립니다!
0
65
2
9월에 실기출제기준 개정내역에 신설된부분
0
55
1
작업형2 모의문제2 결과값 관련 문의드립니다.
0
66
2
12회차 시험 실패 후 13회 도전 예정입니다.
0
55
1
random_state 값
0
73
2
강의 연장 문의 드립니다.
0
66
2
강의 연장 문의
0
61
2
오징어게임
0
70
1
object 컬럼이 여러 개인 경우 인코딩 전처리 방법
1
49
2
데이터 전처리 순서 관련
0
64
2
작업형2 모의문제 데이터 불러오기
0
62
2
강의 연장 부탁드립니다!
0
67
2
수강기간 연장 문의드립니다!
0
66
2





