0% found this document useful (0 votes)
24 views50 pages

Learn Machine Learning in Tamil A4-4

learn_machine_learning_in_tamil_a4-4

Uploaded by

kingkrishhh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views50 pages

Learn Machine Learning in Tamil A4-4

learn_machine_learning_in_tamil_a4-4

Uploaded by

kingkrishhh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 50

பின்னர், Machine Learning – புதிதாக ஒரு ளை(யம் ருகிறவெதனில் அது சிகப்பாக

கணிக்கப்படு தற்கான சாத்தியம் 30%, Machine Learning – ஊதா ாக கணிக்கப்படு தற்கான சாத்தியம்
40%, Machine Learning – பச்ளைசயாக கணிக்கப்படு தற்கான சாத்தியம் 60% Machine Learning – ;ஞ்ச(ாக
கணிக்கப்படு தற்கான சாத்தியம் 50% Machine Learning – என ருகிறதவேதனில் வெத , Machine Learning – எதன் சாத்தியம்
அதிக;ாக இருக்கிறவேதா, Machine Learning – அந்தப் பிரிவின் கீழ் அளை;யும். Machine Learning – இதுவே multi-class Machine Learning –
classification Machine Learning – ஆகும். Machine Learning –

Decision Machine Learning – tree, Machine Learning – gaussian Machine Learning – NB, Machine Learning – KNN, Machine Learning – SVC Machine Learning – ஆகியளை இதுவேபான்ற multi Machine Learning –
class Machine Learning – -க்கு துளைaபுரியும் algorithmns Machine Learning – ஆகும். Machine Learning – ஒரு ;லர் ;ல்லியா, Machine Learning – வேராஜா ா, Machine Learning –
தா;ளைரயா என்று தீர்;ானிப்பதற்கான multi-class Machine Learning – classification Machine Learning –
பின் ரு;ாறு. Machine Learning – இளை பல்வே று algorithms மூலம் நிகழ்த்தப்படுகின்றன. Machine Learning –
இளை களில் அதிக;ான score Machine Learning – Machine Learning – ;ற்றும் precision&recall Machine Learning – வெகாண்டளைத நாம்
வேதர்வு வெசய்யலாம்.. Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning –

https://gist.github.com/nithyadurai87/
aaded978eb7e545006ed6117c97b86b3

from sklearn.metrics import confusion_matrix


from sklearn.metrics import precision_recall_fscore_support
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.svm import SVC
from sklearn.neighbors import KNeighborsClassifier

151
from sklearn.naive_bayes import GaussianNB

df = pd.read_csv('./flowers.csv')
X = df[list(df.columns)[:-1]]
y = df['Flower']
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state = 0)

tree = DecisionTreeClassifier(max_depth = 2).fit(X_train, y_train)


tree_predictions = tree.predict(X_test)
print (tree.score(X_test, y_test))
print (confusion_matrix(y_test, tree_predictions))
print (precision_recall_fscore_support(y_test, tree_predictions))

svc = SVC(kernel = 'linear', C = 1).fit(X_train, y_train)


svc_predictions = svc.predict(X_test)
print (svc.score(X_test, y_test))
print (confusion_matrix(y_test, svc_predictions))
print (precision_recall_fscore_support(y_test, svc_predictions))

knn = KNeighborsClassifier(n_neighbors = 7).fit(X_train, y_train)


knn_predictions = knn.predict(X_test)
print (knn.score(X_test, y_test))
print (confusion_matrix(y_test, knn_predictions))
print (precision_recall_fscore_support(y_test, knn_predictions))

gnb = GaussianNB().fit(X_train, y_train)


gnb_predictions = gnb.predict(X_test)
print (gnb.score(X_test, y_test))
print (confusion_matrix(y_test, gnb_predictions))
print (precision_recall_fscore_support(y_test, gnb_predictions))

வெ ளியீடு:

0.8947368421052632
[[15 Machine Learning – 1 Machine Learning – 0]
[ Machine Learning – 3 Machine Learning – 6 Machine Learning – 0]
[ Machine Learning – 0 Machine Learning – 0 Machine Learning – 13]]
(SQL) array(SQL) [0.83333333, Machine Learning – 0.85714286, Machine Learning – 1. Machine Learning – ]), Machine Learning – array(SQL) [0.9375, Machine Learning –
0.66666667, Machine Learning – 1. Machine Learning – ]), Machine Learning – array(SQL) [0.88235294, Machine Learning – 0.75, Machine Learning – 1. Machine Learning – ]), Machine Learning – array(SQL) [16, Machine Learning – 9, Machine Learning –
13], Machine Learning – dtype=int64))

152
0.9736842105263158
[[15 Machine Learning – 1 Machine Learning – 0]
[ Machine Learning – 0 Machine Learning – 9 Machine Learning – 0]
[ Machine Learning – 0 Machine Learning – 0 Machine Learning – 13]]
(SQL) array(SQL) [1. Machine Learning – , Machine Learning – 0.9, Machine Learning – 1. Machine Learning – ]), Machine Learning – array(SQL) [0.9375, Machine Learning – 1. Machine Learning – , Machine Learning – 1. Machine Learning – ]), Machine Learning – array(SQL) [0.96774194, Machine Learning –
0.94736842, Machine Learning – 1. Machine Learning – ]), Machine Learning – array(SQL) [16, Machine Learning – 9, Machine Learning – 13], Machine Learning – dtype=int64))

0.9736842105263158
[[15 Machine Learning – 1 Machine Learning – 0]
[ Machine Learning – 0 Machine Learning – 9 Machine Learning – 0]
[ Machine Learning – 0 Machine Learning – 0 Machine Learning – 13]]
(SQL) array(SQL) [1. Machine Learning – , Machine Learning – 0.9, Machine Learning – 1. Machine Learning – ]), Machine Learning – array(SQL) [0.9375, Machine Learning – 1. Machine Learning – , Machine Learning – 1. Machine Learning – ]), Machine Learning – array(SQL) [0.96774194, Machine Learning –
0.94736842, Machine Learning – 1. Machine Learning – ]), Machine Learning – array(SQL) [16, Machine Learning – 9, Machine Learning – 13], Machine Learning – dtype=int64))

1.0
[[16 Machine Learning – 0 Machine Learning – 0]
[ Machine Learning – 0 Machine Learning – 9 Machine Learning – 0]
[ Machine Learning – 0 Machine Learning – 0 Machine Learning – 13]]
(SQL) array(SQL) [1., Machine Learning – 1., Machine Learning – 1.]), Machine Learning – array(SQL) [1., Machine Learning – 1., Machine Learning – 1.]), Machine Learning – array(SQL) [1., Machine Learning – 1., Machine Learning – 1.]), Machine Learning – array(SQL) [16, Machine Learning –
9, Machine Learning – 13], Machine Learning – dtype=int64))

அடுத்ததாக ாடிக்ளைகயா(ர் புகாரில் உள்( ார்த்ளைதகளை(க் வெகாண்டு, Machine Learning – அந்தப் புகார்
எந்த ளைகயின் கீழ் அளை;யும் என கணிக்கும் MultinomialNB Machine Learning – algorithm Machine Learning –
பின் ரு;ாறு.

https://gist.github.com/
nithyadurai87/3ce9dab55025fe1fd41b4da48d3fcbd8

153
import pandas as pd
from io import StringIO
import matplotlib.pyplot as plt
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.feature_selection import chi2
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.feature_extraction.text import TfidfTransformer
from sklearn.naive_bayes import MultinomialNB

df = pd.read_csv('./Consumer_Complaints.csv', sep=',', error_bad_lines=False,


index_col=False, dtype='unicode')
df = df[pd.notnull(df['Issue'])]

fig = plt.figure(figsize=(8,6))
df.groupby('Product').Issue.count().plot.bar(ylim=0)
plt.show()

X_train, X_test, y_train, y_test = train_test_split(df['Issue'],


df['Product'], random_state = 0)
c = CountVectorizer()
clf = MultinomialNB().fit
(TfidfTransformer().fit_transform(c.fit_transform(X_train)), y_train)

print(clf.predict(c.transform(["This company refuses to provide me


verification and validation of debt per my right under the FDCPA. I do not
believe this debt is mine."])))

tfidf = TfidfVectorizer(sublinear_tf=True, min_df=5, norm='l2',


encoding='latin-1', ngram_range=(1, 2), stop_words='english')
features = tfidf.fit_transform(df.Issue).toarray()
print (features)
df['category_id'] = df['Product'].factorize()[0]
pro_cat = df[['Product',
'category_id']].drop_duplicates().sort_values('category_id')
print (pro_cat)
for i, j in sorted(dict(pro_cat.values).items()):
indices = np.argsort(chi2(features, df.category_id == j)[0])
print (indices)
feature_names = np.array(tfidf.get_feature_names())[indices]
unigrams = [i for i in feature_names if len(i.split(' ')) == 1]
bigrams = [i for i in feature_names if len(i.split(' ')) == 2]

154
print(">",i)
print("unigrams:",','.join(unigrams[:5]))
print("bigrams:",','.join(bigrams[:5]))

இதற்கு முதலில் ஒவ்வெ ாரு product Machine Learning – -ன் கீழும் எத்தளைன புகார்கள் பயிற்சிக்குக்
வெகாடுக்கப்பட்டுள்(ன என ஒரு ளைரபடம் மூலம் ளைரந்து பார்க்கப்படுகிறது.

பின்னர் அளை 70-30 Machine Learning – எனும் விகிதத்தின் படி பயிற்சி வெகாடுக்கப்பட்டு
வேசாதிக்கப்படுகிறது.

இதில் TfidfVectorizer Machine Learning – மூலம் புகாரில் உள்( தனித்தனி ார்த்ளைதகள் அளைனத்தும்
features Machine Learning – -ஆக வேசமிக்கப்படுகின்றன. Machine Learning – பின்னர் chi2 Machine Learning – மூலம் ஒவ்வெ ாரு தனித்தனி
category Machine Learning – -வேயாடும் வெதாடர்பு வெகாண்டுள்( ார்த்ளைதகளின் பட்டியல்
வேசமிக்கப்படுகிறது. Machine Learning – பின்னர் அளை தனித்தனி ார்த்ளைதயாக அளை;ந்தால் எந்த

155
category Machine Learning – -ன் கீழ் அளை;யும், Machine Learning – இரண்டிரண்டாக அளை;ந்தால் எந்த category Machine Learning – -ன்
கீழ் அளை;யும் என்பது unigrams, Machine Learning – bigrams Machine Learning – எனும் வெபயரில்
வேசமிக்கப்படுகின்றன..

17.1 Vectors

classification Machine Learning – problem Machine Learning – என்பது 'Software Testing' ஆம்'Software Testing' Machine Learning – அல்லது 'Software Testing' இல்ளைல'Software Testing' Machine Learning – எனும் ;திப்பின் கீழ்
கணிப்பிளைன நிகழ்த்தும் என ஏற்கனவே கண்வேடாம். Machine Learning – இளை முளைறவேய 1 Machine Learning – அல்லது 0-
ஆல் குறிக்கப்படும். Machine Learning – நாம் சிலச;யம் ாக்கியங்களை(வேயா, Machine Learning – நிiற்படங்களை(வேயா, Machine Learning –
ஓவியங்களை(வேயா உள்ளீடாகக் வெகாடுத்து பயிற்சி அளிக்க வே ண்டியிருக்கும். Machine Learning –
இதுவேபான்ற இடங்களில் இ ற்ளைறவெயல்லாம் 1'Software Testing' s Machine Learning – & Machine Learning – 0'Software Testing' s Machine Learning – -ஆக ;ாற்று தற்கு
sklearn Machine Learning – iங்குகின்ற பல்வே று ளைகயான வெ க்டர்கள் பற்றியும் அ ற்றின்
பயன்பாடுகள் பற்றியும் பின் ரு;ாறு காaலாம்.

பல்வே று ாக்கியங்களை(ப் வெபற்றிருக்கும் ஒரு வெதாகுப்பு corpus Machine Learning – எனப்படுகிறது. Machine Learning –
இந்த corpus-ல் உள்( அளைனத்ளைதயும் 0'Software Testing' s Machine Learning – & Machine Learning – 1'Software Testing' s Machine Learning – ஆக ;ாற்று தற்கு
dictvectorizer(SQL) ) Machine Learning – , Machine Learning – countvectorizer(SQL) ) Machine Learning – ஆகியளை பயன்படுகின்றன.

கீழ்க்கண்ட உதாரaத்தில் corpus1 Machine Learning – ;ற்றும் corpus2 Machine Learning – எனும் இரண்டு corpus Machine Learning –
வெகாடுக்கப்பட்டுள்(ன. Machine Learning – முதலில் உள்(து dictvectorizer(SQL) ) Machine Learning – -க்கு உதாரa;ாகவும்,
இரண்டா தாக உள்(து countvectorizer(SQL) ) Machine Learning – -க்கு உதாரa;ாகவும்
அளை;ந்துள்(து. Machine Learning – அடுத்ததாக vector Machine Learning – எனும் variable-ல், Machine Learning – corpus2-ல் உள்(
ாக்கியங்களுக்கான encode Machine Learning – வெசய்யப்பட்ட வெ க்டர்கள் அளை;ந்துள்(ன. Machine Learning – இ ற்ளைற
ளை த்து நாம் இரண்டு வெ க்டர்களுக்கிளைடவேயயான euclidean Machine Learning – distance-ஐ
எவ் ாறு கண்டுபிடிப்பது என்று பார்க்கலாம்.

https://gist.github.com/nithyadurai87/
f3fff58ab7272279ef069689fc391dec Machine Learning – Machine Learning – Machine Learning – Machine Learning –

156
from sklearn.feature_extraction import DictVectorizer
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.feature_extraction.text import HashingVectorizer
from sklearn.metrics.pairwise import euclidean_distances

corpus1 = [{'Gender': 'Male'},{'Gender': 'Female'},{'Gender': 'Transgender'},


{'Gender': 'Male'},{'Gender': 'Female'}]
corpus2 = ['Bird is a Peacock Bird','Peacock dances very well','It eats
variety of seeds','Cumin seed was eaten by it once']
vectors = [[2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],[0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1],
[0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0],[0, 1, 1, 0, 1, 0, 0, 1,
0, 1, 0, 1, 0, 0, 0, 1, 0]]

# one-hot encoding
v1 = DictVectorizer()
print (v1.fit_transform(corpus1).toarray())
print (v1.vocabulary_)

# bag-of-words (term frequencies, binary frequencies)


v2 = CountVectorizer()
print (v2.fit_transform(corpus2).todense())
print (v2.vocabulary_)

print (TfidfVectorizer().fit_transform(corpus2).todense())

print (HashingVectorizer(n_features=6).transform(corpus2).todense())

print (euclidean_distances([vectors[0]],[vectors[1]]))
print (euclidean_distances([vectors[0]],[vectors[2]]))
print (euclidean_distances([vectors[0]],[vectors[3]]))

1. Machine Learning – dictvectorizer(SQL) ) Machine Learning – -ஒரு categorical Machine Learning – variable-ஐ 1'Software Testing' s Machine Learning – & Machine Learning – 0'Software Testing' s Machine Learning – -ஆக ;ாற்ற
உதவும். Machine Learning – இங்கு 'Software Testing' Gender'Software Testing' Machine Learning – எனும் categorical Machine Learning – variable-ன் ;திப்பாக 'Software Testing' Male'Software Testing' , Machine Learning –
'Software Testing' Female'Software Testing' , Machine Learning – ‘Transgender'Software Testing' Machine Learning – ஆகியளை அளை;ந்துள்(ன. Machine Learning – முதலில் இத்தளைகய
unique Machine Learning – ;திப்புகளை( ளை த்து ஒரு dictionary-ஐ உரு ாக்கும். Machine Learning – பின்னர் இந்த 3 Machine Learning –

157
தனித்தனி ார்த்ளைதகளும், Machine Learning – அ ற்ளைறப் வெபற்று வி(ங்கும் 5 Machine Learning – ரிகளும் 5*3 Machine Learning –
dimension Machine Learning – வெகாண்ட ஒரு matrix-ஆக உரு ாக்கப்படும். Machine Learning – அதா து ஒவ்வெ ாரு
ரியும் அந்த matrix-ன் ஒரு row Machine Learning – ஆகவும், Machine Learning – அந்த ரியில் dictionary-ல் உள்(
ார்த்ளைத இடம்வெபற்றிருப்பின் 1 Machine Learning – எனவும், Machine Learning – இல்ளைலவெயனில் 0 Machine Learning – எனவும் வேபாட்டு
ளை த்துக்வெகாள்ளும். Machine Learning – இவ் ாவேற ஒரு வெ க்டர் உரு ாக்கப்படுகிறது. Machine Learning – இதுவே one-
hot Machine Learning – encoding Machine Learning – எனப்படுகிறது.

print (v1.fit_transform(corpus1).toarray())
[[0. 1. 0.]
[1. 0. 0.]
[0. 0. 1.]
[0. 1. 0.]
[1. 0. 0.]]

fit_transform(SQL) ) Machine Learning – என்பது ந;து corpus-ஐ உள்ளீடாக எடுத்துக்வெகாண்டு


வெ க்டருக்குக் கற்றுக்வெகாடுக்கும். Machine Learning – to_dense(SQL) ) Machine Learning – என்பது ார்த்ளைதகளின்
அடர்த்திக்கான வெ க்டளைர உரு ாக்கும். Machine Learning – _vocabulary Machine Learning – என்பது ந;து வெ க்டர்
உரு ாக்கத்திற்கு உதவிய dictionary-ஐக் வெகாண்டிருக்கும்.

print (v1.vocabulary_)
{'Gender=Male': 1, 'Gender=Female': 0, 'Gender=Transgender': 2}

2. Machine Learning – countvectorizer(SQL) ) Machine Learning – - Machine Learning – வெகாடுக்கப்பட்ட ாக்கியங்கள் அளைனத்ளைதயும் 1'Software Testing' s Machine Learning – & Machine Learning –
0'Software Testing' s Machine Learning – -ஆக ;ாற்றும். Machine Learning – ந;து உதாரaத்தில் 4 Machine Learning – ரிகளும், Machine Learning – 17 Machine Learning – தனித்து ார்த்ளைதகளும்
உள்(ன. Machine Learning – எனவே 4*17 Machine Learning – dimension Machine Learning – வெகாண்ட matrix Machine Learning – உரு ாக்கப்பட்டுள்(து. Machine Learning – ன்
ஒவ்வெ ாரு ரியிலும் எந்வெதந்த ார்த்ளைத இடம்வெபற்றுள்(வேதா அது 1 Machine Learning – எனவும், Machine Learning –
இடம்வெபறாத ார்த்ளைத 0 Machine Learning – எனவும் அளை;ந்திருப்பளைதக் காaலாம். Machine Learning – இதுவே bag Machine Learning – of Machine Learning –
words Machine Learning – எனப்படுகிறது.

158
ார்த்ளைதகள் அளை;ந்திருக்கும் அவேத ரிளைசயில்தான் encode Machine Learning – வெசய்யப்பட்டளை
இடம் வெபற்றிருக்கும் எனக் கூற முடியாது. Machine Learning – ார்த்ளைதகளில் உள்( எல்லா
எழுத்துக்களை(யும், Machine Learning – சிறிய எழுத்துக்க(ாக ;ாற்றிவிட்டு அதளைன tokens-ஆக
;ாற்றும். Machine Learning – Tokenization Machine Learning – என்பது இரண்டுக்கும் வே;ற்பட்ட எழுத்துக்களை(ப்
வெபற்றிருக்கும் ார்த்ளைதகளை( இளைடவெ ளி ளை த்துப் பிரித்து tokens-ஆக
;ாற்று வேத ஆகும். Machine Learning – Tokens Machine Learning – என்பது வேகாப்பினுள் இடம் வெபற்றுள்( ார்த்ளைதகள்
ஆகும்.

Bird Machine Learning – is Machine Learning – a Machine Learning – Peacock Machine Learning – Bird'Software Testing' ,'Software Testing' Peacock Machine Learning – dances Machine Learning – very Machine Learning – well'Software Testing' ,'Software Testing' It Machine Learning – eats Machine Learning – variety Machine Learning –
of Machine Learning – seeds'Software Testing' ,'Software Testing' Cumin Machine Learning – seed Machine Learning – was Machine Learning – eaten Machine Learning – by Machine Learning – it Machine Learning – once'Software Testing'

print (v2.fit_transform(corpus2).todense())
[[2 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0]
[0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 1]
[0 0 0 0 0 1 0 1 1 0 0 0 1 1 0 0 0]
[0 1 1 0 1 0 0 1 0 1 0 1 0 0 0 1 0]]

இதளைன binary Machine Learning – frequency Machine Learning – ;ற்றும் term Machine Learning – frequency Machine Learning – என்னும் இரண்டு
விதங்களில் குறிப்பிடலாம். Machine Learning – binary Machine Learning – என்பது வெ றும் 1'Software Testing' s Machine Learning – & Machine Learning – 0'Software Testing' s Machine Learning – -ஐ ;ட்டும்
வெ ளிப்படுத்தும். Machine Learning – term Machine Learning – என்பது ஒவ்வெ ாரு ார்த்ளைதயும் எத்தளைன முளைற
இடம்வெபற்றுள்(து என்பளைத வெ ளிப்படுத்தும். Machine Learning – இங்கு Bird Machine Learning – என்பது முதல்
ாக்கியத்தில் இரண்டு முளைற உள்(தால் அந்த இடத்தில் 2 Machine Learning – என
வெ ளிப்படுத்தப்பட்டுள்(ளைதக் காaவும்.

இதற்கான vocabulary-ல் அந்த ரியிலிருந்தும் எடுக்கப்பட்ட 17 Machine Learning – தனித்து


ார்த்ளைதகள் அளை;ந்திருப்பளைதக் காaவும் (SQL) 0 Machine Learning – முதல் 16 Machine Learning – ளைர). Machine Learning – இங்கு Bird, Machine Learning –
Peacock, Machine Learning – it Machine Learning – ஆகிய ார்த்ளைதகள் இரண்டு முளைற இடம்வெபற்றுள்(து. Machine Learning – ஆனால் ஒவேர
ஒரு முளைற ;ட்டும் தான் இங்கு வேசமிக்கப்பட்டுள்(து. Machine Learning – அவ் ாவேற case-sensitive Machine Learning –
இல்லா;ல் it, Machine Learning – It Machine Learning – ஆகிய இரண்டும் ஒன்றாக எடுத்துக்வெகாள்(ப்பட்டுள்(து. Machine Learning – வே;லும்
a Machine Learning – என்பது ஒரு தனி ார்த்ளைதயாக எடுத்துக்வெகாள்(ப்படவில்ளைல.

159
print (v2.vocabulary_)
{'bird': 0, 'is': 6, 'peacock': 10, 'dances': 3, 'very': 14, 'well': 16, 'it':
7
, 'eats': 5, 'variety': 13, 'of': 8, 'seeds': 12, 'cumin': 2, 'seed': 11,
'was':
15, 'eaten': 4, 'by': 1, 'once': 9}

3. Machine Learning – TfidfVectorizer(SQL) ) Machine Learning – Machine Learning – - Machine Learning – Term Machine Learning – frequency Machine Learning – மூலம் உரு ாக்கப்படும் வெ க்டளைர
normalize Machine Learning – வெசய்து அந்த frequency Machine Learning – -க்கான weight-ஐ வெ ளிப்படுத்தும். Machine Learning –
வெ றும் raw Machine Learning – count-ஆக 2 Machine Learning – என வெ ளிப்படுத்தா;ல், Machine Learning – அதளைன normalize Machine Learning – வெசய்து
வெ ளிப்படுத்து வேத L2 Machine Learning – Normalization Machine Learning – (SQL) level2) Machine Learning – எனப்படும்.

print (TfidfVectorizer().fit_transform(corpus2).todense())
[[0.84352956 0. 0. 0. 0. 0.
0.42176478 0. 0. 0. 0.3325242 0.
0. 0. 0. 0. 0. ]
[0. 0. 0. 0.52547275 0. 0.
0. 0. 0. 0. 0.41428875 0.
0. 0. 0.52547275 0. 0.52547275]
[0. 0. 0. 0. 0. 0.46516193
0. 0.36673901 0.46516193 0. 0. 0.
0.46516193 0.46516193 0. 0. 0. ]
[0. 0.38861429 0.38861429 0. 0.38861429 0.
0. 0.30638797 0. 0.38861429 0. 0.38861429
0. 0. 0. 0.38861429 0. ]]

4. Machine Learning – HashingVectorizer(SQL) ) Machine Learning – - Machine Learning – அகராதியின் துளைa இல்லா;வேலவேய வேநரடியாக
வெ க்டளைர உரு ாக்கும்.. Machine Learning – வே;ற்கண்ட dict Machine Learning – & Machine Learning – count Machine Learning – ஆகிய இரண்டும் 2 Machine Learning – படிகளில்
வே ளைல வெசய்யும். Machine Learning – முதலில் வெ க்டர் உரு ாக்கத்திற்குத் வேதளை யான dictionary-
ளைய உரு ாக்கும். Machine Learning – அடுத்தபடியாகத்தான் வெ க்டளைர உரு ாக்கும். Machine Learning – இதில் முதல்
படிளையத் தவிர்த்து வேநரடியாக வெ க்டளைர உரு ாக்கு ளைதத்தான் Hashing Machine Learning – Trick Machine Learning –
என்வேபாம். Machine Learning – ஏவெனனில் dictionary-ன் அ(வு வெபருகப் வெபருக அந்த(வுக்குப் வெபரிய
அகராதிளைய வேசமிக்கத் வேதளை யான memory-ன் அ(வும் அதிகரிக்கும். Machine Learning – இளைதத்

160
தவிர்ப்பதற்காக ந்தவேத இவ் ளைகயான வெ க்டர் ஆகும்.

print (HashingVectorizer(n_features=6).transform(corpus2).todense())
[[ 0. -0.70710678 -0.70710678 0. 0. 0. ]
[ 0. 0. -0.81649658 -0.40824829 0.40824829 0. ]
[ 0.75592895 0. -0.37796447 0. -0.37796447 -0.37796447]
[ 0.25819889 0.77459667 0. -0.51639778 0. 0.25819889]]

5. Machine Learning – euclidean_distances Machine Learning – - Machine Learning – encode Machine Learning – வெசய்யப்பட்ட இரண்டு
ாக்கியங்களுக்கிளைடவேயயான வே றுபாடு எந்த அ(வுக்கு உள்(து என்பளைதக்
கaக்கிட உதவும். Machine Learning – வே;ற்கண்ட உதாரaத்தில் முதல் இரண்டு ாக்கியங்களுக்கு
இளைடவேயயான வே றுபாடு சற்று குளைற ாகவும், Machine Learning – முதலுக்கும் 3- து
ாக்கியத்துக்கு;ான வே றுபாடு சற்று அதிக;ாகவும், Machine Learning – முதலுக்கும் 4- து
ாக்கியத்துக்கு;ான வே றுபாடு இன்னும் சற்று அதிக;ாகவும் இருப்பளைதக்
காaலாம்.

print (euclidean_distances([vectors[0]],[vectors[1]]))
[[2.82842712]]

print (euclidean_distances([vectors[0]],[vectors[2]]))
[[3.31662479]]

print (euclidean_distances([vectors[0]],[vectors[3]]))
[[3.60555128]]

161
17.2 Natural Language Toolkit

இது ளைர நாம் கண்ட வெ க்டர் உரு ாக்கம் அளைனத்திலும் ஏவேதனும் ஓரிரண்டு
ார்த்ளைதகள் ;ட்டுவே; இடம்வெபற்றிருந்தாலும் கூட, Machine Learning – இடம் வெபறாத
ார்த்ளைதகளுக்கான 0'Software Testing' s Machine Learning – ஐ அது வெகாண்டிருக்கும். Machine Learning – இதனால் அந்த வெ க்டருளைடய
அ(வு அதிகரிக்கிறது. Machine Learning – இதுவேபான்ற அதிக அ(விலான 0'Software Testing' s Machine Learning – -ஐப் வெபற்று வி(ங்கும்
வெ க்டர்தான் sparse Machine Learning – vector Machine Learning – என்று அளைiக்கப்படுகிறது. Machine Learning – உதாரaத்துக்கு ஒரு
வேகாப்பினுள் அரசியல், Machine Learning – சினி;ா, Machine Learning – விளை(யாட்டு வேபான்ற பல்வே று துளைறகளுக்கான
ாக்கியங்கள் உள்(வெதனில், Machine Learning – அ ற்ளைறவெயல்லாம் ஒரு வெ க்டராக ;ாற்றும் வேபாது
அரசியலுக்கான ரியில் சினி;ாவுக்கான ார்த்ளைத இடம்வெபற்றிருக்காது, Machine Learning – அவேதவேபால்
சினி;ாவுக்கான ரியில் விளை(யாட்டுக்கான ார்த்ளைத இடம்வெபற்றிருக்காது. Machine Learning –
இவேதவேபால் பார்த்தால் ஒவ்வெ ாரு ரியிலும் வேதளை யில்லாத பல 0’s s Machine Learning –
நிளைறந்திருக்கும். Machine Learning – இதனால் 2 Machine Learning – முக்கியப் பிரச்சளைனகள் எழுகின்றன.

முதலா தாக அதிக அ(வு memory Machine Learning – & Machine Learning – space Machine Learning – வீaாகிறது. Machine Learning – Numpy Machine Learning – என்பது 0’s s Machine Learning –
அல்லாத ற்ளைற ;ட்டும் குறிப்பிடு தற்காக ஒருசில சிறப்பு ளைக தரவு ளைககளை(
iங்குகின்றன. Machine Learning – அடுத்ததாக dimensionality-ன் அ(வு அதிகரிக்க அதிகரிக்க அந்த
அ(வுக்குப் பயிற்சி அளிக்கத் வேதளை யான தரவுகளின் எண்ணிக்ளைகயும்
அதிகரிக்கிறது. Machine Learning – இல்ளைலவெயனில் overfit Machine Learning – ஆ தற்கான அபாயம் உள்(து. Machine Learning – இதுவே
'Software Testing' curse Machine Learning – of Machine Learning – dimensionality'Software Testing' Machine Learning – அல்லது 'Software Testing' Hughes Machine Learning – effect'Software Testing' Machine Learning – என்றளைiக்கப்படுகிறது.
இளைத எவ் ாறு குளைறப்பது எனப் வேபசு வேத dimensionality Machine Learning – reduction Machine Learning – ஆகும்.

ந;து வெ க்டர் உரு ாக்கத்தின்வேபாது stop_words='Software Testing' english'Software Testing' Machine Learning – எனக்
வெகாடுத்வேதா;ானால் is,was,are Machine Learning – வேபான்ற ஆங்கிலத்தில் ருகின்ற துளைaச்
வெசாற்களை( எல்லாம் தவிர்த்து மீதமுள்( வெசாற்களுக்கு ;ட்டும் dictionary Machine Learning –
உரு ாக்கப்படும். Machine Learning – இதனால் அதன் dimensionality Machine Learning – குளைறகிறது.

அவ் ாவேற NLTK Machine Learning – எனும் கருவி ஒன்று உள்(து. Machine Learning – அதிலுள்( stemmer, Machine Learning –
lemmatizer Machine Learning – ஆகிய ற்ளைறப் பயன்படுத்து தன் மூலம் வெ க்டரின்
dimensionality Machine Learning – இன்னும் குளைறக்கப்படு ளைதக் காaலாம்.

162
https://gist.github.com/
nithyadurai87/491e5e6f9c009ebd88912e71ef9363a4

"""
import nltk
nltk.download()
"""

from sklearn.feature_extraction.text import CountVectorizer


from nltk import word_tokenize
from nltk.stem import PorterStemmer
from nltk.stem.wordnet import WordNetLemmatizer
from nltk import pos_tag

def lemmatize(token, tag):


if tag[0].lower() in ['n', 'v']:
return WordNetLemmatizer().lemmatize(token, tag[0].lower())
return token

corpus = ['Bird is a Peacock Bird','Peacock dances very well','It eats variety


of seeds','Cumin seed was eaten by it once']

print (CountVectorizer().fit_transform(corpus).todense())
print (CountVectorizer(stop_words='english').fit_transform(corpus).todense())

print (PorterStemmer().stem('seeds'))

print (WordNetLemmatizer().lemmatize('gathering', 'v'))


print (WordNetLemmatizer().lemmatize('gathering', 'n'))

s_lines=[]
for document in corpus:
s_words=[]
for token in word_tokenize(document):
s_words.append(PorterStemmer().stem(token))
s_lines.append(s_words)
print ('Stemmed:',s_lines)

tagged_corpus=[]
for document in corpus:
tagged_corpus.append(pos_tag(word_tokenize(document)))

163
l_lines=[]
for document in tagged_corpus:
l_words=[]
for token, tag in document:
l_words.append(lemmatize(token, tag))
l_lines.append(l_words)
print ('Lemmatized:',l_lines)

இதளைன பின் ரு;ாறு பதிவிறக்கம் வெசய்து பயன்படுத்தலாம்.

import nltk
nltk.download()

164
Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning –

'Software Testing' Bird Machine Learning – is Machine Learning – a Machine Learning – Peacock Machine Learning – Bird'Software Testing' ,'Software Testing' Peacock Machine Learning – dances Machine Learning – very Machine Learning – well'Software Testing' ,'Software Testing' It Machine Learning – eats Machine Learning – variety Machine Learning –
of Machine Learning – seeds'Software Testing' ,

'Software Testing' Cumin Machine Learning – seed Machine Learning – was Machine Learning – eaten Machine Learning – by Machine Learning – it Machine Learning – once'Software Testing'

1. Machine Learning – வே;ற்கண்ட ாக்கியங்களுக்கான CountVectorizer(SQL) ) Machine Learning – என்பது பின் ரு;ாறு
ஒரு வெ க்டளைர உரு ாக்கும் (SQL) 4*17). Machine Learning –

print (CountVectorizer().fit_transform(corpus).todense())

[[2 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0]

165
[0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 1]
[0 0 0 0 0 1 0 1 1 0 0 0 1 1 0 0 0]
[0 1 1 0 1 0 0 1 0 1 0 1 0 0 0 1 0]]

வே;ற்கண்ட அவேத ாக்கியங்களுக்கு stop_words='Software Testing' english'Software Testing' Machine Learning – எனக் வெகாடுத்து
வெ க்டர் உரு ாக்கும்வேபாது,
is, Machine Learning – very, Machine Learning – well, Machine Learning – it, Machine Learning – of, Machine Learning – was, Machine Learning – by, Machine Learning – once Machine Learning – ஆகிய ார்த்ளைதகள் நீக்கப்படு தால்
dimensionality
குளைறந்து இருப்பளைதக் காaலாம் (SQL) 4*9).

print (CountVectorizer(stop_words='english').fit_transform(corpus).todense())
[[2 0 0 0 0 1 0 0 0]
[0 0 1 0 0 1 0 0 0]
[0 0 0 0 1 0 0 1 1]
[0 1 0 1 0 0 1 0 0]]

2. Machine Learning – stop_words='Software Testing' english'Software Testing' Machine Learning – பயன்படுத்தினாலும் கூட, Machine Learning – seeds, Machine Learning – seed Machine Learning – ஆகிய
இரண்டும் இரண்டு தனித்தனி ார்த்ளைதக(ாக வேசமிக்கப்படுகின்றன. Machine Learning – இளைதத்
தவிர்ப்பதற்காக ந்தவேத PorterStemmer(SQL) ) Machine Learning – ஆகும். Machine Learning – இது ஒரு ஆங்கிலச் வெசால்லின்
வே ர்வெசால்ளைல கண்டறிந்து அளைத ;ட்டும் வேசமிக்கும். Machine Learning – அளைதத் தழுவி ருகின்ற
இன்ன பிற வெசாற்களை(வெயல்லாம் வேசமிக்காது.

print (PorterStemmer().stem('seeds'))
seed

166
3. Machine Learning – WordNetLemmatizer(SQL) ) Machine Learning – என்பது ஒரு ஆங்கிலச் வெசால்ளைல அதன்
வெபாரு(றிந்து பிரித்து வேசமிக்கும். Machine Learning – அதா து ஒவேர ஒரு வெசால் ஓரிடத்தில்
வெபயர்ச்வெசால்லாகவும் ;ற்வெறாரு இடத்தில் விளைனவெசால்லாகவும்
பயன்படுத்தப்பட்டிருப்பின் அளை இரண்ளைடயும் இரண்டு தனித்தனி வெசாற்க(ாகச்
வேசமிக்கும். Machine Learning – உதாரaத்துக்கு 'Software Testing' I Machine Learning – am Machine Learning – gathering Machine Learning – foods Machine Learning – for Machine Learning – birds'Software Testing' , Machine Learning – 'Software Testing' seeds Machine Learning – are Machine Learning –
stored Machine Learning – in Machine Learning – the Machine Learning – gathering Machine Learning – place'Software Testing' Machine Learning – என்பதில் gathering, Machine Learning – gather Machine Learning – என்பது
இரண்டு தனித்தனி ார்த்ளைதக(ாக வேசமிக்கப்படும்.

print (WordNetLemmatizer().lemmatize('gathering', 'v'))


gather

print (WordNetLemmatizer().lemmatize('gathering', 'n'))


gathering

4. Machine Learning – நம்முளைடய corpus-ஐ NLTK Machine Learning – வெகாண்டு அணுகும்வேபாது, Machine Learning – அது பின் ரு;ாறு
வெ ளிப்படுத்தும்.

print ('Stemmed:',s_lines)
Stemmed: [['bird', 'is', 'a', 'peacock', 'bird'], ['peacock', 'danc', 'veri',
'w
ell'], ['It', 'eat', 'varieti', 'of', 'seed'], ['cumin', 'seed', 'wa',
'eaten',
'by', 'it', 'onc']]

print ('Lemmatized:',l_lines)
Lemmatized: [['Bird', 'be', 'a', 'Peacock', 'Bird'], ['Peacock', 'dance',
'very', 'well'],
['It', 'eat', 'variety', 'of', 'seed'], ['Cumin', 'seed', 'be', 'eat', 'by',
'it', 'once']]

167
18. Decision Trees & Random Forest

Regression Machine Learning – ;ற்றும் Classification Machine Learning – இரண்டிற்கும் உத க்கூடிய வேநர்வேகாடு
முளைறயில் பிரிக்க இயலாத non-linear Machine Learning – தரவுகளுக்கான model-ஆக decision Machine Learning –
trees Machine Learning – ;ற்றும் random Machine Learning – forest Machine Learning – வி(ங்குகிறது. Machine Learning – Decision Machine Learning – trees Machine Learning – என்பது
வெபாது ாக ;ாதிரித் தரவுகளில் உள்( ;திப்புகளை(க் வெகாண்டு அ ற்ளைற சிறுசிறு
பகுதிக(ாகப் பிரித்துக் கற்கிறது. Machine Learning – கீழ்க்கண்ட எடுத்துக்காட்டில் ஒரு ;லர் ;ல்லியா, Machine Learning –
வேராஜா ா, Machine Learning – தா;ளைரயா என்று தீர்;ானிக்க DecisionTreeClassifier(SQL) ) Machine Learning – ;ற்றும்
RandomForestClassifier(SQL) ) Machine Learning – பயன்படுத்தப்பட்டுள்(ன. Machine Learning – ஒவ்வெ ாரு ;லரின்
இதழ்களுளைடய(SQL) sepal) Machine Learning – நீ( அகலமும், Machine Learning – அ ற்றின் வே;ற்புற இதழ்களுளைடய(SQL) petal) Machine Learning –
நீ( அகலமு;ான 4 Machine Learning – அம்சங்கவே( ஒரு ;லர் எந்த ;லராக இருக்கும் என்பளைதத்
தீர்;ானிக்கிறது. Machine Learning – இந்த அம்சங்களிலுள்( தரவுகளை( பல்வே று பகுதிக(ாகப் பிரித்துக்
கற்கும் வே ளைலளைய DecisionTreeClassifier(SQL) ) Machine Learning – வெசய்கிறது. Machine Learning –

அவ் ாறு தரவுகளை(ப் பிரிப்பது என்பது ஒருசில conditions-ஐப் வெபாறுத்து


நடக்கிறது. Machine Learning – எனவே தான் இளை Eager Machine Learning – learners Machine Learning – என்று அளைiக்கப்படுகின்றன. Machine Learning –
இதற்கு ;ாற்றாக KNN Machine Learning – என்பது lazy Machine Learning – learners Machine Learning – ஆகும். Machine Learning – Ensemble Machine Learning – learning Machine Learning –
எனும் முளைறயில் random Machine Learning – forest Machine Learning – கற்கிறது. Machine Learning – Ensemble Machine Learning – என்றால் குழு;ம் என்று
வெபாருள். Machine Learning – அதா து பல்வே று decision Machine Learning – trees-ஐ உரு ாக்கி, Machine Learning – அ ற்ளைற குழு;;ாக
ளை த்துக் கற்கிறது. Machine Learning – குழு;த்தில் உள்( ஒவ்வெ ாரு tree-ம் வெ வ்வே று பயிற்சித்
தரவுகளை( எடுத்துக் வெகாண்டு பயிற்சி வெபற்றுக் வெகாள்கிறது. Machine Learning – எனவே இதனுளைடய
accuracy Machine Learning – இன்னும் அதிக;ாக இருக்கும். Machine Learning – கீழ்க்கண்ட எடுத்துக்காட்டில்
இளை களுக்கான நிரளைலக் காaலாம். Machine Learning – Decision Machine Learning – Trees Machine Learning – 89% Machine Learning – accuracy Machine Learning – -ஐயும், Machine Learning –
Random Machine Learning – forest Machine Learning – 97% Machine Learning – accuracy Machine Learning – -ஐயும் வெ ளிப்படுத்து ளைதக் காaலாம். Machine Learning –
வே;லும் ஒவ்வெ ான்றும் எவ் ாறு தரவுகளை(ப் பிரித்துக் கற்கிறது என்பது
ளைரபட;ாகவும் காட்டப்பட்டுள்(து.

https://gist.github.com/nithyadurai87/
d21ffb25b7f5a38d90a437e9f169d58e Machine Learning –

168
from sklearn.datasets import load_iris
import pandas as pd
import os
from sklearn.tree import DecisionTreeClassifier,export_graphviz
from sklearn.metrics import
confusion_matrix,accuracy_score,classification_report
from io import StringIO
import pydotplus
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from IPython.display import Image
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.read_csv('./flowers.csv')
X = df[list(df.columns)[:-1]]
y = df['Flower']
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state = 0)

a = DecisionTreeClassifier(criterion = "entropy", random_state =


100,max_depth=3, min_samples_leaf=5) # gini
a.fit(X_train, y_train)
y_pred = a.predict(X_test)
print("Confusion Matrix: ", confusion_matrix(y_test, y_pred))
print ("Accuracy : ", accuracy_score(y_test,y_pred)*100)
print("Report : ", classification_report(y_test, y_pred))

dot_data = StringIO()
export_graphviz(a, out_file=dot_data,filled=True,
rounded=True,special_characters=True)
graph = pydotplus.graph_from_dot_data(dot_data.getvalue())
Image(graph.create_png())
graph.write_png("decisiontree.png")

b = RandomForestClassifier(max_depth = None, n_estimators=100)


b.fit(X_train,y_train)
y_pred = b.predict(X_test)
print("Confusion Matrix: ", confusion_matrix(y_test, y_pred))
print ("Accuracy : ", accuracy_score(y_test,y_pred)*100)
print("Report : ", classification_report(y_test, y_pred))

export_graphviz(b.estimators_[5], out_file='tree.dot', feature_names =


X_train.columns.tolist(),

169
class_names = ['Lotus', 'Jasmin', 'Rose'],
rounded = True, proportion = False, precision = 2, filled =
True)

os.system ("dot -Tpng tree.dot -o randomforest.png -Gdpi=600")


Image(filename = 'randomforest.png')
f =
pd.Series(b.feature_importances_,index=X_train.columns.tolist()).sort_values(a
scending=False)
sns.barplot(x=f, y=f.index)
plt.xlabel('Feature Importance Score')
plt.ylabel('Features')
plt.legend()
plt.show()

நிரலுக்கான வி(க்கம்:

flowers.csv Machine Learning – எனும் வேகாப்பில் வெ;ாத்தம் 150 Machine Learning – தரவுகள் பயிற்சிக்கு உள்(ன. Machine Learning – அளை
train_test_split(SQL) ) Machine Learning – எனும் முளைறப்படி 112 Machine Learning – தரவுகள் பயிற்சிக்கும், Machine Learning – மீதி 38 Machine Learning –
தரவுகள் பயிற்சி வெசய்யப்பட்ட model-ஐ வேசாதிப்பதற்கும்
பயன்படுத்தப்பட்டுள்(ன. Machine Learning – கீழ்க்கண்ட decision Machine Learning – tree-ன் முதல் node-க்குள் உள்(
samples=112 Machine Learning – என்பது வெ;ாத்தம் பயிற்சிக்கு அளிக்கப்பட்டுள்( தரவுகளை(க்
குறிக்கிறது. Machine Learning – value Machine Learning – = Machine Learning – [34,41,37] Machine Learning – என்பது 34 Machine Learning – தரவுகள் ;ல்லிளைகக்கும் 41 Machine Learning –
தரவுகள் தா;ளைரக்கும், Machine Learning – 37 Machine Learning – தரவுகள் வேராஜாவுக்கும் அளை;ந்துள்(ன எனும்
வி ரத்ளைதக் வெகாடுக்கிறது. Machine Learning – entropy Machine Learning – = Machine Learning – 1.581 Machine Learning – ;ாதிரிகளில் உள்( uncertainty Machine Learning – /
disorder Machine Learning – / Machine Learning – impurity-ஐக் குறிக்கிறது. Machine Learning – அதா து நாம் ளைகப்படுத்த வே ண்டிய
பல்வே று பிரிவுகளில் உள்( தரவுகளும் எந்த அ(வு விகிதத்தில் கலந்துள்(ன
என்பளைதக் கூறும். Machine Learning – இதற்கான கaக்கீடு பின் ரும் முளைறயில் நிகழும். Machine Learning – முதலில்
வெ;ாத்த தரவுகளில் ஒவ்வெ ாரு பிரிளை ச் வேசர்ந்த தரவுகளும் எவ் (வு
எண்ணிக்ளைகயில் உள்(ன எனும் பின்னம் கaக்கிடப்படும். Machine Learning – பின்னர் அம்;திப்புக்கு
log Machine Learning – base Machine Learning – 2 Machine Learning – கண்டுபிடிக்க வே ண்டும். Machine Learning – இதற்கான கருவி
https://www.miniwebtool.com/log-base-2-calculator/ Machine Learning – Machine Learning – எனும்
ளைலத்த(த்தில் உள்(து. Machine Learning – இவ் ாவேற ;ல்லி, Machine Learning – வேராஜா, Machine Learning – தா;ளைர என்னும் ஒவ்வெ ாரு

170
பிரிவுக்கும் தனித்தனியாகக் கண்டுபிடிக்க வே ண்டும். Machine Learning – களைடசியாக இளை களின்
கூட்டுத்வெதாளைகளைய - Machine Learning – எனும் எதிர்;ளைற குறியால் வெபருக்கினால் கிளைடப்பவேத
entropy Machine Learning – ஆகும்.

Entropy Machine Learning – = Machine Learning – - Machine Learning – {Summation Machine Learning – of Machine Learning – (SQL) fraction Machine Learning – of Machine Learning – each Machine Learning – class.log Machine Learning – base Machine Learning – 2 Machine Learning – of Machine Learning –
that Machine Learning – fraction)}
= Machine Learning – -{ Machine Learning – (SQL) 34/112).log2(SQL) 34/112) Machine Learning – + Machine Learning – (SQL) 41/112).log2(SQL) 41/112) Machine Learning – + Machine Learning –
(SQL) 37/112).log2(SQL) 37/112) Machine Learning – }
= Machine Learning – -{ Machine Learning – (SQL) 0.3035).log2(SQL) 0.3035) Machine Learning – + Machine Learning – (SQL) 0.3661).log2(SQL) 0.3661) Machine Learning – + Machine Learning –
(SQL) 0.3303).log2(SQL) 0.3303) Machine Learning – }
= Machine Learning – -{ Machine Learning – (SQL) 0.3035).(SQL) -1.7202) Machine Learning – + Machine Learning – (SQL) 0.3661).(SQL) -1.4496) Machine Learning – + Machine Learning – (SQL) 0.3303).(SQL) -
1.5981) Machine Learning – }
= Machine Learning – -{ Machine Learning – -0.5220 Machine Learning – + Machine Learning – -0.5307 Machine Learning – + Machine Learning – -0.5278 Machine Learning – }
= Machine Learning – -{ Machine Learning – -1.5805}
= Machine Learning – 1.581

171
கaக்கிடப்பட்ட entropy Machine Learning – ;திப்ளைபவேய ளைரப்படத்தின் முதல் node-ல்
காaலாம். Machine Learning – இம்;திப்பு 0-க்கு அதிக;ாக இருப்பதால், Machine Learning – 112 Machine Learning – தரவுகளும் ஒரு
condition Machine Learning – மூலம் 37, Machine Learning – 75 Machine Learning – எனும் எண்ணிக்ளைகயில் அளை;யும் இரு பிரிவுக(ாகப்
பிரிக்கப்படுகின்றன. Machine Learning – அதா து X2 Machine Learning – எனப்படும் Petal_length Machine Learning – அம்சத்தின்
;திப்புகளில் 2.35 Machine Learning – -க்கு கீழ் இருந்தால் அத்தளைகய தரவுகள் இடப்புற node-லும், Machine Learning –
அதிக;ாக உள்(ளை லப்புற node-லும் பிரிக்கப்படுகின்றன. Machine Learning – பின்னர் மீண்டும்
பிரிக்கப்பட்ட இரு பிரிவுகளுக்கும் entropy Machine Learning – கaக்கிடப்படுகிறது. Machine Learning – இடப்புறம் உள்(
node-ல் entropy Machine Learning – 0.0 Machine Learning – என ந்துள்(து. Machine Learning – இதுவே decision Machine Learning – node Machine Learning – எனப்படும். Machine Learning –
அதா து 0-ஆக இருக்கும் பட்சத்தில் அதில் உள்( தரவுகள் அளைனத்தும் ஏவேதா ஒரு
ளைகயின் கீழ் பிரிக்கப்பட்டுவிட்டது என்று அர்த்தம். Machine Learning – அதன் value Machine Learning – ;திப்பும்

172
[0,0,37] Machine Learning – என்று உள்(து. Machine Learning – அதா து ;ல்லிளைகக்கும், Machine Learning – தா;ளைரக்கு;ான தரவுகளின்
எண்ணிக்ளைக 0. Machine Learning – வேராஜாவுக்கான எண்ணிக்ளைக 37. Machine Learning – இதுவே ஒரு பூளை வேராஜா என
முடிவு வெசய் தற்கான decision Machine Learning – node Machine Learning – ஆகும். Machine Learning – இவேத முளைறயில்
ளைரப்படத்திலுள்( ;ற்ற nodes Machine Learning – உரு ாக்கப்படுகின்றன. Machine Learning – ;ற்ற features-ம்
வேசாதிக்கப்படுகின்றன. Machine Learning – ளைரப்படத்தின் களைடசி கிளை(யில் ஒரு பூளை ;ல்லி அல்லது
தா;ளைர என முடிவு வெசய் தற்கான decision Machine Learning – nodes Machine Learning – அளை;ந்துள்(ன. Machine Learning – அதா து
களைடசி கிளை(யில் இடமிருந்து ல;ாக உள்( 3 Machine Learning – nodes-ல், Machine Learning – அதன் value Machine Learning –
;திப்புகளை( க னிக்கவும். Machine Learning – ;ல்லி என முடிவு வெசய் தற்கான இடத்தில் 34 Machine Learning – என
வெ;ாத்த;ாக இல்லா;ல், Machine Learning – 30, Machine Learning – 3, Machine Learning – 1 Machine Learning – என தனித்தனியாகப் பிரித்து இத்தளைகய
decision Machine Learning – nodes-ஐ உரு ாக்கியுள்(து. Machine Learning – அவ் ாவேற லமிருந்து இட;ாக உள்( 3 Machine Learning –
nodes-ல், Machine Learning – தா;ளைர என முடிவு வெசய் தற்கான இடத்தில் 41 Machine Learning – என வெ;ாத்த;ாக
இல்லா;ல், Machine Learning – 30, Machine Learning – 8, Machine Learning – 3 Machine Learning – எனத் தனித்தனியாகப் பிரித்து உரு ாக்கியுள்(து. Machine Learning – எனவே தான்
இளை களின் entropy Machine Learning – 0 Machine Learning – ;ற்றும் அதற்கு வெநருங்கிய ;திப்பாக உள்(து.

Information Gain:

ஒரு குறிப்பிட்ட பிரிவில் தரவுகளை( ளைகப்படுத்து தற்குத் வேதளை யான


வி ரங்களை( எந்த அ(வுக்கு ஒரு feature Machine Learning – அளிக்கிறது என்பவேத Information Machine Learning –
Gain Machine Learning – எனப்படும். Machine Learning – இதுவும் entropy-ஐப் வேபான்வேற தரவுகளை( சரியாக
ளைகப்படுத்த உதவும் ஒரு metric Machine Learning – ஆகும். Machine Learning – entropy Machine Learning – என்பது impurity Machine Learning – ஆகும். Machine Learning –
இளைத ளை த்து, Machine Learning – அந்த impurity-ஐக் குளைறப்பதற்கு உதவும் metric Machine Learning – தான் gini Machine Learning –
gain Machine Learning – எனப்படும். Machine Learning – இதற்கான ாய்ப்பாடு பின் ரு;ாறு.

Information Machine Learning – Gain Machine Learning – = Machine Learning – Parent'Software Testing' s Machine Learning – entropy Machine Learning – - Machine Learning – child'Software Testing' s Machine Learning – entropy Machine Learning – with Machine Learning –
weighted Machine Learning – average

child'Software Testing' s Machine Learning – entropy Machine Learning – with Machine Learning – weighted Machine Learning – average Machine Learning – = Machine Learning – [(SQL) no. Machine Learning – of Machine Learning – examples Machine Learning – in Machine Learning – left Machine Learning –
child Machine Learning – node) Machine Learning – / Machine Learning – (SQL) total Machine Learning – no. Machine Learning – of Machine Learning – examples Machine Learning – in Machine Learning – parent Machine Learning – node) Machine Learning – * Machine Learning – (SQL) entropy Machine Learning – of Machine Learning –
left Machine Learning – node)] Machine Learning – +
[(SQL) no. Machine Learning – of Machine Learning – examples Machine Learning – in Machine Learning – right Machine Learning – child Machine Learning – node)/ Machine Learning – (SQL) total Machine Learning – no. Machine Learning – of Machine Learning – examples Machine Learning – in Machine Learning –

173
parent Machine Learning – node) Machine Learning – * Machine Learning – (SQL) entropy Machine Learning – of Machine Learning – right Machine Learning – node)]

= Machine Learning – (SQL) 37/112)*0.0 Machine Learning – + Machine Learning – (SQL) 75/112)*0.994
= Machine Learning – 0 Machine Learning – + Machine Learning – 0.665625
= Machine Learning – 0.665

வே;ற்கண்ட நிரலில் DecisionTreeClassifier(SQL) )-க்குள் criterion Machine Learning – = Machine Learning – "entropy"
என்பதற்கு பதிலாக "gini"எனக் வெகாடுத்து பயிற்சி அளித்தால், Machine Learning – அது gini-ஐக்
கaக்கிட்டு பின் ரு;ாறு கிளை(களை( உரு ாக்கிக் கற்கிறது. Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning –

Random Machine Learning – Forest Machine Learning – முளைறயில் கற்கும் model-ன் ளைரபடம் பின் ரு;ாறு.

174
175
Random Machine Learning – forest-ல் ;ாதிரித் தரவுகளில் உள்( ஒவ்வெ ாரு feature-ம்
ளைகப்படுத்தலுக்கு எந்த அ(வுக்கு பங்களித்துள்(து என்பளைத பின் ரும்
ளைரப்படத்தில் காaலாம்..

176
19. Clustering with K-Means

Unsupervised Machine Learning – learning-ல் நாம் கற்க இருக்கும் முதல் algorithm Machine Learning – இதுவே . Machine Learning –
இது ளைர நாம் கண்ட அளைனத்தும் supervised-ன் கீழ் அளை;யும். Machine Learning – logistic Machine Learning –
regression, Machine Learning – multi-class Machine Learning – classification Machine Learning – வேபான்ற அளைனத்திலும், Machine Learning – உள்ளீடு(SQL) X) Machine Learning –
;ற்றும் வெ ளியீடு(SQL) Y) Machine Learning – இரண்ளைடயும் வெகாடுத்து பயிற்சி அளிப்வேபாம். Machine Learning – பல்வே று
வெ ளியீட்டு ளைககளின் கீழ் தரவுகளை(ப் பிரிப்பதற்கு அத்தளைன ளைகயான
எல்ளைலகளை(யும் நாவே; ளைரயளைற வெசய்வே ாம். Machine Learning – ஆனால் இந்த unsupervised-ல்
வெ றும் உள்ளீடுகள் ;ட்டுவே; வெகாடுக்கப்படும். Machine Learning – எத்தளைன ளைகயில் பிரிக்க
வே ண்டும் என்பவேதா, Machine Learning – அ ற்றின் எல்ளைலகள் என்ன என்பவேதா வெகாடுக்கப்படாது. Machine Learning –
இது வேபான்ற clustering-ல் எல்ளைலகள் K-means Machine Learning – மூல;ாக
கaக்கிடப்படுகின்றன. Machine Learning – எவ் (வு ளைககளில் பிரிக்க வே ண்டும் என்பளைத elbow Machine Learning –
method-மூலம் கaக்கிடலாம். Machine Learning – அதா து ஒரு ளைரயளைறளையக் வெகாடுத்து கற்கச்
வெசால்லு து supervised Machine Learning – என்றால், Machine Learning – எவ்வித ளைரயளைறயும் இல்லா;ல் கற்கச்
வெசால்லு து unsupervised Machine Learning – ஆகும்.

கீழ்க்கண்ட உதாரaத்தில் X1, Machine Learning – X2 Machine Learning – எனும் இரண்டு அம்சங்கள்(SQL) features) Machine Learning –
வெகாடுக்கப்பட்டுள்(ன. Machine Learning – Y Machine Learning – என்று எதுவும் இல்ளைல. Machine Learning – அதா து வெ றும்
உள்ளீட்டுக்கான தரவுகளை(க் வெகாண்டு ;ட்டுவே; நா;ாகவே பல்வே று குழுக்களில்
அ ற்ளைற ளைகப்படுத்திக் வெகாடுக்க வே ண்டும்.

x1 Machine Learning – = Machine Learning – [15, Machine Learning – 19, Machine Learning – 15, Machine Learning – 5, Machine Learning – 13, Machine Learning – 17, Machine Learning – 15, Machine Learning – 12, Machine Learning – 8, Machine Learning – 6, Machine Learning – 9, Machine Learning – 13]
x2 Machine Learning – = Machine Learning – [13, Machine Learning – 16, Machine Learning – 17, Machine Learning – 6, Machine Learning – 17, Machine Learning – 14, Machine Learning – 15, Machine Learning – 13, Machine Learning – 7, Machine Learning – 6, Machine Learning – 10, Machine Learning – 12]

இதற்கான நிரல் ;ற்றும் வி(க்கம் பின் ரு;ாறு.

https://gist.github.com/
nithyadurai87/185e332ebce7028af265adbe86db40d5

177
import matplotlib.pyplot as plt
import math

def plots(cluster1_x1,cluster1_x2,cluster2_x1,cluster2_x2):
plt.figure()
plt.plot(cluster1_x1,cluster1_x2,'.')
plt.plot(cluster2_x1,cluster2_x2,'*')
plt.grid(True)
plt.show()

def round1(c1_x1,c1_x2,c2_x1,c2_x2):
cluster1_x1 = []
cluster1_x2 = []
cluster2_x1 = []
cluster2_x2 = []

for i,j in zip(x1,x2):


a = math.sqrt(((i-c1_x1)**2 + (j-c1_x2)**2))
b = math.sqrt(((i-c2_x1)**2 + (j-c2_x2)**2))
if a < b:
cluster1_x1.append(i)
cluster1_x2.append(j)
else:
cluster2_x1.append(i)
cluster2_x2.append(j)

plots(cluster1_x1,cluster1_x2,cluster2_x1,cluster2_x2)

c1_x1 = sum(cluster1_x1)/len(cluster1_x1)
c1_x2 = sum(cluster1_x2)/len(cluster1_x2)
c2_x1 = sum(cluster2_x1)/len(cluster2_x1)
c2_x2 = sum(cluster2_x2)/len(cluster2_x2)

round2 (c1_x1,c1_x2,c2_x1,c2_x2)

def round2(c1_x1,c1_x2,c2_x1,c2_x2):
cluster1_x1 = []
cluster1_x2 = []
cluster2_x1 = []
cluster2_x2 = []

for i,j in zip(x1,x2):


c = math.sqrt(((i-c1_x1)**2 + (j-c1_x2)**2))

178
d = math.sqrt(((i-c2_x1)**2 + (j-c2_x2)**2))
if c < d:
cluster1_x1.append(i)
cluster1_x2.append(j)
else:
cluster2_x1.append(i)
cluster2_x2.append(j)

plots(cluster1_x1,cluster1_x2,cluster2_x1,cluster2_x2)

x1 = [15, 19, 15, 5, 13, 17, 15, 12, 8, 6, 9, 13]


x2 = [13, 16, 17, 6, 17, 14, 15, 13, 7, 6, 10, 12]

plots(x1,x2,[],[])
round1(x1[4],x2[4],x1[10],x2[10])

முதலில் X1, Machine Learning – X2 Machine Learning – எனும் இரண்டு அம்சங்களும் எவ் ாறு அளை;ந்துள்(ன என்பளைத
scatter Machine Learning – plot Machine Learning – மூலம் காaலாம். Machine Learning – இன்னும் இரண்டா து வெகாத்தில் என்வெனன்ன
அம்சங்களை( அளை;க்க வே ண்டும் என்பது கண்டறியப்படவில்ளைல. Machine Learning – எனவே அளை
காலிப் பட்டியலாக அனுப்பப்படுகின்றன.

plots(SQL) x1,x2,[],[])

179
19.1 Centroids (திணிவுக்கான புள்ளி)

இரண்டு clusters-ஐ உரு ாக்கு தற்கு முதலில் X1-லிருந்து இரண்டு


எண்களை(யும், Machine Learning – X2-லிருந்து இரண்டு எண்களை(யும் random-ஆக வேதர்வு வெசய்ய
வே ண்டும். Machine Learning – முதல் வெகாத்துக்கு X1-லிருந்து 13-ஐயும், Machine Learning – X2-லிருந்து 17-ஐயும் வேதர்வு
வெசய்துள்வே(ாம். Machine Learning – அவ் ாவேற இரண்டா து வெகாத்துக்கு X1-லிருந்து 9-ஐயும், Machine Learning – X2-
லிருந்து 10-ஐயும் வேதர்வு வெசய்துள்வே(ாம். Machine Learning – இளை வேய திணிப்புக்கான புள்ளிகள்
(SQL) centroids) Machine Learning – என்றளைiக்கப்படுகின்றன. Machine Learning – அதா து இ ற்ளைற அடிப்பளைடயாக
ளை த்வேத அளைனத்ளைதயும் நாம் இரண்டு வெகாத்தாகப் பிரிக்கப் வேபாகிவேறாம். Machine Learning – எனவே
இரண்டு அம்சங்களில் உள்( ஒவ்வெ ாரு தரவுகளுக்கும், Machine Learning – வேதர்ந்வெதடுக்கப்பட்ட
இரண்டு திணிப்புப் புள்ளிகளுக்கு;ான தூரம் கீழ்க்கண்ட ாய்ப்பாடு மூலம்
கaக்கிடப்படுகிறது.

180
தூரம்1 Machine Learning – = Machine Learning – (SQL) x1_data Machine Learning – - Machine Learning – 13)**2 Machine Learning – + Machine Learning – (SQL) x2_data Machine Learning – - Machine Learning – 17)**2
தூரம்2 Machine Learning – = Machine Learning – (SQL) x1_data Machine Learning – - Machine Learning – 9)**2 Machine Learning – + Machine Learning – (SQL) x2_data Machine Learning – - Machine Learning – 10)**2

இந்த இரண்டு வெகாத்துக்களில் முதல் வெகாத்தினுளைடய தூரம் குளைற ாக இருந்தால்


அந்தப் புள்ளிகள் முதல் வெகாத்திலும், Machine Learning – இல்ளைலவெயனில் இரண்டா து வெகாத்திலும்
அளை;க்கின்றன. Machine Learning – இளை முளைறவேய ;ஞ்சள் ;ற்றும் ஊதா நிறத்தில் வே;ற்கண்ட
படத்தில் காட்டப்பட்டுள்(து. Machine Learning – இவ் ாறாக முதல் வெகாத்துக்கான x1, Machine Learning – x2 Machine Learning – ;ற்றும்
இரண்டா து வெகாத்துக்கான x1, Machine Learning – x2 Machine Learning – என்று 4 Machine Learning – அம்சங்கள் கaக்கிடப்படுகின்றன. Machine Learning –
அளை முளைறவேய புள்ளி டிவிலும், Machine Learning – நட்சத்திர டிவிலும் ளைரபட;ாக ளைரந்து

181
காட்டப்படுகின்றன.
cluster1_x1 Machine Learning – = Machine Learning – [15, Machine Learning – 19, Machine Learning – 15, Machine Learning – 13, Machine Learning – 17, Machine Learning – 15, Machine Learning – 12]
cluster1_x2 Machine Learning – = Machine Learning – [13, Machine Learning – 16, Machine Learning – 17, Machine Learning – 17, Machine Learning – 14, Machine Learning – 15, Machine Learning – 13]
cluster2_x1 Machine Learning – = Machine Learning – [5, Machine Learning – 8, Machine Learning – 6, Machine Learning – 9, Machine Learning – 13]
cluster2_x2 Machine Learning – = Machine Learning – [6, Machine Learning – 7, Machine Learning – 6, Machine Learning – 10, Machine Learning – 12]

plots(SQL) cluster1_x1,cluster1_x2,cluster2_x1,cluster2_x2)

இவ் ாறாக முதலில் இரண்டு வெகாத்துக்கள் உரு ாக்கப்பட்ட பின்னர், Machine Learning –
அ ற்றிலிருந்து மீண்டும் இரண்டு திணிப்புப் புள்ளிகள் வேதர்ந்வெதடுக்கப்படுகின்றன. Machine Learning –
ஆனால் இம்முளைற இளை random-ஆக வேதர்வு வெசய்யப்படு தில்ளைல. Machine Learning – இரண்டு
வெகாத்துக்களிலும் அளை;ந்துள்( x1, Machine Learning – x2-க்கான mean Machine Learning – கaக்கிடப்பட்டு அளை வேய
திணிப்புப் புள்ளிக(ாக அளை;கின்றன. Machine Learning – எனவே இன்னும் சற்று துல்லிய;ான இரண்டு
வெகாத்துக்களை( நாம் உரு ாக்க முடியும்.

182
c1_x1 Machine Learning – = Machine Learning – (SQL) 15 Machine Learning – + Machine Learning – 19 Machine Learning – + Machine Learning – 15 Machine Learning – + Machine Learning – 13 Machine Learning – + Machine Learning – 17 Machine Learning – + Machine Learning – 15 Machine Learning – + Machine Learning – 12) Machine Learning – / Machine Learning – 7
= Machine Learning – 106 Machine Learning – / Machine Learning – 7
= Machine Learning – 15.14

c1_x2 Machine Learning – = Machine Learning – [13 Machine Learning – + Machine Learning – 16 Machine Learning – + Machine Learning – 17 Machine Learning – + Machine Learning – 17 Machine Learning – + Machine Learning – 14 Machine Learning – + Machine Learning – 15 Machine Learning – + Machine Learning – 13] Machine Learning – / Machine Learning – 7
= Machine Learning – 105 Machine Learning – / Machine Learning – 7
= Machine Learning – 15

c2_x1 Machine Learning – = Machine Learning – [5 Machine Learning – + Machine Learning – 8 Machine Learning – + Machine Learning – 6 Machine Learning – + Machine Learning – 9 Machine Learning – + Machine Learning – 13] Machine Learning – / Machine Learning – 5
= Machine Learning – 41 Machine Learning – / Machine Learning – 5
= Machine Learning – 8.2

c2_x2 Machine Learning – = Machine Learning – [6 Machine Learning – + Machine Learning – 7 Machine Learning – + Machine Learning – 6 Machine Learning – + Machine Learning – 10+ Machine Learning – 12] Machine Learning – / Machine Learning – 5
= Machine Learning – 41 Machine Learning – / Machine Learning – 5
= Machine Learning – 8.2

பின்னர் மீண்டும் ஒவ்வெ ாரு data-க்கும், Machine Learning – கண்டறிந்த திணிப்புப் புள்ளிகளுக்கு;ான
தூரம் கaக்கிடப்படுகிறது.அதில் குளைற ான அ(வு தூரம் வெகாண்ட தரவுகள்
அ ற்றுக்கான வெகாத்தில் இளைaகின்றன. Machine Learning – இவ் ாறாக இங்கு மீண்டும் இரண்டு
வெகாத்துகள் உரு ாக்கப்படுகிறது. Machine Learning – இளை தரவுகளை( இன்னும் சற்று துல்லிய;ாகப்
பிரிப்பளைதக் காaலாம்.

183
இவ் ாறாகத் தரவுகள் தனக்குரிய வெகாத்தில் சரி ரப் வெபாருந்தும் ளைரயிலும், Machine Learning –
இதளைனவேய நாம் வெதாடர்ச்சியாகச் வெசய்து வெகாண்வேட வெசல்லலாம். Machine Learning – இதுவே
clustering Machine Learning – with Machine Learning – k-means Machine Learning – எனப்படுகிறது. Machine Learning – இதில் k Machine Learning – என்பது எத்தளைன
வெகாத்துகள்/குழுக்கள் உரு ாக்கப்பட வே ண்டும் என்பளைதயும், Machine Learning – means Machine Learning – என்பது
ஒவ்வெ ாரு features-வுளைடய சராசரிளையயும் கண்டுபிடித்து அதனடிப்பளைடயில்
குழுக்களை( உரு ாக்கு ளைதயும் குறிப்பிடுகிறது. Machine Learning – அடுத்ததாக இந்த k-ன் ;திப்பிளைன
எவ் ாறு கaக்கிடு து என்று பார்க்கலாம்.

19.2 Elbow Method

இது வெகாடுக்கப்பட்ட தரவுகளுக்கு எத்தளைன குழுக்களை( உரு ாக்கினால் சரியாக


இருக்கும் என்பளைத ஒரு ளைரபடம் மூலம் கண்டறிய உதவுகிறது. Machine Learning – வே;ற்கண்ட அவேத
தரவுகளை( இங்கும் நாம் பயன்படுத்திக் வெகாள்(லாம். Machine Learning – 2 Machine Learning – குழுக்கள் என்பளைத இது

184
ந;க்கு சரியாகக் காட்டுகிறதா எனப் பார்க்கலாம். Machine Learning – இதற்கான நிரல் ;ற்றும் வி(க்கம்
பின் ரு;ாறு.

https://gist.github.com/
nithyadurai87/10b5b273151c80be97579d684279cd84

from sklearn.cluster import KMeans


from sklearn import metrics
from scipy.spatial.distance import cdist
import numpy as np
import matplotlib.pyplot as plt

x1 = [15, 19, 15, 5, 13, 17, 15, 12, 8, 6, 9, 13]


x2 = [13, 16, 17, 6, 17, 14, 15, 13, 7, 6, 10, 12]

X = np.array(list(zip(x1, x2)))

distortions = []
K = range(1,8)
for i in K:
model = KMeans(n_clusters=i)
model.fit(X)
distortions.append(sum(np.min(cdist(X, model.cluster_centers_,
'euclidean'), axis=1)) / X.shape[0])

plt.plot()
plt.plot(K, distortions, 'bx-')
plt.show()

இதில் x1, Machine Learning – x2 Machine Learning – எனும் இரண்டு அம்சங்களும் numpy Machine Learning – மூலம் x Machine Learning – எனும் ஒவேர அணியாக
;ாற்றப்படுகிறது. Machine Learning – பின்னர் இத்தரவுகளை(க் வெகாண்டு kmeans-க்குப் பயிற்சி
அளிக்கப்படுகிறது. Machine Learning – இப்பயிற்சியானது 1 Machine Learning – முதல் 7 Machine Learning – ளைர பல்வே று எண்ணிக்ளைகயில்
குழுக்களை( அளை;த்து பயிற்சி அளிக்கிறது. Machine Learning – ஒவ்வெ ாரு முளைறயும் அதன்
தரவுகளுக்கும், Machine Learning – திணிவுப் புள்ளிக்கு;ான விலகல் எவ் (வு தூரம் இருக்கிறது

185
என்பளைதக் கaக்கிடுகிறது. Machine Learning – இவ் ாறாக எந்த எண்ணிக்ளைகயில் குழுக்களை(
அளை;க்கும் வேபாது அ ற்றிலுள்( தரவுகளின் விலகல் குளைறகிறது என்பது
கண்டுபிடிக்கப்படுகிறது. Machine Learning – இந்த விலகல் ;திப்வேப cost Machine Learning – / Machine Learning – distortion Machine Learning – என்று
அளைiக்கப்படுகிறது.

பின்னர் இளை ஒரு ளைரபட;ாக ளைரயப்படுகின்றன. Machine Learning – இதன் x Machine Learning – அச்சில் குழுக்களின்
எண்ணிக்ளைகயும், Machine Learning – y Machine Learning – அச்சில் அதன் விலகல் ;திப்புகளும் அளை;கின்றன. Machine Learning – எனவே தான்
ஒவேர ஒரு வெகாத்தில் அளைனத்துத் தரவுகளை(யும் அளை;க்கும்வேபாது அதனுளைடய
centroid-லிருந்து ;ற்ற தரவுகளின் விலகல் ;திப்பு 5-க்கு வே;ல் காட்டு ளைதயும், Machine Learning –
அதுவே 7 Machine Learning – தனித்தனி வெகாத்துக்க(ாகப் பிரிக்கும்வேபாது, Machine Learning – அதனுளைடய விலகல் ;திப்பு
1-க்குக் கீழ் காட்டு ளைதயும் காaலாம். Machine Learning – இந்த ளைரபடம் பார்ப்பதற்கு ஒரு முiங்ளைக
டிவில் இருப்பதால், Machine Learning – இது Elbow Machine Learning – method Machine Learning – என்று அளைiக்கப்படுகிறது. Machine Learning – இந்த
ளைரபடத்தின் x-அச்சில் 2 Machine Learning – என்ற புள்ளியில் அந்த முiங்ளைக வேபான்ற டி ம் ;டங்கி
விரி தால், Machine Learning – அந்த எண்ணிக்ளைகயில் தரவுகளை(ப் பிரித்தால் வேபாதும் என்பளைத நாம்
வெதரிந்து வெகாள்(லாம். Machine Learning – ஏவெனனில் இதற்கு வே;ல் வெசல்லச் வெசல்ல விலகல் ;திப்புகள்
ஓர(வுக்வேக குளைறகின்றன. Machine Learning – இந்த புள்ளியில் தான் அந்த முiங்ளைக ;டங்கும் நிளைல
ஏற்படுகிறது. Machine Learning – எனவே தரவுகளை( 2 Machine Learning – குழுக்களில் பிரித்தால் சரியாக இருக்கும் என்பது
கண்டுபிடிக்கப்படுகிறது..

186
Machine Learning –

19.3 silhouette_coefficient

ஒரு algorithm-ன் வெசயல்திறன் என்பது அது எவ் (வு தூரம் சரியாகக்


கணித்துள்(து என்பளைதப் வெபாறுத்வேத அளை;கிறது. Machine Learning – இது ளைர நாம் கண்ட
அளைனத்திலும், Machine Learning – algorithm-ன் கணிப்புகளை( உண்ளை;யான ;திப்புகளுடன்
ஒப்பிட்டு அதன் வெசயல்திறளைனக் கண்டறிந்வேதாம். Machine Learning – ஆனால் k-means Machine Learning – வேபான்ற
unsupervised Machine Learning – learning-ல் ஒப்பிடு தற்கு நம்மிடம் தரவுகள் ஏதும் இல்லாத
காரaத்தால், Machine Learning – இதளைனக் கண்டுபிடிக்க உதவும் ஒரு ழிமுளைறவேய
silhouette_coefficient Machine Learning – ஆகும்.

187
அதா து k-means Machine Learning – முளைறயில் ளைகப்படுத்தப்படும் தரவுகள், Machine Learning – சரியான
முளைறயில்தான் ளைகப்படுத்தப்பட்டுள்(தா எனக் கண்டறிய ஏற்கனவே distortion Machine Learning –
என்ற ஒன்ளைற அ(விட்வேடாம். Machine Learning – இது ஒவ்வெ ாரு தரவும் அதன் திணிவுப்
புள்ளியிலிருந்து எவ் (வு தூரம் விலகியிருக்கிறது என்பளைத ளை த்து, Machine Learning – kmeans-ன்
வெசயல்திறளைனக் கaக்கிடுகிறது. Machine Learning – அதுவேபாலவே இந்த silhouette_coefficient Machine Learning –
என்பது பின் ரும் ாய்ப்பாடு மூலம் தரவுகள் அளை;ந்துள்( ஒவ்வெ ாரு குழுவும்
எவ் (வு கச்சித;ாகப் பிரிக்கப்பட்டுள்(து என்பளைதக் கaக்கிடுகிறது.

ba Machine Learning – / Machine Learning – max(SQL) a,b)

இதில் a Machine Learning – என்பது ஒவேர குழுவில் உள்( தரவுகளுக்கிளைடவேயயான சராசரி தூரம். Machine Learning – b Machine Learning –
என்பது ஒரு குழுவிற்கும் அதற்கடுத்த குழுவிற்கும் இளைடவேய உள்(
தரவுகளுக்கிளைடவேயயான சராசரி தூரம்.

கீழ்க்கண்ட எடுத்துக்காட்டில் ந;து தரவுகள், Machine Learning – kmeans Machine Learning – மூலம் முதலில் 2 Machine Learning –
குழுக்க(ாகப் பிரிக்கப்படுகின்றன. Machine Learning – அவ் ாவேற for Machine Learning – loop Machine Learning – மூலம் அடுத்தடுத்து 3,4,5 Machine Learning –
;ற்றும் 8 Machine Learning – குழுக்க(ாகப் பிரிக்கப்படுகின்றன. Machine Learning – இந்த loop-க்குள் குழுக்கள்
வெகாடுக்கப்பட்ட எண்ணிக்ளைகயில் ஒவ்வெ ாரு முளைற அளை;யும்வேபாதும், Machine Learning – அது
தரவுகளை(ப் பிரிக்கும் விதத்ளைத ளைரபட;ாக ளைரந்து காட்டுகிறது ;ற்றும் அதன்
silhouette_coefficient Machine Learning – ;திப்ளைப வெ ளிப்படுத்துகிறது.

https://gist.github.com/nithyadurai87/
f5f043df412b6e3c8291d0080422bd92

import numpy as np
from sklearn.cluster import KMeans
from sklearn import metrics
import matplotlib.pyplot as plt
plt.subplot(3, 2, 1)

188
x1 = [15, 19, 15, 5, 13, 17, 15, 12, 8, 6, 9, 13]
x2 = [13, 16, 17, 6, 17, 14, 15, 13, 7, 6, 10, 12]
plt.scatter(x1, x2)

X = np.array(list(zip(x1, x2)))

c = ['b', 'g', 'r', 'c', 'm', 'y', 'k', 'b']


m = ['o', 's', 'D', 'v', '^', 'p', '*', '+']

p = 1
for i in [2, 3, 4, 5, 8]:
p += 1
plt.subplot(3, 2, p)
model = KMeans(n_clusters=i).fit(X)
print (model.labels_)
for i, j in enumerate(model.labels_):
plt.plot(x1[i], x2[i], color=c[j], marker=m[j],ls='None')
print (metrics.silhouette_score(X, model.labels_ ,metric='euclidean'))
plt.show()

print Machine Learning – (SQL) model.labels_) Machine Learning – என்பது முதல் குழுளை 0 Machine Learning – என்றும் இரண்டா து குழுளை
1 Machine Learning – என்றும் குறிப்பிடுகிறது. Machine Learning – எனவே x1 Machine Learning – ;ற்றும் x2-ல் உள்( 12 Machine Learning – தரவுகளும் எந்வெதந்த
குழுக்களில் வேசர்க்கப்பட்டுள்(ன என்பதும் அதன் coefficient Machine Learning – ;திப்பும்
பின் ரு;ாறு வெ ளிப்படுகிறது.

[1 Machine Learning – 1 Machine Learning – 1 Machine Learning – 0 Machine Learning – 1 Machine Learning – 1 Machine Learning – 1 Machine Learning – 1 Machine Learning – 0 Machine Learning – 0 Machine Learning – 0 Machine Learning – 1]
0.6366488776743281

அவ் ாவேற 3 Machine Learning – குழுக்க(ாகப் பிரிக்கும்வேபாது 0 Machine Learning – முதல் குழுளை யும், Machine Learning – 1 Machine Learning – இரண்டா து
குழுளை யும், Machine Learning – 2 Machine Learning – மூன்றா து குழுளை யும் பின் ரு;ாறு குறிப்பிடுகிறது.

[0 Machine Learning – 0 Machine Learning – 0 Machine Learning – 1 Machine Learning – 0 Machine Learning – 0 Machine Learning – 0 Machine Learning – 2 Machine Learning – 1 Machine Learning – 1 Machine Learning – 1 Machine Learning – 2]
0.38024538066050284

இதுவேபான்வேற 4,5 Machine Learning – ;ற்றும் 8 Machine Learning – அ(வில் குழுக்கா(ாகப் பிரிக்கும்வேபாது தரவுகள்

189
வேசர்ந்துள்( குழுக்களின் ;திப்பும், Machine Learning – அக்குழுவிற்கான வெசயல்திறன் ;திப்பும்
பின் ரு;ாறு வெ ளிப்படுகின்றன. Machine Learning – இளைத ளை த்துப் பார்க்கும்வேபாது 2 Machine Learning – குழுக்க(ாகப்
பிரிக்கும் வேபாது ;ட்டுவே;, Machine Learning – இது அதிக அ(வு வெசயல் திறளைன (SQL) 0.63) Machine Learning –
வெ ளிப்படுத்து ளைதக் காaலாம்.

[2 Machine Learning – 0 Machine Learning – 0 Machine Learning – 1 Machine Learning – 0 Machine Learning – 0 Machine Learning – 0 Machine Learning – 2 Machine Learning – 1 Machine Learning – 1 Machine Learning – 3 Machine Learning – 2]
0.32248773306926665

[2 Machine Learning – 4 Machine Learning – 0 Machine Learning – 1 Machine Learning – 0 Machine Learning – 4 Machine Learning – 0 Machine Learning – 2 Machine Learning – 1 Machine Learning – 1 Machine Learning – 3 Machine Learning – 2]
0.38043265897525885

[6 Machine Learning – 7 Machine Learning – 3 Machine Learning – 4 Machine Learning – 3 Machine Learning – 1 Machine Learning – 6 Machine Learning – 2 Machine Learning – 0 Machine Learning – 4 Machine Learning – 5 Machine Learning – 2]
0.27672998081717154

கீழ்க்கண்ட ளைரப்படத்தில் முதலா தாக உள்(து வெ றும் தரவுகளுக்கான படம். Machine Learning –
இரண்டா தாக உள்(து 2 Machine Learning – குழுக்கா(ாகப் பிரிக்கும்வேபாது வெ ளிப்படும் ளைரபடம். Machine Learning –
அடுத்தடுத்து உள்(து 3,4,5,8 Machine Learning – எண்ணிக்ளைகயில் குழுக்களை( அளை;க்கும்வேபாது
வெ ளிப்படுகின்ற ளைரபடங்கள். Machine Learning – அதிகபட்ச;ாக 8 Machine Learning – குழுக்கள் ளைர தரவுகள்
பிரிக்கப்படுகின்றன. Machine Learning – எனவே ஒவ்வெ ாரு குழுவிலும் உள்( தரவுகளை(
வித்தியாசப்படுத்திக் காட்ட, Machine Learning – 8 Machine Learning – நிற ண்aங்களும் 8 Machine Learning – வெ வ்வே று டி ங்களும்
வெகாண்ட இரண்டு பட்டியல் உரு ாக்கப்படுகிறது. Machine Learning – அளை ஒவ்வெ ான்றாக loop-
க்குள் வெசன்று பின் ரு;ாறு வெ ளிப்படுகின்றன.

190
Machine Learning –

191
20. Support Vector Machine (SVM)

Support Machine Learning – Vector Machine Learning – Machine Machine Learning – (SQL) SVM) Machine Learning – என்பது தரவுகளை( ளைகப்படுத்திப்
பிரிப்பதற்கான ஒரு ழிமுளைற ஆகும். Machine Learning – ஏற்வெகனவே இதற்வெகன logistic Machine Learning –
regression Machine Learning – என்பளைதப் பற்றிப் பார்த்வேதாம். Machine Learning – ஆனால் இந்த SVM Machine Learning – என்பது
ளைகப்படுத்துதல் எனும் வே ளைலளைய logistic-ஐ விட இன்னும் சற்று துல்லிய;ாக
அளை;க்கிறது. Machine Learning – வேநர்வேகாடு மூலம் பிரிக்கப்படும் தரவுகளுக்கு large Machine Learning – margin Machine Learning –
classifier Machine Learning – எவ் ாறு உதவுகிறது என்பளைதயும், Machine Learning – வேநர்வேகாடு முளைறயில் பிரிக்கப்பட
முடியாத தரவுகளுக்கு kernels Machine Learning – எவ் ாறு உதவுகிறது என்பளைதயும் இப்பகுதியில்
காaலாம்.

20.1 Large margin classifier (linear)

கீழ்க்கண்ட உதாரaத்தில் ஒரு வேநர்வேகாடு மூலம் ளைகப்படுத்த முடியும் தரவுகளை(


logistic Machine Learning – எவ் ாறு பிரிக்கிறது, Machine Learning – svm Machine Learning – எவ் ாறு பிரிக்கிறது என்பளைதக்
காட்டியுள்வே(ாம். Machine Learning – இதில் x1, Machine Learning – x2 Machine Learning – எனும் இரண்டு அம்சங்கள் உள்(ன. Machine Learning – அளை 2 Machine Learning –
பரி;ாaங்கள் (SQL) 2 Machine Learning – dimension Machine Learning – matrix) Machine Learning – வெகாண்ட ஒவேர அணியாக numpy Machine Learning – மூலம்
;ாற்றப்படுகின்றன. Machine Learning – பின்னர் அத்தரவுகளை(க் வெகாண்டு logistic-க்கும், Machine Learning – svm-க்கும்
பயிற்சி அளிக்கிவேறாம். Machine Learning – பின்னர் ஒவ்வெ ான்றும் தரவுகளை(ப் பிரிப்பதற்கான
வேநர்வேகாட்டிளைன சரியாக எங்கு அளை;க்கின்றன என்பளைதக் காண்பதற்கான நிரல்
classifier(SQL) )-க்குள் எழுதப்பட்டுள்(து.

https://gist.github.com/
nithyadurai87/2de5a6a6f7cc03c2791305f5c33d43d7

import numpy as np
import matplotlib.pyplot as plt

192
from sklearn import svm
from sklearn.linear_model.logistic import LogisticRegression

def classifier():
xx = np.linspace(1,10)
yy = -regressor.coef_[0][0] / regressor.coef_[0][1] * xx -
regressor.intercept_[0] / regressor.coef_[0][1]
plt.plot(xx, yy)
plt.scatter(x1,x2)
plt.show()

x1 = [2,6,3,9,4,10]
x2 = [3,9,3,10,2,13]

X = np.array([[2,3],[6,9],[3,3],[9,10],[4,2],[10,13]])
y = [0,1,0,1,0,1]

regressor = LogisticRegression()
regressor.fit(X,y)
classifier()

regressor = svm.SVC(kernel='linear',C = 1.0)


regressor.fit(X,y)
classifier()

logistic Machine Learning – மூலம் தரவுகள் பிரிக்கப்படும்வேபாது அதற்கான வேநர்வேகாடு பின் ரு;ாறு
அளை;கிறது. Machine Learning – அதா து கீவேi உள்( ளைகக்கு மிகவும் வெநருக்க;ாக எவ்வித
இளைடவெ ளியும் இல்லா;ல் வேநர்வேகாடு அளை;க்கப்பட்டுள்(து. Machine Learning – ஆனால் வே;வேல
உள்( ளைகக்கும் வேகாட்டிற்கு;ான இளைடவெ ளிவேயா மிகவும் அதிக;ாக உள்(து.

193
SVM Machine Learning – மூலம் தரவுகள் பிரிக்கப்படும்வேபாது இரண்டு ளைகக்கும் நடுவில் உள்( வேகாடு
அவ்விரண்டு ளைகயிலிருந்தும் ச;;ான அ(வு தூரத்தில் உள்(து. Machine Learning – எனவே தான் இது
equal Machine Learning – margin Machine Learning – / Machine Learning – large Machine Learning – margin Machine Learning – classifier Machine Learning – என்று அளைiக்கப்படுகிறது. Machine Learning – இது
logistic Machine Learning – regression-க்கான ஒரு optimization-ஆகவே கருதப்படுகிறது.

194
20.2 Kernels (non-linear)

Kernel Machine Learning – என்பது வேநர்வேகாடு வேபாட்டு பிரிக்க முடியாத சற்று கடின;ான non-linear Machine Learning –
முளைறயில் அளை;ந்துள்( தரவுகளை( ளைகப்படுத்து தற்குப் பயன்படுகிறது. Machine Learning – இது
வேபான்ற வேநர்வேகாட்டில் வெபாருந்தாத தரவுகளை(ப் வெபாறுத்து தற்கு ஏற்வெகனவே
polynomial Machine Learning – regression Machine Learning – என்ற ஒன்ளைறப் பார்த்வேதாம். Machine Learning – ஆனால் அதில் ஒவ்வெ ாரு
features-வுளைடய higher Machine Learning – order Machine Learning – ;திப்புகள் கaக்கிடப்பட்டு அளை புதிதாக
இளைaந்துள்( அம்சங்க(ாகக் கaக்கில் வெகாள்(ப்படும். Machine Learning – எனவே தரவுகள்
முழுதாகப் வெபாருந்தும் ளைரயிலும் square, Machine Learning – cube Machine Learning – என்று அடுத்தடுத்த order-ல்
features-ஐக் கaக்கிட்டு இளைaத்துக் வெகாண்வேட வெசல்வே ாம். Machine Learning – இவ் ாறு
வெசய்யும்வேபாது பயிற்சி அளிக்கப்படும் தரவில் அதிக அ(வு அம்சங்கள்
வேசர்க்கப்படு தால், Machine Learning – ஒரு algorithm Machine Learning – கற்றுக் வெகாள் தற்கான வேநரமும் கணினி
அளைனத்ளைதயும் அதிக அ(வில் நிளைனவில் ளை த்துக் வெகாள்( வே ண்டிய வேதளை யும்

195
அதிகரிக்கிறது. Machine Learning – இளைதத் தவிர்ப்பதற்காக ந்தவேத kernels Machine Learning – / Machine Learning – similarity Machine Learning –
functions Machine Learning – ஆகும்.

இது புதிது புதிதாக அம்சங்களை( இளைaக்கா;ல், Machine Learning – ஏற்வெகனவே உள்( அம்சங்களில்
இருந்து புதிய அம்சங்களை(க் கaக்கிட்டுப் பயன்படுத்துகிறது. Machine Learning – உதாரaத்துக்கு ந;து
பயிற்சித் தரவில் 5 Machine Learning – அம்சங்களும் 100 Machine Learning – ;ாதிரித் தரவுகளும் உள்(ன என்று
ளை த்துக்வெகாள்வே ாம். Machine Learning – Polynomial Machine Learning – எனும் வேபாது இத்தளைகய 5 Machine Learning – features-க்கும்
square Machine Learning – ;ற்றும் cube Machine Learning – ;திப்புகள் கண்டுபிடிக்கப்பட்டு, Machine Learning – களைடசியில் அளை 20 Machine Learning – -
க்கும் வே;லான features-ஆக ந்து நிற்கும். Machine Learning – அதுவே kernel Machine Learning – மூலம் வெபாறுத்தும்
வேபாது ஒவ்வெ ாரு அம்சங்களிலும் உள்( 100 Machine Learning – ;ாதிரிகளில் இருந்து ஒரு தரவிளைன
வேதர்வு வெசய்து அதளைன landmark-ஆக அளை;க்கிறது. Machine Learning – பின்னர் அதிலிருந்து ;ற்ற
தரவுகள் எவ் (வு தூரத்தில் அளை;ந்துள்(ன என்பது கaக்கிடப்படுகிறது. Machine Learning – அளை
landmark-க்கு அருகில் இருந்தால் 1 Machine Learning – எனவும், Machine Learning – இல்ளைலவெயனில் 0 Machine Learning – எனவும்
ளைகப்படுத்தப்படுகின்றன. Machine Learning – இளைத ளை த்வேத புதிய feature Machine Learning – கaக்கிடப்படுகிறது. Machine Learning –
அதா து பயிற்சித் தரவில் உள்( 5 Machine Learning – அம்சங்களுக்கு வெ றும் 5 Machine Learning – புதிய features Machine Learning –
;ட்டுவே; இம்முளைறயில் கaக்கிடப்படுகின்றன.

இந்த similarity Machine Learning – function-க்கான ச;ன்பாடு பின் ரு;ாறு. Machine Learning – இதுவே kernel Machine Learning –
என்றும் அளைiக்கப்படுகிறது. Machine Learning – இந்த kernel Machine Learning – இக்கaக்கீடுகளை( நிகழ்த்து தற்கு
பல்வே று ாய்ப்பாடுகளை(ப் வெபற்றிருக்கும். Machine Learning – அதில் ஒன்றான exp(SQL) )-க்கான
ச;ன்பாடு கீவேi வெகாடுக்கப்பட்டுள்(து. Machine Learning – இதுவே gaussian Machine Learning – kernel Machine Learning – என்று
அளைiக்கப்படுகிறது. Machine Learning – இவேத வேபான்று polynomial Machine Learning – kernel, Machine Learning – string Machine Learning – kernel, Machine Learning – chi-
squared Machine Learning – kernel, Machine Learning – histogram-intersection Machine Learning – kernel Machine Learning – என்று பல்வே று
ளைகயான ாய்ப்பாடுகள் kernel-ல் உள்(ன.

f1 Machine Learning – = Machine Learning – similarity Machine Learning – (SQL) x Machine Learning – ,l1)
= Machine Learning – exp Machine Learning – (SQL) -(SQL) ||x-l||**2 Machine Learning – / Machine Learning – 2*sigma Machine Learning – squared Machine Learning – ))

196
SVM Machine Learning – without Machine Learning – kernels Machine Learning – என்பது logistic Machine Learning – regression-ஐக் குறிக்கிறது. Machine Learning –
அதா து kernels Machine Learning – மூலம் உரு ாக்கப்பட்ட புதிய features-ஐப் பயன்படுத்தா;ல், Machine Learning –
வேநரடியாக raw Machine Learning – feature-ஐக் வெகாண்டு ;ட்டுவே; ளைகப்படுத்துதல் நிகழ்ந்தால், Machine Learning –
அது logistic Machine Learning – regression-ஐவேய குறிக்கிறது. Machine Learning – எனவே எப்வேபாது kernel-ஐப்
பயன்படுத்தலாம் எப்வேபாது logistic-ஐப் பயன்படுத்தலாம் என்று பார்ப்வேபாம். Machine Learning –
வேதர்ந்வெதடுக்கப்பட்ட அம்சங்களின் எண்ணிக்ளைக(SQL) 100000 Machine Learning – or Machine Learning – 100), Machine Learning – பயிற்சிக்கு
அளிக்கப்பட்ட ;ாதிரித் தரவுகளின் எண்ணிக்ளைகளைய(SQL) 10000) Machine Learning – விட மிகவும்
அதிக;ாக இருந்தாவேலா அல்லது மிகவும் குளைற ாக இருந்தாவேலா svm Machine Learning – without Machine Learning –
kernel-ஐப் பயன்படுத்தலாம். Machine Learning – அதுவே features-ன் எண்ணிக்ளைக(SQL) 1000) Machine Learning – மிகவும்
அதிக;ாக இல்லா;ல் ஓர(வுக்கு சற்று அதிக;ாக இருக்கும்வேபாது svm Machine Learning – with Machine Learning –
kernel-ஐப் பயன்படுத்தலாம்.

கீழ்க்கண்ட எடுத்துக்காட்டில் பல்வே று அம்சங்களை( ளை த்து ஒரு ;லர் ;ல்லியா, Machine Learning –
வேராஜா ா, Machine Learning – தா;ளைரயா என்று ளைகப்படுத்தப்படுகிறது. Machine Learning – இளை svm Machine Learning – without Machine Learning –
kernel Machine Learning – அதா து logistic Machine Learning – மூலம் ளைகப்படுத்தப்படு ளைதவிட kernel Machine Learning – மூலம்
ளைகப்படுத்தப்படும்வேபாது அதன் accuracy Machine Learning – அதிகரிப்பளைதக் காaலாம்.

https://gist.github.com/
nithyadurai87/9d7cc99cc4ae18a3707cc76f8711193b

import numpy as np
import matplotlib.pyplot as plt
from sklearn import svm
import pandas as pd
from sklearn.metrics import accuracy_score
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
from sklearn.metrics import classification_report, confusion_matrix
from sklearn.linear_model.logistic import LogisticRegression
from matplotlib.colors import ListedColormap

df = pd.read_csv('./flowers.csv')

197
X = df[list(df.columns)[:-1]]
y = df['Flower']
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state = 0)

logistic = LogisticRegression()
logistic.fit(X_train, y_train)
y_pred = logistic.predict(X_test)
print ('Accuracy-logistic:', accuracy_score(y_test, y_pred))

gaussian = SVC(kernel='rbf')
gaussian.fit(X_train, y_train)
y_pred = gaussian.predict(X_test)
print ('Accuracy-svm:', accuracy_score(y_test, y_pred))

வெ ளியீடு:

Accuracy-logistic: Machine Learning – 0.868421052631579


Accuracy-svm: Machine Learning – 0.9736842105263158 Machine Learning – Machine Learning – Machine Learning – Machine Learning – Machine Learning –

198
21. PCA - Principle Component Analysis

Principle Machine Learning – Component Machine Learning – Analysis Machine Learning – என்பது அதிக அ(வு பரி;ாaங்கள் வெகாண்ட
தரவுகளை( குளைறந்த அ(வு பரி;ாaங்கள் வெகாண்டதாக ;ாற்று தற்குப்
பயன்படுகிறது. Machine Learning – எடுத்துக்காட்டாக 1000 Machine Learning – அம்சங்களை(க் வெகாண்டு ஒரு விஷயம்
கணிக்கப்படுகிறது என ளை த்துக் வெகாள்வே ாம். Machine Learning – PCA-ஆனது இந்த 1000 Machine Learning – X-ஐ 100 Machine Learning –
X-ஆகவே ா அல்லது இன்னும் குளைறந்த பரி;ாaங்கள் வெகாண்டதாகவே ா ;ாற்றிக்
வெகாடுக்கும். Machine Learning – அதா து Y Machine Learning – எண்ணிக்ளைகளையப் பற்றிக் க ளைலப்படாது. Machine Learning – வெ றும் X Machine Learning –
எண்ணிக்ளைகளைய ;ட்டும் குளைறக்கும். Machine Learning – எனவே தான் PCA Machine Learning – என்பது dimensionality Machine Learning –
reduction-க்கு உதவுகின்ற ஒரு சிறப்பு ளைக ழிமுளைற ஆகும். Machine Learning – இதன்
வெசயல்பாடுகளில் உள்( படிகள் பின் ரு;ாறு.

• முதலில் பயிற்சித் தரவுகளை(ப் வெபற்றுக் வெகாள்ளுதல் (SQL) x1,y1),(SQL) x2,y2),


(SQL) x3,y3)...

• அடுத்ததாக PCA Machine Learning – மூலம் பயிற்சித் தரவில் உள்( x Machine Learning – அளைனத்ளைதயும் ந;க்குத்
வேதளை யான அ(வு குளைறந்த எண்ணிக்ளைகயில் ;ாற்றுதல்

• பின்னர் குளைறக்கப்பட்ட புதிய x Machine Learning – -ஐக் வெகாண்டு பயிற்சி அளித்தல்

வெபாது ாக இந்த PCA Machine Learning – அளைனத்து இடத்திலும் பயன்படாது. Machine Learning – சற்று அரிதாகவே
பயன்படும். Machine Learning – எடுத்துக்காட்டுக்கு ;னித முகங்கள் அல்லது ஊர்திகள் வேபான்ற ற்ளைற
அளைடயா(ப்படுத்தும் algorithm-க்கு பயிற்சி அளிக்கப்படும் தரவுகளில்
குளைறந்தபட்சம் 1 Machine Learning – லட்சம் features-ஆ து இருக்கும். Machine Learning – ஏவெனனில் ஒரு ஊர்தியின்
சக்கரம், Machine Learning – ளைகப்பிடி, Machine Learning – இருக்ளைக, Machine Learning – பக்கக் கண்aாடிகள், Machine Learning – முன் வி(க்குகள் என்று

199
ஒவ்வெ ாரு சின்னச் சின்ன விஷயங்களை(யும் அளைடயா(ப்படுத்த அதிக அ(வில்
features Machine Learning – அளை;ந்திருக்கும். Machine Learning – இதுவேபான்ற இடங்களில் , Machine Learning – அளை அளைனத்ளைதயும்
பயன்படுத்தா;ல் குளைறந்த அ(வில் features-ஐ ;ாற்று தற்கு PCA Machine Learning –
பயன்படுகிறது. Machine Learning – எப்வேபாதும் pca-ஐப் பயன்படுத்து தற்கு முன்பு feature Machine Learning – scaling
என்ற ஒன்று கண்டிப்பாக நளைடவெபற வே ண்டும். Machine Learning – இதுவே data-preprocessing Machine Learning –
என்று அளைiக்கப்படும்.

கீழ்க்கண்ட எடுத்துக்காட்டில் நாம் புரிந்து வெகாள்(ச் சுலப;ாக இருக்க வே ண்டும்


என்பதற்காக 4 Machine Learning – dimension Machine Learning – வெகாண்ட தரவுகள் 2 Machine Learning – dimension-ஆக PCA Machine Learning – மூலம்
;ாற்றப்பட்டுள்(து. Machine Learning – PCA Machine Learning – பயன்படுத்து தற்கு முன்னர் StandardScalar Machine Learning – மூலம்
தரவுகள் normalize Machine Learning – வெசய்யப்படுகின்றன. Machine Learning – பின்னர் ஒரு ;லர் ;ல்லியா, Machine Learning – வேராஜா ா, Machine Learning –
தா;ளைரயா என்று தீர்;ானிக்க அவ்விதழ்களுளைடய நீ( அகலமும், Machine Learning – அ ற்றின் வே;ற்புற
இதழ்களுளைடய நீ( அகலமு;ாக 4 Machine Learning – அம்சங்கள் உள்(ன. Machine Learning – இளை PCA Machine Learning – மூலம் x1, Machine Learning – x2 Machine Learning –
எனும் இரண்டு அம்சங்க(ாக ;ாற்றப்படுகின்றன. Machine Learning – இவ்விரண்டு அம்சங்களின்
அடிப்பளைடயில் அளை;யும் 3 Machine Learning – ளைக ;லர்களும் 3 Machine Learning – நிறங்களில் ளைரபட;ாக ளைரந்து
காட்டப்பட்டுள்(து.

https://gist.github.com/
nithyadurai87/20d18bbda53e43de19222e24d330a398 Machine Learning –

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA

df = pd.read_csv('./flowers.csv')
X = df[list(df.columns)[:-1]]
y = df['Flower']
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state = 0)

200

You might also like