import numpy as np
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
%matplotlib inline
%config InlineBackend.figure_format = 'svg'
import warnings
from sklearn.linear_model import LinearRegression, LassoCV, RidgeCV, ElasticNetCV
from sklearn.preprocessing import PolynomialFeatures#数据预处理,标准化
from sklearn.pipeline import Pipeline
from sklearn.linear_model.coordinate_descent import ConvergenceWarning
## 设置字符集,防止中文乱码
mpl.rcParams['font.sans-serif']=[u'simHei']
mpl.rcParams['axes.unicode_minus']=False
## 拦截异常
warnings.filterwarnings(action = 'ignore', category=ConvergenceWarning)
# 创建模拟数据
np.random.seed(100)#利用随机数种子,后面的随机数组都是按一定的顺序生成的,每次生成的随机数相同。
np.set_printoptions(linewidth = 1000,suppress = True)#显示方式设置,每行的字符数用于插入换行符,是否使用科学计数法
N =10
x= np.linspace(0,6,N)+np.random.randn(N)#linspace在指定的间隔内返回均匀间隔的数字+randn函数返回一个或一组样本,具有标准正态分布
y= 1.8*x**3+x**2-14*x-7+np.random.randn(N)
# 将其设置为矩阵
x.shape = -1,1 #-1的