유형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)해도 되는 부분일까요?
네 문제없습니다. 다만 평가 지표 점수를 예상할 수 없어요~
3번문제 등분산 가정
0
8
1
작업형3 target 형 변환 질문
0
8
1
[작업형1] 연습문제 섹션1 ~ 10 의 section4
0
8
2
원핫인코딩과 레이블 인코딩에서 concat
0
21
2
제2유형 질문입니다.
0
27
2
C()
0
26
2
작업형 2에서 strafity 적용 유무
0
29
2
수강 기간 연장 가능 여부 문의드립니다.
0
30
1
ols
0
27
2
2유형 작성관련 질문(일반 심화)
0
24
2
2유형 작성관련 질문
0
23
2
2유형 object컬럼 개수 다르면
0
28
2
코딩팡질문이요ㅠㅠ
0
24
2
관찰값과 기대값의 개념이 헷갈립니다.
0
15
2
작업형2 ID 컬럼 삭제 질문
0
25
2
2유형 작성관련 질문
0
21
2
memoryerror 질문
0
19
2
작업형 유형2 이렇게 고정 템플릿으로 가져가도 될까요?
0
24
1
ID 삭제 필수 인가요?
0
22
3
7회 기출문제 작업형1번 df 변환 후 저장되는 방식 질문
0
21
2
3 유형 귀무가설, 대립가설
0
22
2
인코딩 관련 질문 있습니다
0
26
2
작업형3 이원분산분석 sm에서불러오기 / anova_lm 차이
0
33
2
2유형 원핫인코딩 오류
0
24
2





