Skip to main content


import csv
with open('/content/drive/MyDrive/ML lab programs/Lab 1 Find-S algorithm/weather.csv') as f:
  reader = csv.reader(f)
  data = list(reader) 

print('Training data')
for row in data:
  print(row)
attr_len=len(data[0])-1
h = ['0']*attr_len      
print('The Hypothesis are')
for row in data:
  if row[-1] == 'Yes':
    j = 0
    for col in row: 
      if col != 'Yes': 
        if col != h[j] and h[j] == '0':
          h[j] = col
        elif col != h[j] and h[j] != '0':
          h[j] = '?'
      j = j + 1
  print(h)
print('Maximally Specific Hypothesis:', h)



2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,


import csv
with open('/content/drive/MyDrive/ML lab programs/Lab 2 Candidate Selection Algorithm/enjoysport1.csv') as f:
  reader = csv.reader(f)
  data = list(reader) 
print('Training data')
for row in data:
  print(row)
print('-------------------------------------------------------------')


attr_len=len(data[0])-1
s = ['0']*attr_len      
g = ['?']*attr_len      
temp=[] 


print('the Hypothesis are')
print('S=',s)
print('G=',g)
print('-------------------------------------------------------------')


for row in data:
  if row[-1] == 'yes':
    j=0
    for col in row:
      if col != 'yes':
        if col != s[j] and s[j] == '0':
          s[j] = col
        elif col != s[j] and s[j] != '0':
          s[j] = '?'
      j+= 1

    for j in range(0,attr_len):
      for k in temp:
        if k[j] != s[j] and k[j] != '?':
          temp.remove(k)
  elif row[-1] == 'no':
    j = 0
    for col in row:
      if col != 'no':
        if col != s[j] and s[j] != '?':
          g[j] = s[j]
          temp.append(g)
          g = ['?'] * attr_len
      j+=1
  print('S=',s)
  if len(temp) == 0:
    print('G=',g)
  else:
    print('G=',temp)
  print('-------------------------------------------------------------')


4444444444444444444/////////////////////////////////////

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):
    return 1/(1 + np.exp(-x))


def derivatives_sigmoid(x):
    return x * (1 - x)


epoch=5 
lr=0.1 

inputlayer_neurons = 2 
hiddenlayer_neurons = 3 
output_neurons = 1 


wh=np.random.uniform(size=(inputlayer_neurons,hiddenlayer_neurons))
bh=np.random.uniform(size=(1,hiddenlayer_neurons))
wout=np.random.uniform(size=(hiddenlayer_neurons,output_neurons))
bout=np.random.uniform(size=(1,output_neurons))


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   
    bout += np.sum(d_output, axis=0,keepdims=True) *lr
    wh += X.T.dot(d_hiddenlayer) *lr
    bh += np.sum(d_hiddenlayer, axis=0,keepdims=True) *lr
print("Input: \n" ,X) 
print("Actual Output: \n" ,y)
print("Predicted Output: \n" ,output)


6////////////////////////////////////////////

import pandas as pd 
msg=pd.read_csv('/content/drive/MyDrive/ML lab programs/lab 6 bayesian classifier/data6.csv',names=['message','label']) #Tabular form data 
print('Total instances in the dataset:',msg.shape[0])

msg['labelnum']=msg.label.map({'pos':1,'neg':0}) 

X=msg.message
Y=msg.labelnum





from sklearn.model_selection import train_test_split 
xtrain,xtest,ytrain,ytest=train_test_split(X,Y) 

print('\nDataset is split into Training and Testing samples') 
print('Total training instances :', ytrain.shape[0]) 
print('Total testing instances :', ytest.shape[0])


from sklearn.feature_extraction.text import CountVectorizer 
count_vect = CountVectorizer()
xtrain_dtm = count_vect.fit_transform(xtrain) #Sparse matrix 
xtest_dtm = count_vect.transform(xtest)
print('\nTotal features extracted using CountVectorizer:',xtrain_dtm.shape[1])

print('\nThe words or Tokens in the text documents\n') 
print(count_vect.get_feature_names())



from sklearn.naive_bayes import MultinomialNB
clf = MultinomialNB().fit(xtrain_dtm,ytrain) 
predicted = clf.predict(xtest_dtm)


from sklearn import metrics 
print('\nAccuracy metrics')
print('==================')
print('Accuracy of the classifer is',metrics.accuracy_score(ytest,predicted))

print('Recall :',metrics.recall_score(ytest,predicted), '\nPrecison :',metrics.precision_score(ytest,predicted))
print('Confusion matrix')
print('==================')
print(metrics.confusion_matrix(ytest,predicted))

7.............................................................

import pandas as pd
import numpy as np

data = pd.read_csv('/content/drive/MyDrive/ML lab programs/lab 7 bayesian network/heart.csv')
data = data.replace('?',np.nan)
#display the data
print('Sample instances from the dataset are given below')
print(data.head())
#display the Attributes names and datatyes
print('\n Attributes and datatypes')
print(data.dtypes)


from pgmpy.models import BayesianModel
from pgmpy.estimators import MaximumLikelihoodEstimator
from pgmpy.inference import VariableElimination

model =BayesianModel([('age','heartdisease'),('sex','heartdisease'),
                      ('exang','heartdisease'),('cp','heartdisease'),
                      ('heartdisease','restecg'),('heartdisease','chol')])
import networkx as nx
import matplotlib.pyplot as plt
nx.draw(model, with_labels = True); 
plt.show()



print('\n Learning CPD using Maximum likelihood estimators')
model.fit(data,estimator=MaximumLikelihoodEstimator)
print('\n Inferencing with Bayesian Network:')
infer = VariableElimination(model)


print('\n 1.Probability of HeartDisease given evidence=restecg :1')
q1=infer.query(variables=['heartdisease'],evidence={'restecg':1})
print(q1)
print('\n 2.Probability of HeartDisease given evidence= cp:2 ')
q2=infer.query(variables=['heartdisease'],evidence={'cp':2})
print(q2)


8.....................................................

import matplotlib.pyplot as plt
from sklearn import datasets
import sklearn.metrics as sm
import pandas as pd
import numpy as np

iris = datasets.load_iris()

X = pd.DataFrame(iris.data)
X.columns = ['Sepal_Length','Sepal_Width','Petal_Length','Petal_Width']

y = pd.DataFrame(iris.target)
y.columns = ['Targets']

plt.figure(figsize=(14,7))
colormap = np.array(['red', 'lime', 'black'])


plt.subplot(1, 3, 1)
plt.scatter(X.Petal_Length, X.Petal_Width, c=colormap[y.Targets], s=40)
plt.title('Real Classification')
plt.xlabel('Petal Length')
plt.ylabel('Petal Width')


from sklearn.cluster import KMeans
model = KMeans(n_clusters=3)
model.fit(X)
plt.subplot(1, 3, 2)
plt.scatter(X.Petal_Length, X.Petal_Width, c=colormap[model.labels_], s=40)
plt.title('K Mean Classification')
plt.xlabel('Petal Length')
plt.ylabel('Petal Width')
print('The accuracy score of K-Mean: ',sm.accuracy_score(y, model.labels_))
print('The Confusion matrixof K-Mean: ',sm.confusion_matrix(y, model.labels_))


from sklearn.mixture import GaussianMixture
gmm = GaussianMixture(n_components=3)
gmm.fit(X)
y_gmm = gmm.predict(X)
plt.subplot(1, 3, 3)
plt.scatter(X.Petal_Length, X.Petal_Width, c=colormap[y_gmm], s=40)
plt.title('GMM Classification')
plt.xlabel('Petal Length')
plt.ylabel('Petal Width')

print('The accuracy score of EM: ',sm.accuracy_score(y, y_gmm))
print('The Confusion matrix of EM: ',sm.confusion_matrix(y, y_gmm))







Comments

Popular posts from this blog

Key to success: The Pareto principle

Today everyone reads and study many successful storeys and might have wondered how did they reach to that level ? And what made them different from the common people? Here is one of the best known key they used to open the lock called Success. THE PARETO PRINCIPLE As this sounds different to you but is one of the well known and accepted principle. This principle was introduced by the Italian Economist known as VILFERDO PARETO According to this principle 80% of any  work depends on 20% of things that actually matter It is also known as 80/20 principle What does it mean? It clearly states that if you want successful results in any work make sure you focus on just 20% of important things that actually matters and you will get 80% of assured result. How did he construct this principle?  Have you ever thought how a new principle is brought up? Its just simple ,by careful observation. Same thing happened with Mr Pareto. At his time in It...

Journey in the General Section

I was really lucky get in train at the very first coming stations. It was GolGumbaz Express in which I laid my step to home after many days. The train's route is from Mysore to Sollapur of Karnataka where the rails connect from South to North Karnataka. It was not at all my first time here . I am just sharing my thoughts how it feels like . I thought of writing in a piece of paper but environment won't support me. So I  "Blogged my  Vision into words". The pic says it all how conjusted  it actually was,  of course it was Wednesday one of the middle days of the week but let me remember you the population of India its close to 130 crores . Actually I was concentrating on my mobile when I got my seat, suddenly a group of people came rushing to the door to get in ,I was shocked and then I realised that the train reached Bangalore's city main station. I wondered how Chennai Express shooting  would have been if it was general section of the train . The old m...