Posts: 27
Threads: 16
Joined: Apr 2018
Apr-03-2019, 01:54 PM
(This post was last modified: Apr-03-2019, 09:09 PM by Yoriz.)
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() Please see the attached files -
Please help me so that I can improve my computing skills
Posts: 12,046
Threads: 487
Joined: Sep 2016
Please post complete unaltered error traceback message in BBCode error tags.
Thank You
Posts: 4,220
Threads: 97
Joined: Sep 2016
Do us a favor and don't post a ton of images like that.
Your problem is that xx (and yy and Z) are defined in the function plotSVC. You can't access them outside the function unless you use a return statement and an assignment to get them out of the function:
def one23():
return 1, 2, 3
one, two, three = one23()
print(two)
Posts: 27
Threads: 16
Joined: Apr 2018
Apr-03-2019, 08:42 PM
(This post was last modified: Apr-03-2019, 08:42 PM by vokoyo.)
The error message -
Error: runfile('C:/Users/HSIPL/Desktop/New f/a i/Homework 5 6 Solution draft.py', wdir='C:/Users/HSIPL/Desktop/New f/a i')
C:/Users/HSIPL/Desktop/New f/a i/Homework 5 6 Solution draft.py:13: RuntimeWarning: divide by zero encountered in double_scalars
h = (x_max / x_min)/100
C:\Users\HSIPL\Anaconda3\lib\site-packages\matplotlib\cbook\deprecation.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-2-9e53960ad79d>", line 1, in <module>
runfile('C:/Users/HSIPL/Desktop/New f/a i/Homework 5 6 Solution draft.py', wdir='C:/Users/HSIPL/Desktop/New f/a i')
File "C:\Users\HSIPL\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 668, in runfile
execfile(filename, namespace)
File "C:\Users\HSIPL\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 108, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "C:/Users/HSIPL/Desktop/New f/a i/Homework 5 6 Solution draft.py", line 24, in <module>
plt.contourf(xx, yy, Z, cmap=plt.cm.Paired, alpha=0.8)
NameError: name 'xx' is not defined
How to write the new coding for correct programming ?
Posts: 3,458
Threads: 101
Joined: Sep 2016
The variable isn't defined. You can't use a variable that isn't defined. So to solve the error, you can either:
1) Define the variable, and set it with whatever value makes sense in the context, or
2) Not try to use it anymore.
Posts: 3
Threads: 0
Joined: Dec 2020
Feb-17-2021, 05:55 AM
(This post was last modified: Feb-17-2021, 09:15 AM by buran.)
In most cases, this error is triggered when Python sees a variable name (Global or Local) and doesn't know what it's for. These errors can happen if you forget to initialize a variable , if you misspell a variable, or if you misspell a reserved word such as "True". Before you use the global variable in your function for reading, it must be first initialized somewhere: either outside of the function or inside it.
buran write Feb-17-2021, 09:15 AM:Link removed
|