본문 바로가기
머신러닝(Machine leanring)

(3) 머신러닝(Machine learning)이란? - Your First Machine Learning Model [Hellfer]

by Hellfer 2024. 7. 18.
728x90

https://www.kaggle.com/code/dansbecker/your-first-machine-learning-model

 

Your First Machine Learning Model

Explore and run machine learning code with Kaggle Notebooks | Using data from multiple data sources

www.kaggle.com

 

위의 글을 참고하여 작성하였습니다.

 

모델링을 하기 위해 데이터를 선택해 보겠습니다.

 

데이터 세트에서 어떤 변수를 사용할지 결정하는 것은 중요합니다.

 

초기에는 직관과 도메인 지식을 활용하여 몇 가지 중요한 변수를 선택할 수 있습니다.

 

이후에는 통계적 기법을 사용하여 변수의 중요도를 평가하고 우선순위를 지정해 보겠습니다.

 


 

데이터프레임의 모든 열 이름을 확인해 보겠습니다.

 

Dataframe의 columns 속성을 이용합니다.

 

import pandas as pd

melborune_file_path = '../input/melbourne-housing-snapshot/melb_data.csv'
melborune_data = pd.read_csv(melborune_file_path)
# 데이터 세트의 모든 열 목록 확인
melborune_data.columns

 

melborune_data 의 열 목록

 

결측값을 처리하는 방법에는 여러 가지가 있지만, 가장 간단한 방법 중 하나는 결측값이 있는 행을 제거하는 것입니다.

 

이는 dropna 메서드를 사용하여 수행할 수 있습니다.

 

# 결측값이 있는 행 제거 
melborune_data = melborune_data.dropna(axis=0)

 

axis = 0 : 행을 기준으로 결측값이 있는 행을 삭제합니다.

axis = 1 : 열을 기준으로 결측값이 있는 행을 삭제합니다.

 


 

데이터 하위 집합을 선택하는 방법에는 여러 가지가 있습니다.

 

1. 점 표기법을 사용하여 '예측 대상' 선택하기

 

2. 열 목록을 사용하여 '기능' 선택하기 

 


 

점 표기법은 데이터프레임의 특정 열을 선택하는 간단한 방법입니다.

 

예를 들어, 주택 가격을 예측 대상으로 설정한다고 가정해 보겠습니다.

 

# 예측 대상 (종속 변수) 선택
y = melborune_data.Price

 

melborune_data.Price를 통해 melborune_data의 Price 열을 선택하여 y변수에 할당합니다.

 


 

모델에 입력되고 나중에 예측에 사용되는 열을 "특성(features)"라고 합니다.

 

위의 예시와 같이 주택 가격을 결정하는 데 사용되는 열이 됩니다.

 

경우에 따라 주택 가격을 제외한 모든 열을 기능으로 사용할 수 있습니다.

 

#기능 (독립 변수) 선택
melborune_features = ['Rooms', 'Bathroom', 'Landsize', 'Lattitude', 'Longtitude']

X = melborune_data[melborune_features]

 


 

X.desribe()

 

melborune_features 표준편차, 평균값, 사분위수 등을 나타낸 표


 

head() 메서드는 기본적으로 상위 행 5개를 반환하지만, 숫자를 입력하여 원하는 행 수를 반환할 수 있습니다.

 

X.head()

 

melborune_features 상위 5개 행

 


 

 

scikit-lean 라이브러리를 사용하여 모델을 만듭니다.

 

sklearn으로 작성되며 scikit-learn은 일반적으로 Dataframe에 저장된 데이터 유형을 모델링하는 데 가장 널리 사용되는 라이브러리입니다.

 

각 단계는 모델 정의, 모델 학습(Fit), 예측 및 평가로 구성됩니다.

 

from sklearn.tree import DecisionTreeRegressor

# 모델 정의
melborune_model = DecisionTreeRegressor(random_state=1)

# 모델 학습
# y (종속 변수) = melborune_data.Price
# X = melborune_data[melborune_features]
melborune_model(X,y)

 

DecisionTreeRegressor(random_state=1)


 

예측 함수가 어떻게 작동하는지 확인하기 위해 훈련 데이터의 처음 몇 행에 대해 예측해 보겠습니다.

 

print("Making predictions for the following 5 houses:")
print(X.head())
print("The predictions are")
# 훈련 데이터의 5개 행을 선택하고, 예측을 수행
print(melborune_model_predict(X.head)))

 

 

이와 같이 새로운 데이터에 대한 예측도 수행할 수 있습니다.

728x90