inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

T2-1. 타이타닉(Titanic) Simple Baseline 질문있습니다

57

현우

작성한 질문수 14

0

# 시험환경 세팅 (코드 변경 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'])

 

베이스라인 안보고 혼자 해봤습니다.

이렇게 작성했는데 마지막줄에서 점수는 나오는데 타이타닉 캐글 대회에는 제출이 안되서요 혹시 어느부분이 잘못된건지 알수있을까요??

그리고 이렇게 실행해도 맞는건지도 답변 부탁드립니다

python 머신러닝 빅데이터 pandas 빅데이터분석기사

답변 1

0

퇴근후딴짓

오!! 도전 응원합니다. 💪💪💪

우선 캐글 제출은 파일명이 "submission.csv"이어야 합니다.

만약 그래도 제출이 안되면

submit.shape 와 submit.head() 결과를 보여주세요

1

현우

헤드결과

image.png

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