Pandas의 OLS 회귀
OLS 회귀 또는 Ordinary Least Squares
회귀는 본질적으로 선형 회귀 방정식의 계수 값을 추정하는 방법입니다. 이 방법은 데이터의 실제 값과 예측 값 사이의 제곱 차이의 합을 줄입니다.
이 기사에서는 Python의 Pandas 데이터 프레임을 사용하여 OLS 회귀 기술을 적용하는 방법을 살펴봅니다.
팬더 데이터 프레임
Python의 Pandas 라이브러리는 데이터를 조작하고 분석하기 위한 다양한 도구와 기술을 제공합니다. 데이터 프레임은 그러한 도구 중 하나입니다.
Pandas의 데이터 프레임은 기본적으로 해당 레이블이 있는 2차원 데이터 구조입니다. 테이블 형식으로 데이터를 저장하는 구조입니다.
DataFrame
에서 OLS 회귀 기술을 수행하려면 먼저 DataFrame
테스트를 생성해야 합니다. 이를 수행하는 방법은 실제로 매우 간단합니다.
먼저 모든 필수 라이브러리 설치를 다룹니다. 이 경우에는 Pandas와 statsmodels
입니다.
pip install pandas
pip install statsmodels
선택한 터미널에서 위의 명령을 실행하면 Pandas 및 statsmodels
모듈이 아직 설치되지 않은 경우 설치됩니다.
그것은 전제 조건 전면 설치에 관한 거의 모든 것입니다. 이제 데이터 프레임 생성을 시작할 수 있습니다.
다음 데이터 프레임에는 다음이 포함됩니다.
- 학생들의 이름.
- 그들이 속한 국가.
- 100점 만점에 3과목 성적.
예제 코드:
import pandas as pd
data = {
"Student_Name": ["Anil", "Suharwardy", "Fatina", "John", "Karen"],
"Country": ["India", "India", "Pakistan", "America", "America"],
"Biology": [68, 73, 87, 58, 78],
"Physics": [83, 53, 93, 87, 78],
"Chemistry": [78, 98, 89, 73, 87],
}
data_frame = pd.DataFrame(data=data)
print(data_frame)
출력:
전문적이고 정확한 OLS 회귀 결과를 위해 8개 이상의 값을 가진 데이터를 사용해야 한다는 점에 유의하는 것이 중요합니다. 따라하기 쉽도록 이 문서의 목록을 줄였습니다.
Pandas DataFrame에서 OLS 회귀 실행
이제 데이터 프레임이 있으므로 따라야 할 접근 방식을 이해하겠습니다. OLS 회귀 기술 및 방법을 사용하여 물리 및 화학 점수를 사용하여 생물학 점수 결과를 예측합니다.
이 기술의 statsmodels
모듈을 사용하여 정의된 데이터 프레임에서 OLS 작업을 수행합니다. 아래 코드를 보고 이를 달성하는 방법을 관찰하십시오.
import pandas as pd
import statsmodels.formula.api as sm
data = {
"Student_Name": ["Anil", "Suharwardy", "Fatina", "John", "Karen"],
"Country": ["India", "India", "Pakistan", "America", "America"],
"Biology": [68, 73, 87, 58, 78],
"Physics": [83, 53, 93, 87, 78],
"Chemistry": [78, 98, 89, 73, 87],
}
data_frame = pd.DataFrame(data=data)
response = sm.ols(formula="Biology~Physics+Chemistry", data=data_frame).fit()
print(response.summary())
출력:
관찰한 바와 같이 생물학 점수를 예측하기 위한 공식을 도출하여 ols()
메서드에 입력하고 나중에 결과 요약을 인쇄합니다.
이것이 statsmodels
및 Pandas 라이브러리를 사용하여 Pandas 데이터 프레임에서 간단한 OLS 회귀 작업을 수행하는 방법입니다. 즐겁게 읽으셨기를 바랍니다!
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedIn