파이썬 튜토리얼

파이썬 홈 파이썬 소개 파이썬 시작하기 파이썬 구문 파이썬 주석 파이썬 변수 파이썬 데이터 유형 파이썬 숫자 파이썬 캐스팅 파이썬 문자열 파이썬 부울 파이썬 연산자 파이썬 목록 파이썬 튜플 파이썬 세트 파이썬 사전 파이썬 If...Else 파이썬 while 루프 Python For 루프 파이썬 함수 파이썬 람다 파이썬 배열 파이썬 클래스/객체 파이썬 상속 파이썬 반복자 파이썬 범위 파이썬 모듈 파이썬 날짜 파이썬 수학 파이썬 JSON 파이썬 정규식 파이썬 PIP 파이썬 시도...제외 파이썬 사용자 입력 파이썬 문자열 포맷

파일 처리

파이썬 파일 처리 파이썬 읽기 파일 Python 파일 작성/작성 파이썬 파일 삭제

파이썬 모듈

넘파이 튜토리얼 팬더 연습 사이피 튜토리얼

파이썬 Matplotlib

Matplotlib 소개 Matplotlib 시작하기 Matplotlib 파이플로트 Matplotlib 플로팅 Matplotlib 마커 Matplotlib 라인 Matplotlib 레이블 Matplotlib 그리드 Matplotlib 서브플롯 Matplotlib 분산 Matplotlib 바 Matplotlib 히스토그램 Matplotlib 파이 차트

기계 학습

시작하기 평균 중앙값 모드 표준 편차 백분위수 데이터 배포 정규 데이터 분포 산포도 선형 회귀 다항식 회귀 다중 회귀 규모 훈련/시험 의사결정나무

파이썬 MySQL

MySQL 시작하기 MySQL 데이터베이스 생성 MySQL 테이블 생성 MySQL 삽입 MySQL 선택 MySQL 어디 MySQL 주문 기준 MySQL 삭제 MySQL 삭제 테이블 MySQL 업데이트 MySQL 제한 MySQL 조인

파이썬 몽고DB

몽고DB 시작하기 MongoDB 데이터베이스 생성 MongoDB 컬렉션 생성 몽고DB 삽입 몽고DB 찾기 몽고DB 쿼리 몽고DB 정렬 몽고DB 삭제 MongoDB 드롭 컬렉션 몽고DB 업데이트 몽고DB 제한

파이썬 참조

파이썬 개요 파이썬 내장 함수 파이썬 문자열 메서드 파이썬 목록 메서드 파이썬 사전 메서드 파이썬 튜플 메서드 파이썬 세트 메소드 파이썬 파일 메서드 파이썬 키워드 파이썬 예외 파이썬 용어집

모듈 참조

랜덤 모듈 요청 모듈 통계 모듈 수학 모듈 cMath 모듈

파이썬 사용법

목록 중복 제거 문자열 반전 두 개의 숫자 더하기

파이썬 예제

파이썬 예제 파이썬 컴파일러 파이썬 연습 파이썬 퀴즈 파이썬 인증서

기계 학습 - 다중 회귀


다중 회귀

다중 회귀는 선형 회귀 와 비슷하지만 둘 이상의 독립 값을 사용하므로 둘 이상의 변수를 기반으로 값을 예측하려고 합니다.

아래 데이터 세트를 살펴보면 자동차에 대한 몇 가지 정보가 포함되어 있습니다.

모델 용량 무게 이산화탄소
도요타 아이고 1000 790 99
미쓰비시 스페이스 스타 1200 1160 95
스코다 시티고 1000 929 95
명령 500 900 865 90
미니 쿠퍼 1500 1140 105
폭스바겐 위로! 1000 929 105
스코다 파비아 1400 1109 90
메르세데스 A급 1500 1365 92
포드 축제 1500 1112 98
아우디 A1 1600 1150 99
현대 I20 1100 980 99
스즈키 빠른 1300 990 101
포드 축제 1000 1112 99
혼다 시민 1600 1252 94
현대 I30 1600 1326 97
오펠 아스트라 1600 1330 97
BMW 1 1600 1365 99
마쓰다 2200 1280 104
스코다 빠른 1600 1119 104
포드 집중하다 2000년 1328 105
포드 몬데오 1600 1584 94
오펠 휘장 2000년 1428 99
메르세데스 C급 2100 1365 99
스코다 옥타비아 1600 1415 99
볼보 S60 2000년 1415 99
메르세데스 CLA 1500 1465 102
아우디 A4 2000년 1490 104
아우디 A6 2000년 1725년 114
볼보 V70 1600 1523 109
BMW 5 2000년 1705년 114
메르세데스 E클래스 2100 1605 115
볼보 XC70 2000년 1746 117
포드 비맥스 1600 1235 104
BMW 2 1600 1390 108
오펠 자피라 1600 1405 109
메르세데스 SLK 2500 1395년 120

엔진 크기를 기반으로 자동차의 CO2 배출량을 예측할 수 있지만 다중 회귀를 사용하면 자동차 무게와 같은 더 많은 변수를 입력하여 예측을 더 정확하게 할 수 있습니다.


어떻게 작동합니까?

파이썬에는 우리를 위해 일할 모듈이 있습니다. Pandas 모듈을 가져와 시작합니다.

import pandas

Pandas Tutorial 에서 Pandas 모듈에 대해 알아보세요 .

Pandas 모듈을 사용하면 csv 파일을 읽고 DataFrame 개체를 반환할 수 있습니다.

파일은 테스트 목적으로만 사용되며 여기에서 다운로드할 수 있습니다. cars.csv

df = pandas.read_csv("cars.csv")

그런 다음 독립 값 목록을 만들고 이 변수를 호출합니다 X.

라는 변수에 종속 값을 넣습니다 y.

X = df[['Weight', 'Volume']]
y = df['CO2']

팁: 독립 값 목록의 이름은 대문자 X로, 종속 값 목록의 이름은 소문자 y로 지정하는 것이 일반적입니다.

sklearn 모듈의 몇 가지 메서드를 사용할 것이므로 해당 모듈도 가져와야 합니다.

from sklearn import linear_model

sklearn 모듈에서 이 LinearRegression()메서드를 사용하여 선형 회귀 개체를 만듭니다.

이 개체에는 fit()독립 및 종속 값을 매개 변수로 사용하고 관계를 설명하는 데이터로 회귀 개체를 채우는 메서드가 있습니다.

regr = linear_model.LinearRegression()
regr.fit(X, y)

이제 자동차의 무게와 부피를 기반으로 CO2 값을 예측할 준비가 된 회귀 개체가 있습니다.

#predict the CO2 emission of a car where the weight is 2300kg, and the volume is 1300cm3:
predictedCO2 = regr.predict([[2300, 1300]])

예시

실행 중인 전체 예를 참조하세요.

import pandas
from sklearn import linear_model

df = pandas.read_csv("cars.csv")

X = df[['Weight', 'Volume']]
y = df['CO2']

regr = linear_model.LinearRegression()
regr.fit(X, y)

#predict the CO2 emission of a car where the weight is 2300kg, and the volume is 1300cm3:
predictedCO2 = regr.predict([[2300, 1300]])

print(predictedCO2)

결과:

[107.2087328]

우리는 1.3리터 엔진과 2300kg의 무게를 가진 자동차가 주행하는 1km당 약 107g의 CO2를 방출할 것이라고 예측했습니다.



계수

계수는 알려지지 않은 변수와의 관계를 설명하는 요소입니다.

예: x변수인 경우 다음 2xx두 배입니다. x는 미지의 변수이고 숫자 2는 계수입니다.

이 경우 CO2에 대한 무게 계수 값과 CO2에 대한 부피를 요청할 수 있습니다. 우리가 얻는 대답은 독립 값 중 하나를 늘리거나 줄이면 어떻게 되는지 알려줍니다.

예시

회귀 객체의 계수 값을 인쇄합니다.

import pandas
from sklearn import linear_model

df = pandas.read_csv("cars.csv")

X = df[['Weight', 'Volume']]
y = df['CO2']

regr = linear_model.LinearRegression()
regr.fit(X, y)

print(regr.coef_)

결과:

[0.00755095 0.00780526]

결과 설명

결과 배열은 무게와 부피의 계수 값을 나타냅니다.

무게: 0.00755095
부피: 0.00780526

이 값은 무게가 1kg 증가하면 CO2 배출량이 0.00755095g 증가한다는 것을 알려줍니다.

그리고 엔진 크기(볼륨)가 1cm 3 증가하면 CO2 배출량은 0.00780526g 증가합니다.

나는 그것이 정당한 추측이라고 생각하지만 그것을 테스트해보자!

1300cm 3 엔진이 장착 된 자동차의 무게가 2300kg 이면 CO2 배출량은 약 107g이 될 것이라고 이미 예측했습니다.

체중을 1000kg으로 늘리면?

예시

이전 예제를 복사하되 가중치를 2300에서 3300으로 변경합니다.

import pandas
from sklearn import linear_model

df = pandas.read_csv("cars.csv")

X = df[['Weight', 'Volume']]
y = df['CO2']

regr = linear_model.LinearRegression()
regr.fit(X, y)

predictedCO2 = regr.predict([[3300, 1300]])

print(predictedCO2)

결과:

[114.75968007]

우리는 1.3리터 엔진과 3300kg의 무게를 가진 자동차가 주행하는 1km당 약 115g의 CO2를 방출할 것으로 예측했습니다.

이는 0.00755095의 계수가 정확함을 보여줍니다.

107.2087328 + (1000 * 0.00755095) = 114.75968