机器学习,拟合。代码样例:
import numpy as np from sklearn.linear_model import LinearRegression import matplotlib.pyplot as plt from sklearn.metrics import mean_squared_error # 1、创建特征x,目标值y # np.random.seed(22)定义随机数种子 # 生成100个-3到3的随机数列表 # reshape(-1,1),将列表重置1列100行的二维列表(100,1) # hstack将重置后的特征x,再加多一列,这时最终的特征变成了2列 # y是目标值,也有100个 np.random.seed(22) x = np.random.uniform(-3,3,size=100) y = 0.5 * x ** 2 + x + 2 + np.random.normal(0,1,size=100) X = x.reshape(-1,1) X2 = np.hstack([X,X ** 2]) # 2、创建模型,正规方程。 model = LinearRegression() # 3、训练模型 model.fit(X2,y) # 4、模型预测 y_predict = model.predict(X2) # 5、模型评估 print(mean_squared_error(y_true=y,y_pred=y_predict)) # 6、输出拟合图 plt.scatter(x,y) plt.plot(np.sort(x),y_predict[np.argsort(x)]) plt.show()
拟合效果: