T2-1. 타이타닉(Titanic) Simple Baseline 질문있습니다
57
작성한 질문수 14
# 시험환경 세팅 (코드 변경 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')
#print(X_train.shape, X_test.shape, y_train.shape, y_test.shape)
X_train = X_train.drop(['Cabin','Name','Ticket'],axis=1)
X_test = X_test.drop(['Cabin','Name','Ticket'],axis=1)
X_train['Age']=X_train['Age'].loc[X_train['Age']>=1]
X_train['Age']=X_train['Age'].fillna(X_train['Age'].mean())
X_test['Age']=X_test['Age'].loc[X_test['Age']>=1]
X_test['Age']=X_test['Age'].fillna(X_test['Age'].mean())
X_train['Embarked']=X_train['Embarked'].fillna(X_train['Embarked'].mode()[0])
X_test['Embarked']=X_test['Embarked'].fillna(X_test['Embarked'].mode()[0])
cond=pd.get_dummies(X_train['Sex'])
cond2=pd.get_dummies(X_test['Sex'])
X_train['female']=cond.iloc[:,0]
X_train['male']=cond.iloc[:,1]
X_test['female']=cond2.iloc[:,0]
X_test['male']=cond2.iloc[:,1]
X_train = X_train.drop('Sex',axis=1)
X_test = X_test.drop('Sex',axis=1)
from sklearn.preprocessing import LabelEncoder
le=LabelEncoder()
cols=['Embarked']
for col in cols:
le = LabelEncoder()
X_train[col]=le.fit_transform(X_train[col])
X_test[col]=le.transform(X_test[col])
from sklearn.model_selection import train_test_split
X_tr,X_val,y_tr,y_val=train_test_split(X_train,y_train['Survived'],test_size=0.2,random_state=42)
from sklearn.metrics import accuracy_score
from sklearn.ensemble import RandomForestClassifier
model = RandomForestClassifier(random_state=42)
model.fit(X_tr,y_tr)
pred = model.predict(X_val)
accuracy_score(y_val,pred)
pred=model.predict(X_test)
submit = pd.DataFrame(
{
'PassengerId' : X_test['PassengerId'],
'Survived' : pred
}
)
submit.to_csv("003000000.csv",index=False)
submit.head()
pd.read_csv("/kaggle/working/003000000.csv")
accuracy_score(y_test['Survived'],submit['Survived'])
베이스라인 안보고 혼자 해봤습니다.
이렇게 작성했는데 마지막줄에서 점수는 나오는데 타이타닉 캐글 대회에는 제출이 안되서요 혹시 어느부분이 잘못된건지 알수있을까요??
그리고 이렇게 실행해도 맞는건지도 답변 부탁드립니다
답변 1
0
오!! 도전 응원합니다. 💪💪💪
우선 캐글 제출은 파일명이 "submission.csv"이어야 합니다.
만약 그래도 제출이 안되면
submit.shape 와 submit.head() 결과를 보여주세요
1
헤드결과

shape= 179, 2
결과는 이렇구요 ㅠㅠ 타이타닉 컴퍼티션에는 418개의 로우가 필요하다고 해서요.. 혹시몰라서 빅분기놀이터에 올려주신 베이스라인 그대로 해봤는데도 저랑 똑같이 179,2로 나옵니다.
0
아 이해했습니다.
이 데이터는 제가 임의로 변경 코드를 넣어 놨네요
실제 컴피티션에 참여하고 싶다면
https://www.kaggle.com/competitions/titanic
여기서 데이터를 코드를 생성하고 데이터를 불러와 진행 부탁드립니다.
작업형1 강의 수강 완료 후..
0
6
0
작업형1 모의문제 4번에 3)문제 질문
0
15
2
이상치 전처리 작업
0
21
2
평가결과값 문의
0
27
2
시계열 데이터 날짜와 시간 format
0
31
2
평가지표 F1 스코어 질문드립니다.
0
24
2
작업형 2 기출7회분에서
0
36
2
작업형2 모의문제1 (30강)
0
34
2
수강 기간 연장 문의 드립니다.
0
41
2
수강 계획과 관련해 문의 드립니다.
0
28
2
작업형1 - 연습문제 16~39 풀이는 몇강을 보면 되나요?
0
50
2
작업형 1 -연습문제 4-6
0
38
2
작업형 1 유형 부분
0
42
2
작업형 1 (삭제예정, 구 버전)
0
51
2
수강기간 연장 문의드립니다.
0
38
2
2유형 레이블 인코딩 VS 원핫 인코딩
0
37
3
수강기간 연장 문의드립니다.
0
44
2
인덱스 슬라이싱
0
37
2
질문 드립니다.
0
50
2
강의 내용 관련 질문드립니다~
0
46
2
수강 연장 문의
0
63
2
강의자료 일괄 다운로드
0
61
2
수강기간 연장 문의드립니다
0
48
2
list 문제 질문드립니다~
0
38
2





