Question: Please solve this python problem. Modify the code I copied and pasted the code below if that makes it easier to modify it. Please modify

Please solve this python problem. Modify the code

Please solve this python problem. Modify the code I copied and pasted

I copied and pasted the code below if that makes it easier to modify it. Please modify this and explain!

import numpy as np

class Perceptron(object): """Perceptron classifier.

Parameters ------------ eta : float Learning rate (between 0.0 and 1.0) n_iter : int Passes over the training dataset. random_state : int Random number generator seed for random weight initialization.

Attributes ----------- w_ : 1d-array Weights after fitting. errors_ : list Number of misclassifications (updates) in each epoch.

""" def __init__(self, eta=0.01, n_iter=50, random_state=1): self.eta = eta self.n_iter = n_iter self.random_state = random_state

def fit(self, X, y): """Fit training data.

Parameters ---------- X : {array-like}, shape = [n_examples, n_features] Training vectors, where n_examples is the number of examples and n_features is the number of features. y : array-like, shape = [n_examples] Target values.

Returns ------- self : object

""" rgen = np.random.RandomState(self.random_state) self.w_ = rgen.normal(loc=0.0, scale=0.01, size=1 + X.shape[1]) self.errors_ = []

for _ in range(self.n_iter): errors = 0 for xi, target in zip(X, y): update = self.eta * (target - self.predict(xi)) self.w_[1:] += update * xi self.w_[0] += update errors += int(update != 0.0) self.errors_.append(errors) # my do-nothing code IK = 2020 # my do-nothing code return self

def net_input(self, X): """Calculate net input""" return np.dot(X, self.w_[1:]) + self.w_[0]

def predict(self, X): """Return class label after unit step""" return np.where(self.net_input(X) >= 0.0, 1, -1)

Question 1. Perceptron Code Modification The following code is the perceptron implementation from the textbook (with only three lines inserted) In [5]: Nimport numpy as np class Perceptron(object): "Perceptron classifier. Parameters ata : Float Learning rate (between 8.and 1.0) niter : int Passes over the training dataset. random_state) int Random number generator seed for random weight initialization. Attributes W : 1d-array Weights after fitting. error's list Number of misclassifications (updates) in each opoch. def __init__(self, eta=0.81, n_iter=58, random_state=1): self.eta = eta self.n_iter uniter self.random_state = random_state def fit (self, x, y): - Fit training data. Parameters X : {array-like, shape - [n_examples, n_features] Training vectors, where n examples is the number of examples and n_features is the number of features. y : array-like, shape - [n_examples] Target values. Returns self : object rgen = np.random. RandomState(self.random_state) self.w_ = reen.normal(locsa.e, scalesa.e1, size:1 + X.shape[1]) self.errors = [] for in range (self.n iter): errors = 8 for xi, target in zip(x, y): update = self.eta * (tareet - self.predict(xi)) self.w_(1:) += update * xi self.w_[@] += update errors + int (update 1= 0.) self.errors_.append(errors) # wy do-nothing code TK 2020 #wy do-nothing code return self def net_input (self, x): "Calculate met input return np.dot(X, self.w_[1:]) + self.w_[e] det pradict(self, X): *Return class label after unit step return np.where(self.net input(x) > 0.8, 1. - 1) Work on the above cell and modify the code so that. (1) The fit function stops when no more iterations are necessary (1) The trained perceptron contains not only its weights, but also the number of iterations it look for training (ii) The perceptron maintains a history of its weights, i.e. the set of weights after each point is processed (optional -- but you can use this to verify your manual calculations) To modify the code please insert your code with clear comments surrounding it, similarly to "my do nothing code". Make sure you evaluate the cell again, so that following cells will be using the modified perceptron

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!