반응형
예측에 사용할 특성?
- 승객 아이디 : 관련 없을 것 같음.
- 생존 여부 -> target으로 사용
- Pclass 특성 -> 필요 해 보임
- 이름 -> 관련 없을 것 같음.
- Sex -> 성별 연관성이 있을까?
- Age -> 나이도 있을 것 같음
- Sibsp or Parch -> 형제, 부모 여부?
- Ticket 번호 -> 필요없어 보임
- Fare 요금 -> 요금 더 내면 뭐가 있나?
- Cabin 필요없어 보임
- Embarked 승선 장소 -> 필요 없을까?
데이터 변환 ( 문자 -> 수 )
- embarked -> (0, 1, 2)
- sex -> (0, 1)
for i in range(len(sex)):
if sex[i] == 'male':
sex[i] = 0
else:
sex[i] = 1
for i in range(len(embarked)):
if embarked[i] == 'S':
embarked[i] = 0
elif embarked[i] == 'C':
embarked[i] = 1
else:
embarked[i] = 2
data = {
'survived' : survived,
'pclass' : pclass,
'sex' : sex,
'age' : age,
'sibsp' : sibsp,
'embarked' : embarked,
'parch' : parch
}
data = pd.DataFrame(data)
# 8:2 훈련 데이터, 테스트 데이터 나누기
train_index = int(len(data) * 0.8)
test_index = int(len(data) * 0.2)
train_data = data[:train_index]
test_data = data[train_index:]
y_train = train_data['survived']
y_test = test_data['survived']
x_train = train_data.drop(['survived'], axis=1)
x_test = test_data.drop(['survived'], axis=1)
스케일링 작업
from sklearn.preprocessing import StandardScaler
std = StandardScaler()
std.fit(x_train)
x_train_scaled = std.transform(x_train)
x_test_scaled = std.transform(x_test)
모델 작업
from sklearn.tree import DecisionTreeClassifier
dtc = DecisionTreeClassifier()
dtc.fit(x_train, y_train)
from sklearn.metrics import accuracy_score
prediction = dtc.predict(x_test)
print('예측 정확도 : {0:.2f}'.format(accuracy_score(y_test, prediction)))
반응형
'인공지능 > 캐글 kaggle' 카테고리의 다른 글
Kaggle Competition - Getting Start! Datasets - titanic (2) (0) | 2024.03.29 |
---|---|
Kaggle Competition - Getting Start! Datasets - titanic (1) | 2024.03.27 |