title: value error happens when using GridSearchCV
body: <p>I am using GridSearchCV to do classification and my codes are:</p>
  
  <pre><code>parameter_grid_SVM = {'dual':[True,False],
                      'loss':["squared_hinge","hinge"],
                      'penalty':["l1","l2"] 
                      }
  clf = GridSearchCV(LinearSVC(),param_grid=parameter_grid_SVM,verbose=2)
  clf.fit(trian_data, labels)
  </code></pre>
  
  <p>And then, I meet the error </p>
  
  <p>ValueError: Unsupported set of arguments: penalty='l1' is only supported when dual='false'., Parameters: penalty='l1', loss='hinge', dual=False</p>
  
  <p>later on I change my code to :</p>
  
  <pre><code>clf = GridSearchCV(LinearSVC(penalty='l1',dual=False),verbose=2)
  </code></pre>
  
  <p>And I meet the error </p>
  
  <p>TypeError: <strong>init</strong>() takes at least 3 arguments (3 given)</p>
  
  <p>I also tried:</p>
  
  <pre><code>parameter_grid_SVM = {
                      'loss':["squared_hinge"]
                      }
  clf = GridSearchCV(LinearSVC(penalty='l1',dual=False),param_grid=parameter_grid_SVM,verbose=2)
  clf.fit(trian_data, labels)
  </code></pre>
  
  <p>However, I still have the error </p>
  
  <p>ValueError: Unsupported set of arguments: penalty='l1' is only supported when dual='false'., Parameters: penalty='l1', loss='squared_hinge', dual=False</p>
  
  <p>Anyone has idea what I should do to deal with that?</p>