-
핸즈온 머신러닝 2장 정리중컴퓨터 관련 2021. 1. 16. 04:01728x90
캘리포니아 주택중간가격은
레이블된 훈련샘플(답이 있는 문제)이므로 지도학습
예측할 문제가 여러개이므로 다중회귀
구역마다 하나의 값이므로 단변량회귀
평균제곱근 오차 RMSE
평균 절대 오차 MAE
github.com/rickiepark/handson-ml2
에서 코드예제를 따라함
데이터는 CSV파일
import os import tarfile import urllib.request DOWNLOAD_ROOT = "https://raw.githubusercontent.com/rickiepark/handson-ml2/master/" HOUSING_PATH = os.path.join("datasets", "housing") HOUSING_URL = DOWNLOAD_ROOT + "datasets/housing/housing.tgz" def fetch_housing_data(housing_url=HOUSING_URL, housing_path=HOUSING_PATH): if not os.path.isdir(housing_path): os.makedirs(housing_path) tgz_path = os.path.join(housing_path, "housing.tgz") urllib.request.urlretrieve(housing_url, tgz_path) housing_tgz = tarfile.open(tgz_path) housing_tgz.extractall(path=housing_path) housing_tgz.close()
데이터를 추출하는 함수
fetch_housing_data()를 호출하면
datasets/housing 디렉터리에 housing.tgz파일 다운받고 압축푼다
판다스를 사용해 데이터를 읽어들이는 함수
import pandas as pd def load_housing_data(housing_path=HOUSING_PATH): csv_path = os.path.join(housing_path, "housing.csv") return pd.read_csv(csv_path)
head() 는 처음 다섯 행
housing = load_housing_data() housing.head()
longitude latitude housing_median_age total_rooms total_bedrooms population households median_income median_house_value ocean_proximity 0 -122.23 37.88 41.0 880.0 129.0 322.0 126.0 8.3252 452600.0 NEAR BAY 1 -122.22 37.86 21.0 7099.0 1106.0 2401.0 1138.0 8.3014 358500.0 NEAR BAY 2 -122.24 37.85 52.0 1467.0 190.0 496.0 177.0 7.2574 352100.0 NEAR BAY 3 -122.25 37.85 52.0 1274.0 235.0 558.0 219.0 5.6431 341300.0 NEAR BAY 4 -122.25 37.85 52.0 1627.0 280.0 565.0 259.0 3.8462 342200.0 NEAR BAY
각 행은 하나의 구역 위도, 경도, 중간가격, 방갯수 등등 10개
info() 는 데이터의 간단한 설명, 전체 행 수 데이터타입, null아닌 갯수
housing.info()
<class 'pandas.core.frame.DataFrame'> RangeIndex: 20640 entries, 0 to 20639 Data columns (total 10 columns): longitude 20640 non-null float64 latitude 20640 non-null float64 housing_median_age 20640 non-null float64 total_rooms 20640 non-null float64 total_bedrooms 20433 non-null float64 population 20640 non-null float64 households 20640 non-null float64 median_income 20640 non-null float64 median_house_value 20640 non-null float64 ocean_proximity 20640 non-null object dtypes: float64(9), object(1) memory usage: 1.6+ MB
분석: 20640개의 샘플이고 total_bedrooms만 20433개. 207은 null
ocean_proximity는 숫자아니고 텍스트형
value_counts() 로 각 카테고리와 얼마나 많은게 있는지 확인
housing["ocean_proximity"].value_counts()
<1H OCEAN 9136 INLAND 6551 NEAR OCEAN 2658 NEAR BAY 2290 ISLAND 5 Name: ocean_proximity, dtype: int64
ocean_proximity가 각각 5개의 부분으로 되어있음 각각 몇갠지 보여주는거임
728x90'컴퓨터 관련' 카테고리의 다른 글
시작 프로그램 설정 방법 (0) 2022.10.10 Input does not contain a definition 유니티 오류 (0) 2021.08.07 자료형: 숫자형 숫자연산 문자열 (0) 2021.03.11 파이썬 python 숫자형 숫자연산 (0) 2021.02.08 jupyter 주피터 실행방법 (0) 2021.01.11