【机器学习】回归的特征工程和评价方法

from sklearn.datasets import load_boston
from sklearn.linear_model import SGDRegressor,ElasticNet,Lasso
from sklearn.model_selection import train_test_split,GridSearchCV
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import r2_score,mean_squared_error,mean_absolute_error

import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
boston = load_boston()
features = boston.data
labels   = boston.target
sns.boxplot(data=features)

在这里插入图片描述

sns.pairplot(data=pd.DataFrame(features))
sns.distplot(labels)

对数据进行无量纲化处理

std_fea=StandardScaler()
std_features=std_fea.fit_transform(features)
std_lab=StandardScaler()
std_labels=std_lab.fit_transform(labels.reshape(-1,1))
x_train,x_test,y_train,y_test=train_test_split(std_features,std_labels,test_size=.3)
el = ElasticNet(alpha=1.0, l1_ratio=0.5, fit_intercept=False).fit(x_train,y_train)
y_pred=el.predict(x_train)
#决定系数  拟合优度
r2_score(y_train,y_pred)

sgd=SGDRegressor(fit_intercept=False).fit(x_train,y_train)
sgd_pred=sgd.predict(x_train)
r2_score(y_train,sgd_pred)

发布了5 篇原创文章 · 获赞 0 · 访问量 116

猜你喜欢

转载自blog.csdn.net/weixin_44727383/article/details/104525656