问题描述
我正在尝试建立回归模型,以从5月2日至10月2日的数据集中预测黄金价格。
首先,我列出了112天后做了一个X:
x_data = np.arange(1,113,1)
x_df = pd.DataFrame(data=x_data,columns = ['X'])
然后我使用来自
第二个是5月2日至10月2日的黄金价格:https://drive.google.com/file/d/1tFDgfIJof03vA0VGiqgRsDBZsOdmec2g/view?usp=sharing
价格为“ terakhir”的美元。
将terakhir的价格转换为USD之后,我使用
进行连接emas_df = pd.read_csv(r"C:\Users\Tila\Documents\BOT\dataemas.csv")
for index in range(0,len(emas_df["terakhir"])):
emas_df["terakhir"][index] = emas_df["terakhir"][index].replace(",","")
my_data = pd.concat([x_df,emas_df],axis=1)
my_data["terakhir"] = pd.to_numeric(my_data["terakhir"])
terakhir = my_data["terakhir"]
y_true = (terakhir.values).T
然后我使用X绘制了X和黄金价格“ terakhir”之间的散点图
my_data.sample(n=50).plot(kind='scatter',x='X',y='terakhir')
batch_size = 2
m = tf.Variable(0.45453853)
b = tf.Variable(0.4537617)
xph = tf.placeholder(tf.float32,[batch_size])
yph = tf.placeholder(tf.float32,[batch_size])
y_model = m*xph + b
error = tf.reduce_sum(tf.square(yph-y_model))
optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.0001)
train = optimizer.minimize(error)
init = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)
batches = 50
for i in range(batches):
rand_ind = np.random.randint(len(x_data),size=batch_size)
Feed = {xph:x_data[rand_ind],yph:y_true[rand_ind]}
sess.run(train,Feed_dict = Feed)
model_m,model_b = sess.run([m,b])
然后,我将回归与实际的分散数据一起绘制
y_hat = x_data*model_m + model_b
my_data.sample(n=50).plot(kind='scatter',y='terakhir')
plt.plot(x_data,y_hat,'r')
但是我总是得到不正确的回归预测,如图所示
关于如何使回归精确的想法?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)