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
결측값을 처리하는 방법에는 여러 가지가 있지만, 가장 간단한 방법 중 하나는 결측값이 있는 행을 제거하는 것입니다.
이는 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()
head() 메서드는 기본적으로 상위 행 5개를 반환하지만, 숫자를 입력하여 원하는 행 수를 반환할 수 있습니다.
X.head()
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)))
이와 같이 새로운 데이터에 대한 예측도 수행할 수 있습니다.
'머신러닝(Machine leanring)' 카테고리의 다른 글
(6) 머신러닝(Machine learning)이란? - Random Forests [Hellfer] (0) | 2024.07.21 |
---|---|
(5) 머신러닝(Machine learning)이란? - Underfitting and Overfitting [Hellfer] (4) | 2024.07.20 |
(4) 머신러닝(Machine learning)이란? - Model Validation [Hellfer] (0) | 2024.07.19 |
(2) 머신러닝(Machine learning)이란? - Basic Data Exploration [Hellfer] (0) | 2024.07.17 |
(1) 머신러닝(Machine learning)이란? - How Models Work [Hellfer] (0) | 2024.07.16 |
원-핫 인코딩(One Hot Encoding)이란? - [Hellfer] (0) | 2024.07.05 |