我正在尝试评估多元线性回归模型。我有一个这样的数据集:
该数据集具有157行* 54列。
我需要从文章中预测ground_truth的值。我将在 en_Amantadine 与 en_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中为 X 和 y 变量提取数据。在我的代码中X应该是:
X = [[4984, 94, 2837, 857, 356, 1678, 29901], [4428, 101, 4245, 906, 477, 2313, 34176], .... ] y = [[3.135999], [2.53356] ....]
我无法将DataFrame转换为这种类型的结构。我怎样才能做到这一点 ?
任何帮助表示赞赏。
您可以as_matrix直接在数据框对象上使用方法将数据框转换为矩阵。您可能需要指定感兴趣的列,X=df[['x1','x2','X3']].as_matrix()其中不同的x是列名。
as_matrix
X=df[['x1','x2','X3']].as_matrix()
对于y变量,您可以y = df['ground_truth'].values用来获取数组。
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'])
调用as_matrix()上df返回一个numpy.ndarray对象
as_matrix()
df
numpy.ndarray
X = df[['X1','X2','X3','X4']].as_matrix()
调用从熊猫values返回anumpy.ndarray``series
values
numpy.ndarray``series
y =df['y'].values
注意:您可能会收到一条警告:FutureWarning: Method .as_matrix will be removed in a future version. Use .values instead.
FutureWarning: Method .as_matrix will be removed in a future version. Use .values instead.
要修复它,请使用values而不是as_matrix如下所示
X = df[['X1','X2','X3','X4']].values