Python 使用贪心特征选择拟合线性回归
Python Fitting Linear Regression using Greedy Feature Selection
我正在尝试使用贪心特征选择算法来拟合线性回归模型。具体一点,我有四组数据:
X_dev
、y_dev
、X_test
、y_test
,前两个是训练集的特征和标签,后两个是测试集的。矩阵的大小分别为(900, 126)
、(900, )
、(100, 126)
和(100, )
。
我说 "greedy feature selection" 的意思是,我首先使用 X_dev
集中的一个特征来拟合 126 个模型,选择最好的一个,然后 运行 个模型使用第一个其余 125 个模型中的每一个。继续选择,直到我在最初的 126 个特征中获得了 100 个表现最好的特征。
我面临的问题是关于 Python 中的实施。我的代码是先拟合一个特征:
lin_reg.fit(X_dev[:, 0].reshape(-1, 1), y_dev)
lin_pred = lin_reg.predict(X_test)
因为尺寸不匹配((100, 126)
和 (1, )
)我收到尺寸不匹配错误。
我应该如何解决这个问题?我正在尝试预测模型在使用单一功能时的表现。
谢谢。
对X_test
应用相同的转换
lin_reg.fit(X_dev[:, 0].reshape(-1, 1), y_dev)
lin_pred = lin_reg.predict(X_test[:, 0].reshape(-1, 1))
我也觉得没必要整形
lin_reg.fit(X_dev[:, 0], y_dev)
lin_pred = lin_reg.predict(X_test[:, 0])
应该也可以
我正在尝试使用贪心特征选择算法来拟合线性回归模型。具体一点,我有四组数据:
X_dev
、y_dev
、X_test
、y_test
,前两个是训练集的特征和标签,后两个是测试集的。矩阵的大小分别为(900, 126)
、(900, )
、(100, 126)
和(100, )
。
我说 "greedy feature selection" 的意思是,我首先使用 X_dev
集中的一个特征来拟合 126 个模型,选择最好的一个,然后 运行 个模型使用第一个其余 125 个模型中的每一个。继续选择,直到我在最初的 126 个特征中获得了 100 个表现最好的特征。
我面临的问题是关于 Python 中的实施。我的代码是先拟合一个特征:
lin_reg.fit(X_dev[:, 0].reshape(-1, 1), y_dev)
lin_pred = lin_reg.predict(X_test)
因为尺寸不匹配((100, 126)
和 (1, )
)我收到尺寸不匹配错误。
我应该如何解决这个问题?我正在尝试预测模型在使用单一功能时的表现。
谢谢。
对X_test
应用相同的转换lin_reg.fit(X_dev[:, 0].reshape(-1, 1), y_dev)
lin_pred = lin_reg.predict(X_test[:, 0].reshape(-1, 1))
我也觉得没必要整形
lin_reg.fit(X_dev[:, 0], y_dev)
lin_pred = lin_reg.predict(X_test[:, 0])
应该也可以