ML-1
ML-1
import numpy as np
x = np.array(([2,9],[1,5],[3,6]),dtype = float)
y = np.array(([92],[86],[89]),dtype = float)
x = x/np.amax(x,axis=0)
y = y/100
def sigmoid(x):
def derivatives_sigmoid(x):
return x*(1-x)
epoch = 5000
lr = 0.1
iln = 2
hln = 3
on = 1
wh = np.random.uniform(size=(iln,hln))
bh = np.random.uniform(size = (1,hln))
wout = np.random.uniform(size=(hln,on))
bout = np.random.uniform(size=(1,on))
for i in range(epoch):
hinp1 = np.dot(x,wh)
hinp = hinp1+bh
hlayer_act = sigmoid(hinp)
outinp1 = np.dot(hlayer_act,wout)
outinp = outinp1+bout
output = sigmoid(outinp)
eo = y-output
outgrad = derivatives_sigmoid(output)
d_output = eo*outgrad
eh = d_output.dot(wout.T)
hiddengrad = derivatives_sigmoid(hlayer_act)
d_hiddenlayer = eh*hiddengrad
wout +=hlayer_act.T.dot(d_output)*lr
wh += x.T.dot(d_hiddenlayer)*lr
print(str(x))
print(str(y))
print(output)
Support Vector Classifier
import pandas as pd
import numpy as np
data = load_iris()
x = data.data
y = data.target
X_train,X_test,y_train,y_test = train_test_split(x,y,test_size=0.3,random_state=42,stratify=y)
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)
svc_model = SVC(kernel='rbf',C=0.1,gamma='scale',random_state=42)
svc_model.fit(X_train,y_train)
y_pred = svc_model.predict(X_test)
print(classification_report(y_test,y_pred))
print(accuracy_score(y_test,y_pred))
Random Forest Classifier
import pandas as pd
import numpy as np
iris = load_iris()
x = iris.data
y = iris.target
X_train,X_test,y_train,y_test = train_test_split(x,y,test_size=0.2,random_state=42)
rf_classifier = RandomForestClassifier(n_estimators=100,random_state=42)
rf_classifier.fit(X_train,y_train)
y_pred = rf_classifier.predict(X_test)
print(classification_report(y_test,y_pred))
print(accuracy_score(y_test,y_pred))
feature_importances = rf_classifier.feature_importances_
features = iris.feature_names
plt.figure(figsize=(10,6))
plt.xlabel("feature importances")
plt.show()
Clustering
import pandas as pd
import numpy as np
iris = load_iris()
x = pd.DataFrame(iris.data,columns = iris.feature_names)
y = iris.target
plt.figure(figsize=(10,6))
plt.subplot(1,2,1)
plt.title("actual sepal")
plt.subplot(1,2,2)
plt.title("actual petal")
kmeans = KMeans(n_clusters=3)
kmeans.fit(x)
kmeans_clusters = kmeans.labels_
gmm = GaussianMixture(n_components=3)
gmm.fit(x)
gmm_clusters = gmm.predict(x)
kmeans_silhouette = silhouette_score(x,kmeans_clusters)
gmm_silhouette = silhouette_score(x,gmm_clusters)
print("kmeans_silhouette :",kmeans_silhouette)
print("gmm_silhouette :",gmm_silhouette)
plt.figure(figsize=(10,6))
plt.subplot(1,3,1)
plt.title("actual classes")
plt.subplot(1,3,2)
plt.title("kmeans")
plt.subplot(1,3,3)
plt.title("gmm")
plt.show()
if kmeans_silhouette>gmm_silhouette:
print("kmeans")
else:
print("gmm")