将Pandas数据框转换为数组并评估多元线性回归模型
machine-learning
numpy
pandas
python
4
0

我正在尝试评估多元线性回归模型。我有一个这样的数据集:

在此处输入图片说明

该数据集具有157行* 54列。

我需要根据文章预测ground_truth的值。我将在en_Amantadineen_Common之间添加我的多个线性模型7文章。

我有用于多元线性回归的代码:

from sklearn.linear_model import LinearRegression
X = [[6, 2], [8, 1], [10, 0], [14, 2], [18, 0]] // need to modify for my problem
y = [[7],[9],[13],[17.5], [18]] // need to modify
model = LinearRegression()
model.fit(X, y)

我的问题是,我无法从DataFrame中为Xy变量提取数据。在我的代码中X应该是:

X = [[4984, 94, 2837, 857, 356, 1678, 29901],
     [4428, 101, 4245, 906, 477, 2313, 34176],
      ....
     ]
y = [[3.135999], [2.53356] ....]

我无法将DataFrame转换为这种类型的结构。我怎样才能做到这一点 ?

任何帮助表示赞赏。

参考资料:
Stack Overflow
收藏
评论
共 1 个回答
高赞 时间 活跃

您可以直接在数据as_matrix对象上使用as_matrix方法将数据as_matrix转换为矩阵。您可能需要指定对X=df[['x1','x2','X3']].as_matrix()的列,其中不同的x是列名。

对于y变量,可以使用y = df['ground_truth'].values获取数组。

这是一些随机生成的数据的示例:

import numpy as np
#create a 5X5 dataframe
df = pd.DataFrame(np.random.random_integers(0, 100, (5, 5)), columns = ['X1','X2','X3','X4','y'])

df上调用as_matrix()返回numpy.ndarray对象

X = df[['X1','X2','X3','X4']].as_matrix()

调用values从熊猫series返回numpy.ndarray

y =df['y'].values

注意:您可能会收到一条警告:“ FutureWarning: Method .as_matrix will be removed in a future version. Use .values instead.

要修复它,请使用values代替as_matrix ,如下所示

X = df[['X1','X2','X3','X4']].values
收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号