我已经运行了一个KNN模型。现在我想绘制残差与预测值的图。每当我查看不同网站上的示例时,它们都显示我需要先运行一个线性回归模型。但我无法理解如何操作。有人能帮帮我吗?先谢谢了。这里是我的模型-
train, validate, test = np.split(df.sample(frac=1), [int(.6*len(df)), int(.8*len(df))])x_train = train.iloc[:,[2,5]].valuesy_train = train.iloc[:,4].valuesx_validate = validate.iloc[:,[2,5]].valuesy_validate = validate.iloc[:,4].valuesx_test = test.iloc[:,[2,5]].valuesy_test = test.iloc[:,4].valuesclf=neighbors.KNeighborsRegressor(n_neighbors = 6)clf.fit(x_train, y_train)y_pred = clf.predict(x_validate)
回答:
残差仅仅是预测值与实际值之间的差异。因此,它的计算方式为实际值-预测值。在你的情况下,残差计算公式为 residuals = y_test-y_pred。现在要绘制图表,只需使用以下代码: