我正在尝试使用贪婪特征选择算法来拟合线性回归模型。更具体一点,我有四组数据:
<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_dev
,y_dev
,前两个是训练集的功能和标签,后两个是测试集。矩阵的大小分别为X_test
,y_test
,(900, 126)
和(900, )
。
“贪婪特征选择”的意思是,我将首先使用(100, 126)
组中的每个特征来拟合126个模型,选择最佳模型,然后使用第一个模型和其余每个模型运行模型125个型号。选择一直持续到我获得100个在原始126个中性能最好的功能。
我面临的问题是关于Python的实现。我拥有的代码是先适合单个功能:
(100, )
由于尺寸不匹配(X_dev
和lin_reg.fit(X_dev[:, 0].reshape(-1, 1), y_dev)
lin_pred = lin_reg.predict(X_test)
),我收到尺寸不匹配错误。
该如何解决?我正在尝试预测使用单个功能时模型的性能。
谢谢。
答案 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])
也应该工作