Tuesday, 19 September 2017

Gaussian Process Classifier:Effect of parameters

             Gaussian Process Classifier-Effect of parameters on output 

Gaussian Process Classifier technique is tested here to see their accuracy in terms of output.

Python program:


>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> from matplotlib.colors import ListedColormap
>>> from sklearn import neighbors, datasets
>>> n_neighbors = 24
>>> iris = datasets.load_iris()
>>> x = iris.data[:, :2]
>>> y = iris.target
>>> h = .02
>>> cmap_bold = ListedColormap(['firebrick', 'lime', 'blue'])
>>> cmap_light = ListedColormap(['pink', 'lightgreen', 'paleturquoise'])

//Plotting the analysis//

 a) Effect of number of jobs (n_jobs):

>>> for n_jobs in [1, 2, 5, 25, 100, 250]:
...         clf = gaussian_process.GaussianProcessClassifier(n_jobs=n_jobs)
...         clf.fit(x, y)
...         x_min, x_max = x[:, 0].min() -1, x[:, 0].max() +1
...         y_min, y_max = x[:, 1].min() -1, x[:, 1].max() +1
...         xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))
...         z = clf.predict(np.c_[xx.ravel(), yy.ravel()])
...         z = z.reshape(xx.shape)
...         plt.figure()
...         plt.pcolormesh(xx, yy, z, cmap=cmap_light)
...         plt.scatter(x[:, 0], x[:, 1], c=y, cmap=cmap_bold, edgecolor='k', s=24)
...         plt.xlim(xx.min(), xx.max())
...         plt.ylim(yy.min(), yy.max())
...         plt.title("GaussianProcessRegressor (n_jobs='%s')" %(n_jobs))
...




b) Effect of maximum prediction (max_predict):

>>> for max_iter_predict in [1, 2, 5, 25, 100, 250]:
...         clf = gaussian_process.GaussianProcessClassifier(max_iter_predict=max_iter_predict)
...         clf.fit(x, y)
...         x_min, x_max = x[:, 0].min() -1, x[:, 0].max() +1
...         y_min, y_max = x[:, 1].min() -1, x[:, 1].max() +1
...         xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))
...         z = clf.predict(np.c_[xx.ravel(), yy.ravel()])
...         z = z.reshape(xx.shape)
...         plt.figure()
...         plt.pcolormesh(xx, yy, z, cmap=cmap_light)
...         plt.scatter(x[:, 0], x[:, 1], c=y, cmap=cmap_bold, edgecolor='k', s=24)
...         plt.xlim(xx.min(), xx.max())
...         plt.ylim(yy.min(), yy.max())
...         plt.title("GaussianProcessClassifier (max_iter_predict='%s')" %(max_iter_predict))
...

Nothing much effect on output accuracy.

No comments:

Post a Comment