Scikit-learn을 사용한 선형 회귀(1부)
What is Scikit-learn?
Scikit-learn은 기계 학습을 위한 Python 프레임워크입니다. 여기에서 배우게 될 지원 벡터 머신, 랜덤 포레스트 및 k-이웃과 같은 다양한 알고리즘을 제공합니다.
What is Linear Regression?
변수 간의 관계를 측정하는 통계적 방법입니다. 선형 회귀를 사용하면 미래를 예측할 수 있습니다.
선형 회귀에는 두 가지 유형이 있습니다.
다중 선형 회귀는 단순 선형 회귀의 확장입니다. 두 개 이상의 다른 변수의 값을 기반으로 변수의 값을 예측하고자 할 때 사용합니다.
지금은 충분한 정보입니다. 코딩을 시작하겠습니다.
이 첫 번째 기사는 단순 선형 회귀에 대한 것입니다. 두 번째 부분은 다중 선형 회귀에 대한 것입니다.
pip
를 사용하여 다음 라이브러리를 설치해야 합니다.pip install pandas
pip install numpy
pip install sklearn
here을 클릭하여 사용할 데이터 세트를 설치합니다. 그런 다음 그 안에 있는
Salary_Data.csv
파일을 추출합니다.다음과 같은
.csv
파일이 표시되어야 합니다. YearsExperience Salary
0 1.1 39343.0
1 1.3 46205.0
2 1.5 37731.0
3 2.0 43525.0
4 2.2 39891.0
데이터 설명:
보시다시피
YearsExperience
라는 열이 있습니다. 이것이 기능입니다. ML에서 특징은 관찰되는 현상의 개별 측정 가능한 속성 또는 특성입니다.또한
Salary
라는 열이 있습니다. 라벨입니다. ML에서 레이블은 우리가 예측하는 것입니다. 단순 선형 회귀의 y
변수입니다.코드 편집기를 열고
linear_regression.py
라는 새 Python 파일을 만들거나 Jupyter 노트북을 열 수 있습니다.필요한 라이브러리 가져오기
import pandas as pd
import numpy as np
from sklearn.linear_model import LinearRegression
as
키워드를 사용하여 가져온 모듈에 별칭을 지정하여 코드를 더 짧게 만듭니다.데이터세트 로드 및 보기
df = pd.read_csv('Salary_Data.csv')
print(df.head())
산출:
YearsExperience Salary
0 1.1 39343.0
1 1.3 46205.0
2 1.5 37731.0
3 2.0 43525.0
4 2.2 39891.0
특징 추출
x = df['YearsExperience']
x = x.values.reshape(-1, 1)
y = df['Salary']
회귀 모델 만들기
model = LinearRegression()
model.fit(x,y)
print(model.score(x,y))
모델이 얼마나 정확한지 확인하기 위해 마지막 줄
print(model.score(x,y))
이 완료되었다는 것만 알아두세요.아래는 위의
print()
문의 결과입니다. .score()
함수는 모델의 정확도를 얻는 데 사용됩니다.산출
0.9569566641435086
1
에 가까울수록 정확합니다.모델로 예측하기
print(model.predict([[3]]))
print(model.predict([[4]]))
print(model.predict([[5]]))
산출
[54142.08716303]
[63592.04948449]
[73042.01180594]
그것은 얼마나 간단합니다. 당신이 지금 한 것은 수년간의 경험으로 한 사람의 급여를 예측한 것입니다.
Kaggle을 방문하여 선형 회귀를 수행할 수 있는 더 많은 데이터 세트를 찾을 수 있습니다.
언제든지 질문하세요.
행운을 빕니다 👍
Reference
이 문제에 관하여(Scikit-learn을 사용한 선형 회귀(1부)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/mrcodeslinger/linear-regression-with-scikit-learn-part-1-2ep9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)