How to correct the NameError?












0












$begingroup$


May I know how to correct the NameError: name 'xx' is not defined?



import numpy as np
import matplotlib.pyplot as plt
from sklearn import svm, datasets
# import some data to play with
iris = datasets.load_iris()
X = iris.data[:,[2,3]]
y = iris.target

def plotSVC(title):
# create a mesh to plot in
x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1
y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1
h = (x_max / x_min)/100
xx, yy = np.meshgrid(np.arange(x_min, x_max, h),
np.arange(y_min, y_max, h))
plt.subplot(1, 1, 1)
Z = svc.predict(np.c_[xx.ravel(), yy.ravel()])
Z = Z.reshape(xx.shape)

cs = [0.1, 1, 10, 100]
for c in cs:
svc = svm.SVC(kernel='rbf', C=c).fit(X, y)
plotSVC('C=' + str(c))

plt.contourf(xx, yy, Z, cmap=plt.cm.Paired, alpha=0.8)
plt.scatter(X[:, 0], X[:, 1], c=y, cmap=plt.cm.Paired)
plt.xlabel('petal length')
plt.ylabel('petal width')
plt.xlim(xx.min(), xx.max())
plt.show()


The error message is -



runfile('C:/Users/HSIPL/Desktop/Homework 5 6 Solution draft.py', wdir='C:/Users/HSIPL/Desktop')
C:/Users/HSIPL/Desktop/Homework 5 6 Solution draft.py:13: RuntimeWarning: divide by zero encountered in double_scalars
h = (x_max / x_min)/100
C:UsersHSIPLAnaconda3libsite-packagesmatplotlibcbookdeprecation.py:107: MatplotlibDeprecationWarning: Adding an axes using the same arguments as a previous axes currently reuses the earlier instance. In a future version, a new instance will always be created and returned. Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance.
warnings.warn(message, mplDeprecation, stacklevel=1)
Traceback (most recent call last):

File "<ipython-input-6-1b30b44bc6a6>", line 1, in <module>
runfile('C:/Users/HSIPL/Desktop/Homework 5 6 Solution draft.py', wdir='C:/Users/HSIPL/Desktop')

File "C:UsersHSIPLAnaconda3libsite-packagesspyder_kernelscustomizespydercustomize.py", line 668, in runfile
execfile(filename, namespace)

File "C:UsersHSIPLAnaconda3libsite-packagesspyder_kernelscustomizespydercustomize.py", line 108, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)

File "C:/Users/HSIPL/Desktop/Homework 5 6 Solution draft.py", line 25, in <module>
plt.contourf(xx, yy, Z, cmap=plt.cm.Paired, alpha=0.8)

NameError: name 'xx' is not defined


enter image description here



enter image description here










share|improve this question









$endgroup$

















    0












    $begingroup$


    May I know how to correct the NameError: name 'xx' is not defined?



    import numpy as np
    import matplotlib.pyplot as plt
    from sklearn import svm, datasets
    # import some data to play with
    iris = datasets.load_iris()
    X = iris.data[:,[2,3]]
    y = iris.target

    def plotSVC(title):
    # create a mesh to plot in
    x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1
    y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1
    h = (x_max / x_min)/100
    xx, yy = np.meshgrid(np.arange(x_min, x_max, h),
    np.arange(y_min, y_max, h))
    plt.subplot(1, 1, 1)
    Z = svc.predict(np.c_[xx.ravel(), yy.ravel()])
    Z = Z.reshape(xx.shape)

    cs = [0.1, 1, 10, 100]
    for c in cs:
    svc = svm.SVC(kernel='rbf', C=c).fit(X, y)
    plotSVC('C=' + str(c))

    plt.contourf(xx, yy, Z, cmap=plt.cm.Paired, alpha=0.8)
    plt.scatter(X[:, 0], X[:, 1], c=y, cmap=plt.cm.Paired)
    plt.xlabel('petal length')
    plt.ylabel('petal width')
    plt.xlim(xx.min(), xx.max())
    plt.show()


    The error message is -



    runfile('C:/Users/HSIPL/Desktop/Homework 5 6 Solution draft.py', wdir='C:/Users/HSIPL/Desktop')
    C:/Users/HSIPL/Desktop/Homework 5 6 Solution draft.py:13: RuntimeWarning: divide by zero encountered in double_scalars
    h = (x_max / x_min)/100
    C:UsersHSIPLAnaconda3libsite-packagesmatplotlibcbookdeprecation.py:107: MatplotlibDeprecationWarning: Adding an axes using the same arguments as a previous axes currently reuses the earlier instance. In a future version, a new instance will always be created and returned. Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance.
    warnings.warn(message, mplDeprecation, stacklevel=1)
    Traceback (most recent call last):

    File "<ipython-input-6-1b30b44bc6a6>", line 1, in <module>
    runfile('C:/Users/HSIPL/Desktop/Homework 5 6 Solution draft.py', wdir='C:/Users/HSIPL/Desktop')

    File "C:UsersHSIPLAnaconda3libsite-packagesspyder_kernelscustomizespydercustomize.py", line 668, in runfile
    execfile(filename, namespace)

    File "C:UsersHSIPLAnaconda3libsite-packagesspyder_kernelscustomizespydercustomize.py", line 108, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

    File "C:/Users/HSIPL/Desktop/Homework 5 6 Solution draft.py", line 25, in <module>
    plt.contourf(xx, yy, Z, cmap=plt.cm.Paired, alpha=0.8)

    NameError: name 'xx' is not defined


    enter image description here



    enter image description here










    share|improve this question









    $endgroup$















      0












      0








      0





      $begingroup$


      May I know how to correct the NameError: name 'xx' is not defined?



      import numpy as np
      import matplotlib.pyplot as plt
      from sklearn import svm, datasets
      # import some data to play with
      iris = datasets.load_iris()
      X = iris.data[:,[2,3]]
      y = iris.target

      def plotSVC(title):
      # create a mesh to plot in
      x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1
      y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1
      h = (x_max / x_min)/100
      xx, yy = np.meshgrid(np.arange(x_min, x_max, h),
      np.arange(y_min, y_max, h))
      plt.subplot(1, 1, 1)
      Z = svc.predict(np.c_[xx.ravel(), yy.ravel()])
      Z = Z.reshape(xx.shape)

      cs = [0.1, 1, 10, 100]
      for c in cs:
      svc = svm.SVC(kernel='rbf', C=c).fit(X, y)
      plotSVC('C=' + str(c))

      plt.contourf(xx, yy, Z, cmap=plt.cm.Paired, alpha=0.8)
      plt.scatter(X[:, 0], X[:, 1], c=y, cmap=plt.cm.Paired)
      plt.xlabel('petal length')
      plt.ylabel('petal width')
      plt.xlim(xx.min(), xx.max())
      plt.show()


      The error message is -



      runfile('C:/Users/HSIPL/Desktop/Homework 5 6 Solution draft.py', wdir='C:/Users/HSIPL/Desktop')
      C:/Users/HSIPL/Desktop/Homework 5 6 Solution draft.py:13: RuntimeWarning: divide by zero encountered in double_scalars
      h = (x_max / x_min)/100
      C:UsersHSIPLAnaconda3libsite-packagesmatplotlibcbookdeprecation.py:107: MatplotlibDeprecationWarning: Adding an axes using the same arguments as a previous axes currently reuses the earlier instance. In a future version, a new instance will always be created and returned. Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance.
      warnings.warn(message, mplDeprecation, stacklevel=1)
      Traceback (most recent call last):

      File "<ipython-input-6-1b30b44bc6a6>", line 1, in <module>
      runfile('C:/Users/HSIPL/Desktop/Homework 5 6 Solution draft.py', wdir='C:/Users/HSIPL/Desktop')

      File "C:UsersHSIPLAnaconda3libsite-packagesspyder_kernelscustomizespydercustomize.py", line 668, in runfile
      execfile(filename, namespace)

      File "C:UsersHSIPLAnaconda3libsite-packagesspyder_kernelscustomizespydercustomize.py", line 108, in execfile
      exec(compile(f.read(), filename, 'exec'), namespace)

      File "C:/Users/HSIPL/Desktop/Homework 5 6 Solution draft.py", line 25, in <module>
      plt.contourf(xx, yy, Z, cmap=plt.cm.Paired, alpha=0.8)

      NameError: name 'xx' is not defined


      enter image description here



      enter image description here










      share|improve this question









      $endgroup$




      May I know how to correct the NameError: name 'xx' is not defined?



      import numpy as np
      import matplotlib.pyplot as plt
      from sklearn import svm, datasets
      # import some data to play with
      iris = datasets.load_iris()
      X = iris.data[:,[2,3]]
      y = iris.target

      def plotSVC(title):
      # create a mesh to plot in
      x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1
      y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1
      h = (x_max / x_min)/100
      xx, yy = np.meshgrid(np.arange(x_min, x_max, h),
      np.arange(y_min, y_max, h))
      plt.subplot(1, 1, 1)
      Z = svc.predict(np.c_[xx.ravel(), yy.ravel()])
      Z = Z.reshape(xx.shape)

      cs = [0.1, 1, 10, 100]
      for c in cs:
      svc = svm.SVC(kernel='rbf', C=c).fit(X, y)
      plotSVC('C=' + str(c))

      plt.contourf(xx, yy, Z, cmap=plt.cm.Paired, alpha=0.8)
      plt.scatter(X[:, 0], X[:, 1], c=y, cmap=plt.cm.Paired)
      plt.xlabel('petal length')
      plt.ylabel('petal width')
      plt.xlim(xx.min(), xx.max())
      plt.show()


      The error message is -



      runfile('C:/Users/HSIPL/Desktop/Homework 5 6 Solution draft.py', wdir='C:/Users/HSIPL/Desktop')
      C:/Users/HSIPL/Desktop/Homework 5 6 Solution draft.py:13: RuntimeWarning: divide by zero encountered in double_scalars
      h = (x_max / x_min)/100
      C:UsersHSIPLAnaconda3libsite-packagesmatplotlibcbookdeprecation.py:107: MatplotlibDeprecationWarning: Adding an axes using the same arguments as a previous axes currently reuses the earlier instance. In a future version, a new instance will always be created and returned. Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance.
      warnings.warn(message, mplDeprecation, stacklevel=1)
      Traceback (most recent call last):

      File "<ipython-input-6-1b30b44bc6a6>", line 1, in <module>
      runfile('C:/Users/HSIPL/Desktop/Homework 5 6 Solution draft.py', wdir='C:/Users/HSIPL/Desktop')

      File "C:UsersHSIPLAnaconda3libsite-packagesspyder_kernelscustomizespydercustomize.py", line 668, in runfile
      execfile(filename, namespace)

      File "C:UsersHSIPLAnaconda3libsite-packagesspyder_kernelscustomizespydercustomize.py", line 108, in execfile
      exec(compile(f.read(), filename, 'exec'), namespace)

      File "C:/Users/HSIPL/Desktop/Homework 5 6 Solution draft.py", line 25, in <module>
      plt.contourf(xx, yy, Z, cmap=plt.cm.Paired, alpha=0.8)

      NameError: name 'xx' is not defined


      enter image description here



      enter image description here







      svm






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 19 mins ago









      vokoyovokoyo

      43




      43






















          1 Answer
          1






          active

          oldest

          votes


















          0












          $begingroup$

          You did not define outside the plotSVC block.



          One possible fix is to include



          xx, yy = np.meshgrid(np.arange(x_min, x_max, h),
          np.arange(y_min, y_max, h))


          before the



          plt.contourf(xx, yy, Z, cmap=plt.cm.Paired, alpha=0.8)


          line. Also, it seems to me that you might want to return something from the function definition, possibly $Z$. $Z$ is also not defined outside of function definition.



          Make sure every variable is defined and visible (in the right scope) before we use it.






          share|improve this answer











          $endgroup$














            Your Answer





            StackExchange.ifUsing("editor", function () {
            return StackExchange.using("mathjaxEditing", function () {
            StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
            StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
            });
            });
            }, "mathjax-editing");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "557"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdatascience.stackexchange.com%2fquestions%2f48394%2fhow-to-correct-the-nameerror%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0












            $begingroup$

            You did not define outside the plotSVC block.



            One possible fix is to include



            xx, yy = np.meshgrid(np.arange(x_min, x_max, h),
            np.arange(y_min, y_max, h))


            before the



            plt.contourf(xx, yy, Z, cmap=plt.cm.Paired, alpha=0.8)


            line. Also, it seems to me that you might want to return something from the function definition, possibly $Z$. $Z$ is also not defined outside of function definition.



            Make sure every variable is defined and visible (in the right scope) before we use it.






            share|improve this answer











            $endgroup$


















              0












              $begingroup$

              You did not define outside the plotSVC block.



              One possible fix is to include



              xx, yy = np.meshgrid(np.arange(x_min, x_max, h),
              np.arange(y_min, y_max, h))


              before the



              plt.contourf(xx, yy, Z, cmap=plt.cm.Paired, alpha=0.8)


              line. Also, it seems to me that you might want to return something from the function definition, possibly $Z$. $Z$ is also not defined outside of function definition.



              Make sure every variable is defined and visible (in the right scope) before we use it.






              share|improve this answer











              $endgroup$
















                0












                0








                0





                $begingroup$

                You did not define outside the plotSVC block.



                One possible fix is to include



                xx, yy = np.meshgrid(np.arange(x_min, x_max, h),
                np.arange(y_min, y_max, h))


                before the



                plt.contourf(xx, yy, Z, cmap=plt.cm.Paired, alpha=0.8)


                line. Also, it seems to me that you might want to return something from the function definition, possibly $Z$. $Z$ is also not defined outside of function definition.



                Make sure every variable is defined and visible (in the right scope) before we use it.






                share|improve this answer











                $endgroup$



                You did not define outside the plotSVC block.



                One possible fix is to include



                xx, yy = np.meshgrid(np.arange(x_min, x_max, h),
                np.arange(y_min, y_max, h))


                before the



                plt.contourf(xx, yy, Z, cmap=plt.cm.Paired, alpha=0.8)


                line. Also, it seems to me that you might want to return something from the function definition, possibly $Z$. $Z$ is also not defined outside of function definition.



                Make sure every variable is defined and visible (in the right scope) before we use it.







                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited 6 mins ago

























                answered 12 mins ago









                Siong Thye GohSiong Thye Goh

                1,408620




                1,408620






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Data Science Stack Exchange!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    Use MathJax to format equations. MathJax reference.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdatascience.stackexchange.com%2fquestions%2f48394%2fhow-to-correct-the-nameerror%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    How to label and detect the document text images

                    Vallis Paradisi

                    Tabula Rosettana