我确实使用函数train_test_split()在训练和测试数据之间进行了划分,并得到了以下内容。
print(X_train)
+--------------------+
| fre loc |
+--------------------+
| 1.208531 0.010000 |
| 0.169742 0.010000 |
| 0.119691 0.010000 |
| 0.151515 0.010000 |
| 0.632653 0.010000 |
| 0.104000 1.125000 |
| 3.313433 1.076923 |
| 0.323899 0.010000 |
| 3.513011 1.100000 |
| 0.184971 0.010000 |
| 0.158470 0.010000 |
| 0.175258 0.010000 |
| 0.149038 0.010000 |
| 0.158879 0.010000 |
+--------------------+
print(X_test)
+--------------------+
| fre loc |
+--------------------+
| 1.208531 0.010000 |
| 0.169742 0.010000 |
| 0.119691 0.010000 |
| 0.151515 0.010000 |
| 0.632653 0.010000 |
| 0.104000 1.125000 |
| 3.313433 1.076923 |
+--------------------+
print(y_train)
+----------------+
| Critical Value |
+----------------+
| 1.208531 |
| 0.000000 |
| 0.000000 |
| 0.000000 |
| 0.632653 |
| 1.125000 |
| 4.390356 |
| 0.000000 |
| 4.613011 |
| 0.000000 |
| 0.000000 |
| 0.000000 |
| 0.000000 |
| 0.000000 |
+----------------+
print(y_test)
+----------------+
| Critical Value |
+----------------+
| 1.208531 |
| 0.000000 |
| 0.000000 |
| 0.000000 |
| 0.632653 |
| 1.125000 |
| 4.390356 |
+----------------+
然后我以以下方式执行了梯度提升回归,
est_knc= GradientBoostingRegressor()
est_knc.fit(X_train, y_train)
pred = est_knc.score(X_test, y_test)
print(pred)
得到输出,
0.8879530974429752
到这里都可以。现在,我想绘制该图,但是要理解使用上述数据绘制散点图必须传递哪些参数以及如何传递参数,这让我很困惑。我是可视化的新手。 :(
答案 0 :(得分:1)
尝试针对创建的不同数据集和获得的延迟结果进行散点图。然后,您当然会看到模式。
这是我用于创建散点图的代码段。如果您不熟悉可视化,希望对您有所帮助。 在这里,我从xdata.txt和ydata.txt这两个单独的文件中获取x和y的输入。它们应该是简单的文件,其中要绘制的数据用换行分隔。
ie-
xdata.txt file
1.208531
0.169742
0.119691
0.151515
0.632653
0.104000
3.313433
ydata.txt file
0.010000
0.010000
0.010000
0.010000
0.010000
1.125000
1.076923
但是您当然可以更改此设置并创建自己的numpy数组,以方便的方式获取要绘制的数据。
import numpy as np
import matplotlib.pyplot as plt
x = np.fromfile("xdata.txt",float,-1," ")
y = np.fromfile("ydata.txt",float,-1," ")
plt.scatter(x, y,alpha=0.5)
plt.show()
如果导入无效,则必须使用pip安装所需的软件包。