I'm learning to use Python and scikit-learn and executed the following block of codes (originally from http://scikit-learn.org/stable/auto_examples/document_classification_20newsgroups.html#example-document-classification-20newsgroups-py) in iPython notebook (using Python 2.7):
from __future__ import print_function
from optparse import OptionParser# parse commandline arguments
op = OptionParser()
op.add_option("--report",action="store_true", dest="print_report",help="Print a detailed classification report.")
op.add_option("--chi2_select",action="store", type="int", dest="select_chi2",help="Select some number of features using a chi-squared test")
op.add_option("--confusion_matrix",action="store_true", dest="print_cm",help="Print the confusion matrix.")
op.add_option("--top10",action="store_true", dest="print_top10",help="Print ten most discriminative terms per class"" for every classifier.")
op.add_option("--all_categories",action="store_true", dest="all_categories",help="Whether to use all categories or not.")
op.add_option("--use_hashing",action="store_true",help="Use a hashing vectorizer.")
op.add_option("--n_features",action="store", type=int, default=2 ** 16,help="n_features when using the hashing vectorizer.")
op.add_option("--filtered",action="store_true",help="Remove newsgroup information that is easily overfit: ""headers, signatures, and quoting.")(opts, args) = op.parse_args()
if len(args) > 0:op.error("this script takes no arguments.")sys.exit(1)
Upon running the codes, I encountered the following error:
An exception has occurred, use %tb to see the full traceback.SystemExit: 2Usage: -c [options]-c: error: no such option: -f
To exit: use 'exit', 'quit', or Ctrl-D.
I followed the instruction and executed %tb, and the following appeared:
---------------------------------------------------------------------------
SystemExit Traceback (most recent call last)
<ipython-input-1-d44fadf3a28b> in <module>()37 "headers, signatures, and quoting.")38
---> 39 (opts, args) = op.parse_args()40 if len(args) > 0:41 op.error("this script takes no arguments.")C:\Anaconda\lib\optparse.pyc in parse_args(self, args, values)1399 stop = self._process_args(largs, rargs, values)1400 except (BadOptionError, OptionValueError), err:
-> 1401 self.error(str(err))1402 1403 args = largs + rargsC:\Anaconda\lib\optparse.pyc in error(self, msg)1581 """1582 self.print_usage(sys.stderr)
-> 1583 self.exit(2, "%s: error: %s\n" % (self.get_prog_name(), msg))1584 1585 def get_usage(self):C:\Anaconda\lib\optparse.pyc in exit(self, status, msg)1571 if msg:1572 sys.stderr.write(msg)
-> 1573 sys.exit(status)1574 1575 def error(self, msg):SystemExit: 2
I understand that optparse has been deprecated in favour of argparse, but as I wanted to understand the tutorial block by block, I was hoping I can run the codes within iPython notebook to get a feel of how it works. It seems that someone else had this problem previously but there wasn't a solution proposed.
Is there a way to address this error so I can run the tutorial codes from within iPython notebook?