inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

84

현우

작성한 질문수 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
여기서 데이터를 코드를 생성하고 데이터를 불러와 진행 부탁드립니다.

강의 연장 관련하여 문의드립니다.

0

15

1

섹션7 자료 다운로드

0

13

1

작업형 1 연습문제 Section12

0

14

1

수강기간 연장 문의

0

26

1

안녕하세요, 혹시 수강기간 연장이 가능할까요?

0

27

2

판다스 강의자료는 어디서 받을 수 있나요?

0

26

2

작업형2 모의고사3 자료 업데이트 요청

0

33

4

수강 연장가능여부 문의드립니다!

0

38

2

수강기간 연장 문의드립니다!

0

34

2

최빈값

0

32

2

수강 가이드라인

0

29

2

수강 연장 가능 여부 문의

0

55

2

강의 구매했는데 교재 필수일까요

0

43

2

수강기간 연장 가부 문의드립니다.

0

40

2

수강기간 연장이 가능한지 양해를 구하며 문의를 드립니다.

0

42

2

작업형2 모의문제2에서 drop이랑 인코딩

0

51

3

인코딩을 다 꼭 해봐야하는지

0

50

2

안녕하세요? 강사님 질문있습니다.(인코딩관련)

0

62

2

이진분류에서 양성 클래스가 0일 때 평가 방법

0

46

2

원핫인코딩 전 train과 test 병합여부

0

51

2

수강기간 연장

0

72

2

29강 작업2형의 이상치 처리

0

70

2

수강기간 연장 문의드립니다!

0

66

2

9월에 실기출제기준 개정내역에 신설된부분

0

56

1