-
[Python/ATL] Intro to machine learning(1탄 - 데이터 관리)Python 2022. 5. 15. 22:53반응형
제가 진행하고 있는 파이썬 코스에 진전이 생겼습니다~!!╰(*°▽°*)╯생각보다 늦게 올리게 되었네요ㅜㅜ
용어가 다소 생소할 수 있으니 미리 사전 정의를 읽고 글을 봐주시는 것을 추천합니다!
사전 용어 정의
[최대한 간단하게 정의해보았으나, 추후에 조금 더 쉬운 언어로 표현해보겠습니다.]
객체 - 물리적으로 존재하거나 추상적으로 존재할 수 있는 것에 대해서 자신의 속성과 행동(동작)을 가지고 있는 것을 의미합니다.
라이브러리- 코드를 이용해서 미리 만들어놓은 코드 도구 모음입니다.
메서드-객체의 동작(행동)을 의미합니다.
속성-객체의 두가지 요소중 하나로, 객체의 특징이라고 보시면 됩니다!
Decision Tree-판단요소와 그에 따른 가능한 결과들을 나타낸 나무 같은 모양의 그래프입니다.
이번에 사용할 Model
집의 특징(평수, 위치 , 층수등)을 이용해 🏠집의 가격을 예측하는 Model입니다.
Decision Tree를 이용한 Model
Model을 만들기 위해서는 다양한 방법이 있지만, 제가 배운 과정에서는 간단한 Decision Tree를 이용해 Model을 작성했습니다.

먼저 이 Decision Tree를 보게 되면 질문(Does house have more than 2 Bedrooms)을 이용해서 가격을 예측하게 되는데, 이 과정을 패턴을 파악한다고 하고, training 혹은 fitting한다고 합니다!
패턴을 파악하기 위해서 사용된 데이터는 training data 라고 하게 됩니다!
잠깐 용어 정리를 하자면,
- model의 패턴을 파악하는 과정 -> training, fitting
- 패턴을 파악하는데 필요한 데이터 -> training data
Pandas 라이브러리 : 데이터를 다루기 위한 유용한 도구
위에서 패턴을 파악하는데 필요한 데이터를 training data라고 정의했습니다.
이 데이터를 다루기 위해서 필요한 라이브러리가 Pandas라는 라이브러리입니다.
import pandas as pd위 명령을 이용해 pandas 라이브러리를 불러옵니다. Pandas가 어떤 도구 모음을 가지고 있는지 알아볼까요?
1. Pandas의 데이터 불러오기
Training data의 경로가 '../training_data/house_training_model.csv'라고 가정해봅시다
Pandas는 이 데이터를 read_csv 메서드를 통해 가져올 수 있습니다.
import pandas as pd house_file_path = '../training_data/house_training_model.csv' house_data = pd.read_csv(house_file_path)2. Pandas를 이용해 데이터 통계 보기
앞서 read_scv를 통해 home_data라는 변수에 training data를 불러왔습니다.
이 불러온 데이터에 대해 describe 메소드를 사용하게 되면 데이터 통계를 볼 수 있습니다.
home_data.describe()
사진처럼 통계 결과를 얻을 수 있습니다. describe 메소드를 통해 얻을 수 있는 결과의 종류
- count - 데이터의 개수를 사용
- mean - 함수의 평균을 계산
- std - 표준편차
- min, max- 최소값, 최대값
- 25%, 50%, 75% - 하위 25%, 하위 50%, 하위 75% 에 해당하는 데이터
3. Pandas를 이용해 부분 데이터 불러오기
Pandas는 데이터를 다룰 때 더 유용합니다!
데이터 안에 있는 특정 집합의 이름을 볼 수 있는 속성은 columns를 이용해서 볼 수 있습니다.
home_data.columns--출력--
Index(['Suburb', 'Address', 'Rooms', 'Type', 'Price', 'Method', 'SellerG', 'Date', 'Distance', 'Postcode', 'Bedroom2', 'Bathroom', 'Car', 'Landsize', 'BuildingArea', 'YearBuilt', 'CouncilArea', 'Lattitude', 'Longtitude', 'Regionname', 'Propertycount'], dtype='object')위에 형광펜 부분과 아래 표를 비교해서 보시면, columns 속성은 아래와 같이 특정 집합의 이름을 담고 있다는 것을 알 수 있습니다.

근데 이 columns 속성이 왜 중요할까요?
데이터가 어떤 요소들로 이루어져 있는지 볼 수 있고, 어떤 데이터를 선택해야할지 판단할 수 있기 때문입니다.
우선 보는 방법은 알아보았으니, 데이터를 선택하는 방법을 알아볼까요?
y라는 변수에 데이터의 Price 속성을 따로 선택하고 싶다고 했을 때, 코드는 아래와 같습니다.
y = home_data.Price여러 속성을 한꺼번에 선택해 변수에 저장할 수도 있습니다. 우선 columns 속성의 일부를 배열로 만들어보겠습니다.
home_features = ['Rooms', 'Bathroom', 'Landsize', 'Lattitude', 'Longtitude']그리고 아래 코드를 통해 X라는 변수에 위의 배열에 나와있는 속성들을 넣어줄 수 있습니다.
X = home_data[home_features]아까 봤던 describe 함수를 통해 데이터를 살펴볼까요?
X.describe()
이런 식으로 배열에 저장해둔 속성들만 표시해주는 것을 볼 수 있습니다!
이렇게 1탄에서는 간단한 개념과, Pandas 라이브러리를 이용해 데이터를 다루는 방법을 알아보았습니다.
2탄에는 본격적으로 데이터를 어떻게 활용하는지 다루도록 하겠습니다!
출처
https://www.kaggle.com/learn/intro-to-machine-learning
Learn Intro to Machine Learning Tutorials
Learn the core ideas in machine learning, and build your first models.
www.kaggle.com
반응형'Python' 카테고리의 다른 글
[Python/ATL] Intro to machine learning(2탄-모델이 만들어지는 과정) (0) 2022.05.29 [Python/ATL] 특이하지만 알면 편한 List Comprehension (0) 2022.03.27