유형2번 코드 작성해보았는데...
# 시험환경 세팅 (코드 변경 X)
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
def exam_data_load(df, target, id_name="", null_name=""):
if id_name == "":
df = df.reset_index().rename(columns={"index": "id"})
id_name = 'id'
else:
id_name = id_name
if null_name != "":
df[df == null_name] = np.nan
X_train, X_test = train_test_split(df, test_size=0.2, random_state=2021)
y_train = X_train[[id_name, target]]
X_train = X_train.drop(columns=[target])
y_test = X_test[[id_name, target]]
X_test = X_test.drop(columns=[target])
return X_train, X_test, y_train, y_test
df = pd.read_csv("../input/titanic/train.csv")
X_train, X_test, y_train, y_test = exam_data_load(df, target='Survived', id_name='PassengerId')
X_train.shape, X_test.shape, y_train.shape, y_test.shape
#Survived예측
print(X_test.shape)
target=y_train['Survived']
test_id=X_test['PassengerId'].copy()
test=X_test
train=X_train
print(train.shape, test.shape)
train=train.drop('PassengerId', axis=1)
test=test.drop('PassengerId', axis=1)
train=train.drop('Name', axis=1)
test=test.drop('Name', axis=1)
print(train.shape, test.shape)
#합치기
df=pd.concat([train, test])
df['Age']=df['Age'].fillna(df['Age'].mean())
df['Cabin']=df['Cabin'].fillna(df['Cabin'].mode()[0])
df['Embarked']=df['Embarked'].fillna(df['Embarked'].mode()[0])
#인코딩
from sklearn.preprocessing import LabelEncoder
cols=df.select_dtypes(include='O').columns
for col in cols:
le=LabelEncoder()
df[col]=le.fit_transform(df[col])
#쪼개기(712, 179)
train=df[:712]
test=df[712:]
print(train.shape, test.shape)
print(target.shape)
from sklearn.model_selection import train_test_split
x_tr, x_val, y_tr, y_val=train_test_split(train, target, test_size=.2, random_state=2022)
from sklearn.ensemble import RandomForestClassifier
rf=RandomForestClassifier(random_state=2022)
rf.fit(x_tr, y_tr)
pred=rf.predict(test)
print(pred)
print(pred.shape)
print(len(test_id))
submit=pd.DataFrame({
'PassengerId': test_id,
'Survived': pred
})
submit.to_csv('수험번호.csv', index=False)
print(submit.shape)
캐글 타이타닉 보고 이렇게 작성해보았는데, 혹시 0점 될만한 요인이 있을까요??ㅠㅠ test데이터 행 수 하고 pred수 하고 동일한거 확인했습니다!
그리고 제출할때는 split로 안쪼개고 바로 fit(train, target)해서 predict(test)해도 되는 부분일까요?
답변 1
0
검증데이터 평가지표로 확인하지 않는다면
x_tr, x_val, y_tr, y_val=train_test_split(train, target, test_size=.2, random_state=2022)
코드가 무의미 합니다. 평가 지표를 확인하려고 사용하는 것이에요~
fit(train, target)해서 predict(test)해도 되는 부분일까요?
네 문제없습니다. 다만 평가 지표 점수를 예상할 수 없어요~
질문 드립니다.
0
38
2
강의 내용 관련 질문드립니다~
0
35
2
수강 연장 문의
0
33
1
강의자료 일괄 다운로드
0
43
2
수강기간 연장 문의드립니다
0
29
1
list 문제 질문드립니다~
0
31
2
빅분기 실기 12회 재도전
0
40
1
강의 기간 연장 가능여부 검토 요청건
0
30
1
수강기간 연장 문의 드립니다
0
36
2
수강기간 연장 문의드립니다
0
47
2
질문이요
0
51
2
수강기간 연장 문의드립니다.
0
50
2
문제 3-2 질문드립니다
0
44
2
수강기간 연장 문의 드립니다.
0
58
2
변수, 칼럼 , df 구분
0
50
2
수강기간 연장 문의드립니다.
0
50
2
수강기간 연장 문의
0
48
2
수강기간 연장 문의드립니다.
0
42
2
수강기한 연장 문의
0
80
2
수강기간 연장 문의드립니다
0
57
2
결정트리에서 적절한 깊이 선택 후 시각화 과정에서 학습 데이터만 사용하는 이유
0
45
2
수강기간 연장 문의드립니다.
0
71
2
수강연장 문의
0
77
2
수강연장문의
0
53
2





