使用贪婪特征选择的Python拟合线性回归

时间:2018-11-01 04:15:14

标签: python linear-regression feature-selection

我正在尝试使用贪婪特征选择算法来拟合线性回归模型。更具体一点,我有四组数据:

<Window x:Class="ScanManager.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:wpf="http://schemas.microsoft.com/wpf/2008/toolkit" xmlns:tb="http://www.hardcodet.net/taskbar" xmlns:commands="clr-namespace:ScanManager.Commands" Title="Scan" Height="542" Width="821"> <Window.DataContext> <ViewModels:Presenter/> </Window.DataContext> <Grid Visibility="Visible" Loaded="form_Loaded"> ... <tb:TaskbarIcon HorizontalAlignment="Left" Margin="357,537,0,0" Name="mainTaskbarIcon" VerticalAlignment="Top" IconSource="/Icons/TestIcon.ico" IsHitTestVisible="True" ToolTipText="Test Test" > <tb:TaskbarIcon.ContextMenu> <ContextMenu> <MenuItem Header="_Show" Command="{commands:ShowMainWindowCommand}" CommandParameter="{Binding Path=mainTaskbarIcon}" /> <MenuItem Header="_Hide" Command="{commands:HideMainWindowCommand}" CommandParameter="{Binding Path=mainTaskbarIcon}" /> </ContextMenu> </tb:TaskbarIcon.ContextMenu> </tb:TaskbarIcon> ... </Grid> </Window> >>> orig <tf.Variable 'conv2d_1/kernel:0' shape=(3, 3, 3, 32) dtype=float32_ref> >>> cpy = K.variable(K.get_value(orig), name="copy") >>> cpy.name u'training/SGD0/copy:0' >>> orig.name u'conv2d_1/kernel:0' X_devy_dev,前两个是训练集的功能和标签,后两个是测试集。矩阵的大小分别为X_testy_test(900, 126)(900, )

“贪婪特征选择”的意思是,我将首先使用(100, 126)组中的每个特征来拟合126个模型,选择最佳模型,然后使用第一个模型和其余每个模型运行模型125个型号。选择一直持续到我获得100个在原始126个中性能最好的功能。

我面临的问题是关于Python的实现。我拥有的代码是先适合单个功能:

(100, )

由于尺寸不匹配(X_devlin_reg.fit(X_dev[:, 0].reshape(-1, 1), y_dev) lin_pred = lin_reg.predict(X_test) ),我收到尺寸不匹配错误。

该如何解决?我正在尝试预测使用单个功能时模型的性能。

谢谢。

1 个答案:

答案 0 :(得分: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])

也应该工作