Scikit-learn을 사용한 선형 회귀(1부)

3282 단어
먼저 마음속에 있는 질문부터 시작하겠습니다.

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을 방문하여 선형 회귀를 수행할 수 있는 더 많은 데이터 세트를 찾을 수 있습니다.

    언제든지 질문하세요.
    행운을 빕니다 👍

    좋은 웹페이지 즐겨찾기