간단하고 원유 이해와 선형 회귀 (X) 학습 시스템의 구현 : 개선 된 선형 회귀 - 능선 회귀를, 보스턴 가격 예측

선형 회귀

학습 목표

  • 선형 회귀의 구현 과정에서 소유권
  • 응용 선형 회귀 또는 SGDRegressor 회귀 예측을 달성
  • 우리는 평가 기준을 알고 공식 회귀 알고리즘
  • 단순성과 원인과 해결책을 알고 Overfitting
  • 우리는 원칙 능선 회귀 및 선형 회귀 차이를 알고
  • 응용 릿지 회귀 예측을 달성
  • 응용 프로그램 저장 및로드 모델을 달성 JOBLIB

개선 2.10 선형 회귀 - 능선 회귀

그림 삽입 설명 여기

1 API

  • sklearn.linear_model.Ridge (알파 = 1.0, fit_intercept = 사실, 해결사 = "자동", 정상화 = 거짓)
    • 그것은 선형 회귀의 L2 정규화를 가지고
    • 알파 : 정규화 노력라고도 λ
      • λ 값 : 0 ~ 11 ~ 10
    • 해석 : 최적화 방법은 데이터를 자동으로 선택합니다
      • 새그 상기 데이터 세트는 상기 비교적 큰 확률 구배 하강 최적화를 선택하면
    • 표준화 : 데이터는 정규화되어 있는지
      • 정상화 = 거짓 : preprocessing.StandardScaler 표준화 된 데이터는 적합하기 전에 호출 할 수 있습니다
    • Ridge.coef_ : 회귀 무게
    • Ridge.intercept_ : 반환 바이어스

리지 방법 ( "squared_loss"처벌 = 'L2', 손실 =) SGDRegressor에 해당하지만, SGDRegressor 공통 확률 그라데이션 하강 학습을 달성, 리지 권장 (SAG을 실현)

  • sklearn.linear_model.RidgeCV (_BaseRidgeCV, RegressorMixin)
    • L2의 정규화가 선형 회귀는 교차 검증이 수행 될 수있다 한
    • coef_ : 회귀 계수
class _BaseRidgeCV(LinearModel):
    def __init__(self, alphas=(0.1, 1.0, 10.0),
                 fit_intercept=True, normalize=False,scoring=None,
                 cv=None, gcv_mode=None,
                 store_cv_values=False):

결과에 미치는 영향의 정도의 변화 2 정기적으로 관찰?

[이미지 소스 스테이션이 보안 체인 메커니즘을 가질 수 있고, 체인 실패 덤프 그것 (직접 업로드 (IMG-37sELFMs-1,583,245,498,181)을 눌러 사진을 저장하는 것을 권장 ../ 이미지 / % E6 % AD % A3 % E5 % 88 % 99 % E5 % 8C % 96 % E5 % 8A % 9B % E5 % BA %의 A6.png)]

  • 큰 정규화 강도, 작은 가중 인자
  • 작은 강도를 정규화, 클수록 가중 계수 것

3 개 보스턴 가격은 예상

def linear_model3():
    """
    线性回归:岭回归
    :return:
    """
    # 1.获取数据
    data = load_boston()

    # 2.数据集划分
    x_train, x_test, y_train, y_test = train_test_split(data.data, data.target, random_state=22)

    # 3.特征工程-标准化
    transfer = StandardScaler()
    x_train = transfer.fit_transform(x_train)
    x_test = transfer.fit_transform(x_test)

    # 4.机器学习-线性回归(岭回归)
    estimator = Ridge(alpha=1)
    # estimator = RidgeCV(alphas=(0.1, 1, 10))
    estimator.fit(x_train, y_train)

    # 5.模型评估
    # 5.1 获取系数等值
    y_predict = estimator.predict(x_test)
    print("预测值为:\n", y_predict)
    print("模型中的系数为:\n", estimator.coef_)
    print("模型中的偏置为:\n", estimator.intercept_)

    # 5.2 评价
    # 均方误差
    error = mean_squared_error(y_test, y_predict)
    print("误差为:\n", error)
게시 된 596 개 원래 기사 · 원 찬양 790 ·은 10 만 + 조회수

추천

출처blog.csdn.net/qq_35456045/article/details/104643043