Python의 선형 회귀 구현: 완전한 안내서
게시 됨: 2019-11-18기계 학습을 공부하든 Python으로 통계를 공부하든 선형 회귀를 접하게 됩니다. 선형 회귀는 기계 학습 인증 과정의 중요한 부분 중 하나입니다.
그것은 무엇입니까? Python으로 선형 회귀를 어떻게 수행합니까?
이 기사에서 우리는 이러한 질문에 대한 답을 찾을 것입니다. 이 기사를 읽고 나면 다음 사항에 익숙해질 것입니다.
- 회귀 및 그것들은 무엇입니까
- 선형 회귀 란 무엇입니까
- 선형 회귀 모델을 훈련하는 방법
- 선형 회귀의 응용
시작하자.
목차
회귀란 무엇입니까?
회귀 분석은 종속 변수와 독립 변수 간의 관계를 추정하는 데 사용하는 특정 통계 프로세스를 나타냅니다.
금융 및 은행과 같은 여러 산업에서 인기가 있습니다. 회귀 분석을 사용하면 특정 환경에서 두 변수 간의 관계를 이해할 수 있습니다.

특정 지역의 주택 가격을 찾고 싶다고 가정합니다. 이를 위해 해당 지역의 도시, 거주자 수, 편의 시설 이용 가능 여부 및 기타 여러 사항을 관찰해야 합니다.
주택 가격이 의존하는 것들을 특징 이라고 합니다. 그리고 각 가정의 비용과 요인이 관련된 문제는 관찰입니다. 이 예에서는 위치, 편의 시설 및 기타 요소가 각 주택의 가격에 영향을 미친다고 가정합니다.
간단히 말해서 회귀 분석에서 특정 주제에 대해 몇 가지 관찰을 합니다. 관찰에는 몇 가지 특징과 몇 가지 가정이 있어 관계를 형성하기 시작합니다.
회귀 분석에는 두 가지 종류의 기능이 있습니다. 그들은:
- 종속 출력, 변수 또는 응답이라고 하는 종속 기능
- 독립 출력, 변수 또는 응답이라고 하는 독립 기능
일반적으로 회귀 문제에는 하나의 연속 종속 변수가 있습니다. 입력은 다양합니다.
출력은 y로, 입력은 x로 표시할 수 있습니다. 이에 대한 엄격하고 빠른 규칙은 없지만 이러한 출력 및 입력을 나타내기 위해 y 및 x를 사용하는 것이 일반적입니다.
독립 변수가 여러 개인 경우 x = (x1,…,xr)로 나타낼 수 있습니다. 여기서 r은 입력 수를 나타냅니다.
세계 최고의 대학에서 온라인으로 최고의 기계 학습 과정(석사, 대학원 대학원 프로그램, ML 및 AI 고급 인증 프로그램)을 받아 경력을 빠르게 추적하십시오.
선형 회귀란 무엇입니까?
선형 회귀는 가장 널리 사용되는 회귀 유형입니다. 종속 출력과 독립 출력 그룹 간의 관계를 모델링하는 통계적 방법입니다.
이 기사에서는 독립 출력을 '기능'이라고 하고 종속 출력을 '응답'이라고 합니다.
선형 회귀에 특성이 하나만 있는 경우 이를 일변량 선형 회귀라고 합니다. 마찬가지로 여러 기능이 있는 경우 다중 선형 회귀라고 합니다.
선형 회귀 분석의 가장 주목할만한 이점은 결과를 쉽게 해석할 수 있다는 것입니다. 선형 회귀 인터뷰 질문
가장 단순한 형태의 회귀입니다.
가설
y가 예측된 값이면 0은 편향 항이고 xn은 특성 값이며 다음 방정식으로 선형 회귀 모델을 나타냅니다.
Y = 0 + 1 x 1 + 2 x 2 +… + n x n
여기서 n은 모델 매개변수를 나타냅니다.
선형 회귀 파이썬 코드
선형 회귀 모델을 만들려면 처음에는 데이터 세트도 필요합니다. 선형 회귀에 Python 코드를 사용할 수 있는 방법은 여러 가지가 있습니다.
이와 관련하여 작업을 시작하기 전에 Python을 공부하고 Python 라이브러리에 익숙해지는 것이 좋습니다.
기본 선형 회귀 모델을 만드는 데 도움이 될 수 있습니다.
회귀 모델 훈련
모델에 필요한 매개변수를 찾아야 하므로 데이터에 가장 적합합니다. 가장 적합한 선(또는 회귀선)을 찾아야 합니다.

회귀선은 관측 수치와 예측 수치 간의 오차가 최소가 되는 선입니다. 이러한 오류의 또 다른 이름은 잔차입니다.
오류를 측정하려면 비용 함수를 정의해야 합니다.
J ( ) = 1 2m i= 1m (h( x i ) – y i ) 2
여기서 h(x)는 가설 함수를 나타내며 이전에 논의한 방정식으로 표시됩니다.
h(x) = 0 + 1 x 1 + 2 x 2 +… + 나는 x 나는
m은 데이터 세트의 총 예제 수를 나타냅니다.
이러한 방정식과 최적화 알고리즘을 사용하여 선형 회귀 모델을 훈련할 수 있습니다.
아래에서 논의한 Python 회귀 분석을 수행하는 다른 많은 방법이 있습니다.
Python 패키지로 선형 회귀 수행
광범위하고 기본적인 Python 패키지인 NumPy를 사용할 수 있습니다. 고성능 작업을 수행하는 데 사용됩니다. 오픈 소스이며 많은 수학적 루틴을 사용할 수 있습니다.
NumPy에 대한 자세한 내용은 NumPy 사용자 가이드를 확인하세요. NumPy를 기반으로 하는 인기 있는 Python 라이브러리인 scikit-learn에 대해서도 배워야 합니다. 기계 학습 및 이와 유사한 활동에 널리 사용됩니다.
선형 회귀 모델을 개발하고 구현하려면 statsmodels에 대해서도 배워야 합니다. 테스트를 수행하고 통계 모델을 추정하는 데 사용되는 또 다른 강력한 Python 패키지입니다.
선형 회귀의 응용 프로그램은 무엇입니까?
선형 회귀는 많은 산업 분야에서 사용됩니다. 다음은 선형 회귀의 몇 가지 응용 프로그램입니다.
1) 트렌드 이해
선형 회귀는 기업이 시장 동향을 이해하는 데 도움이 될 수 있습니다. 이렇게 하면 전략을 더 잘 계획하고 실수를 피할 수 있습니다. 회사 외에도 거래자 및 연구 기관도 이 기술을 사용하여 추세를 평가할 수 있습니다.
2) 가격 변동 분석
상품의 가격 변화는 농산물 사업의 이익에 상당한 영향을 미칠 수 있습니다. 선형 회귀는 가격 변화와 이에 기여하는 요인 간의 관계를 찾을 수 있기 때문에 이 작업을 수행하는 회사에도 도움이 될 수 있습니다.

3) 위험 평가
보험 회사와 투자자는 선형 회귀를 사용하여 이상 징후를 찾을 수 있습니다. 투자자는 취약한 투자를 찾아 그에 따라 전략을 계획하면서 위험을 줄일 수 있습니다.
결론
선형 회귀는 중요한 AI 알고리즘 중 하나이며 Python을 사용한 선형 회귀에 대한 이 가이드가 유용하기를 바랍니다. Python 회귀는 초보자에게 상당히 어려울 수 있습니다. 그렇기 때문에 먼저 Python 패키지와 알고리즘에 익숙해지는 것이 좋습니다.
머신 러닝에 대해 자세히 알아보려면 IIIT-B & upGrad의 기계 학습 및 AI 경영자 PG 프로그램을 확인하세요. 이 프로그램은 일하는 전문가를 위해 설계되었으며 450시간 이상의 엄격한 교육, 30개 이상의 사례 연구 및 과제, IIIT를 제공합니다. -B 동문 자격, 5개 이상의 실용적인 실습 캡스톤 프로젝트 및 최고의 기업과의 취업 지원.
이 두 가지만 알면 선형 회귀를 구현하는 데 큰 도움이 됩니다.
회귀는 언제 사용합니까?
문제에 여러 변수가 있는 경우 모든 변수 간의 관계를 이해하고 싶을 수 있습니다. 행렬을 사용하여 특정 변수 쌍 간의 잠재적인 관계를 찾을 수 있습니다. 상관 방법을 사용하여 모든 변수 쌍 간의 선형 관계를 측정할 수 있습니다. 그러나 이 방법은 여러 변수가 포함된 복잡한 관계를 찾고자 할 때 적합하지 않습니다. 이러한 경우 회귀는 여러 변수 간의 복잡한 연관성을 이해하는 더 효과적인 방법입니다. 회귀는 어떤 변수가 특정 반응에 영향을 미치고 특정 결과를 설명할 수 있는지 알 수 있도록 도와줍니다.
기계 학습에는 몇 가지 유형의 회귀가 사용됩니까?
회귀는 목표 변수와 하나 또는 여러 독립 예측 변수 간의 미래 결과를 예측할 수 있는 기술입니다. 회귀는 시계열 모델링, 예측 및 다양한 변수 간의 인과 관계 이해를 위한 기계 학습에서 매우 일반적으로 사용됩니다. 기계 학습에 사용되는 다양한 유형의 회귀는 선형 회귀, 로지스틱 회귀, 능선 회귀, 다항식 회귀 및 올가미 회귀입니다. 기계 학습에 사용되는 더 많은 유형의 회귀 분석 방법을 볼 수 있습니다. 그러나 이들은 다른 모든 방법 중에서 가장 광범위하게 사용되는 방법입니다.
파이썬을 사용하면 어떤 이점이 있습니까?
Python은 기계 학습에서 가장 일반적으로 사용되는 프로그래밍 언어 중 하나입니다. 몇 가지 장점이 있습니다. 첫째, Python의 구문은 간단합니다. 배우고 이해하기 쉽기 때문에 초보자와 노련한 프로그래머 모두에게 큰 인기를 얻고 있습니다. 다음으로, 오픈 소스이며 무료로 사용할 수 있으며 활발한 개발자 및 연구원으로 구성된 대규모 커뮤니티가 함께 제공됩니다. Python의 핵심에 내장된 광범위한 기능 라이브러리는 개발자에게 포괄적인 지원을 제공하므로 외부 또는 타사 라이브러리에 의존할 필요가 없습니다. 또한 Python은 C 및 C++와 같은 다른 프로그래밍 언어와 달리 매우 유연하고 시스템 독립적입니다.