【问题标题】:How do I do multivariate regression analysis in Python?如何在 Python 中进行多元回归分析?
【发布时间】:2018-11-28 03:58:01
【问题描述】:

我使用以下假设运行以下简单代码:

A值和B值相似,通过组合几个变量使B值等于A值。

所以我的假设是这样的

A = W1(weight)*B + W2(weight)C(anotehr varables)+...

这是我的尝试代码

hypothesis = tf.sigmoid(tf.matmul(X1, W1)+tf.matmul(X2, W2)+tf.matmul(X3, W3)+tf.matmul(X4, W4) + tf.matmul(X5, W5) + b1)


cost = -tf.reduce_mean(Y * tf.log(hypothesis) + (1 - Y) * tf.log(1 - hypothesis))
train = tf.train.GradientDescentOptimizer(learning_rate=0.000000000000000001).minimize(cost)

predicted = tf.cast(hypothesis > 0.5, dtype=tf.float32)
accuracy = tf.reduce_mean(tf.cast(tf.equal(predicted, Y), dtype=tf.float32))

with tf.Session() as sess:
   # Initialize TensorFlow variables
   sess.run(tf.global_variables_initializer())
   for step in range(5000):
       sess.run(y, feed_dict={X1:ct, X2: temperature, X3:humidity, X4: windspeed, X5:tideheight, Y:sst})

但是,当我验证这段代码的值时,我想出了一个根本不合适的值。

当我查看数据集时,它似乎不是线性的。

如果你能给我一个关于这种情况的例子,我将不胜感激。

我的数据集:

 A         B             C              D         E       F
25.6    27.29999    24.4752741667   71.5801495  6.468   97.1
25.6    27.5    24.3449186667   71.1314193333   5.39    288.3
25.4    27.60001    24.4019961667   71.8209758333   6.076   103.7
25.5    27.5    24.3473485  71.3570816667   6.762   95.3
25.5    27.5    24.3420308333   71.9577738333   5.978   103.7
25.6    27.29999    24.464413   71.993804   6.37    105.8
25.6    27.29999    24.3999401667   71.5558695  6.664   100.2
                           ...

【问题讨论】:

  • 在我们进入解决方案之前,我想要两件事,1. 你的矩阵。请张贴您的 DataFrame。 2.您确定要使用神经网络回归吗?
  • 如果我使用神经网络回归,那么我可以检查权重值吗?如果可以,那也很好。
  • 您正在使用神经网络。我正在考虑切换到不同的库。

标签: python tensorflow regression


【解决方案1】:

我不确定神经网络是否是解决此类问题的正确选择。我建议用线性回归解决它。我宁愿开始熟悉 scikit-learn 库 及其用于监督学习的算法。 http://scikit-learn.org/stable/supervised_learning.html#supervised-learningpandas https://pandas.pydata.org/ 便于数据预处理。 在您对这些库稍微熟悉后,请尝试遵循以下策略:

  1. 做数据集预处理(即去掉nans,没必要 列,扩展您的功能)
  2. 将数据集拆分为训练 和测试零件。
  3. 尝试运行多个线性模型(即 LinearRegression, Ridge),尝试改进验证方案 (KFold、StratifiedKFold)
  4. 选择适当的指标以验证您的模型

Scikit 学习文档应该包含所有 必要的信息。祝你好运

【讨论】:

    猜你喜欢
    • 2018-04-09
    • 2017-03-08
    • 2019-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-28
    • 2019-07-25
    • 1970-01-01
    相关资源
    最近更新 更多