선형 회귀
학습 목표
- 선형 회귀의 구현 과정에서 소유권
- 응용 선형 회귀 또는 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 정기적으로 관찰?
- 큰 정규화 강도, 작은 가중 인자
- 작은 강도를 정규화, 클수록 가중 계수 것
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)