IrisDataset – қолдану арқылы бағдарламасын дайындау



Жұмыс түрі:  Реферат
Тегін:  Антиплагиат
Көлемі: 10 бет
Таңдаулыға:   
Реферат
Тақырыбы: IrisDataset - қолдану арқылы бағдарламасын дайындау.

Оқытушы:
Мамандық:
Орындаған:

МАЗМҰНЫ
1. КІРІСПЕ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 3
2. НЕГІЗГІ БӨЛІМ
2.1. Фишердің ирис-гүлдері датасеті ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...4
2.2. K-MEANS алгоритмі ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 4
3. ПРАКТИКАЛЫҚ БӨЛІМ
3.1. Фишердің ирис-гүлдері датасетін анализдеудің реализациясы ... ... ... ...6
4. ҚОРЫТЫНДЫ ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..13
5. ПАЙДАЛАНҒАН ӘДЕБИЕТТЕР ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ...14

КІРІСПЕ
Фишердің ирис- гүлдері датасеті- бұл классификация міндеті үшін деректер жиынтығы, Рональд Фишер 1936 жылы әзірлеген дискриминантты талдау әдісінің жұмысын көрсетті. Кейде оны Андерсон ирисі деп атайды, өйткені деректер американдық ботаник Эдгар Андерсонмен жиналған. Бұл деректер жинағы классикалық болды және әртүрлі статистикалық алгоритмдердің жұмысын иллюстрациялау үшін жиі қолданылады.
Айтып өткендей ирис датасеті негізінен классификация міндеті үшін арналған, біз бұл датасеттіңSpecies бағанын қолданбай кластеризация міндеті үшін қарастырып көрмекшіміз. Кластеризация міндеті үшін K- meansалгоритмін тандадық.
K- meansалгоритмін 1950 жылы ГугоШтейнгауз және СтюартЛлойдпен бірге ойлап тапты.Бұл алгоритм иерархиялық емес алгоритм болып табылады.

НЕГІЗГІ БӨЛІМ
Фишердің ирис- гүлдері датасетінде иристің 150 данасы туралы деректерден тұрады. Әрбір ирис гүлі үшін төрт сипаттама өлшемі (сантиметрмен) берілген:
* Гүл тостағаншасының ұзындығы (ағылш . sepallength);
* Гүл тостағаншасының ені (ағылш. sepalwidth);
* Гүл жапырақшаның ұзындығы (ағылш . petallength);
* Гүл жапырақшаның ені (ағылш. petalwidth).

Деректер жиынында ирис гүлінің 50 данадан үш түрі көрсетілген:
* Irissetosa;
* Irisvirginica;
* Irisversicolor.

Осы деректер жиынтығының өлшеу деректері бойынша өсімдіктің түрін анықтайтын жіктеу ережесін құру талап етіледі.
K- means алгоритмі
K еркін бастапқы кластерлер орталықтары таңдалады-әдетте k объектілері таңдалады.
Негізгі идеясы:Әрбір итерацияда алдыңғы қадамда алынған әрбір кластер үшін массалар орталығы қайта есептелетіні, содан кейін векторлар кластерлерге жаңа орталықтардың қайсысы таңдалған метрика бойынша жақын болғанына сәйкес қайта бөлінеді. Алгоритм қандай да бір итерацияда кластерлердің өзгеруі болмаған кезде немесе ең үлкен санды итерацияға жеткенде аяқталады.
Күрделігі:O[ikdn], i- итерация саны, dn- кіріс деректерінің көлемі, n- шығыс деректерінің көлемі, k- класс саны.
Артықшылығы: қарапайымдылығы, аз көлемдегі деректермен жұмыс істеу оңтайлығы, түсініктілігі.
Кемшілігі: кластар санын алдын ала беру қажеттігі, үлкен көлемде деректермен жұмыс жасау қиындығы, кластер орталығын анықтау кезінде өзгеріске әкелуі.

ПРАКТИКАЛЫҚ БӨЛІМ
In[1]
importnumpyasnp
importpandasaspd
importseabornassns
importmatplotlib.pyplotasplt
#қажетті кітапханаларды қосамыз
In[2]
df=pd.read_csv("Iris.csv")
#csv файлын (үтірмен бөлінген мәндер) оқу және оны pandas деректер жақтауына түрлендіру үшін қолданылады.
df.head()#деректер кестесінің алғашқы 5 жолын қайтарады.
Out[2]
IdSepalLengthSepalWidthPetalLengthP etalWidthSpecies
15.1 3.5 1.4 0.2 Iris-setosa
2 4.9 3.0 1.4 0.2 Iris-setosa
3 4.7 3.2 1.3 0.2 Iris-setosa
4 4.6 3.1 1.5 0.2 Iris-setosa
5 5.0 3.6 1.4 0.2 Iris-setosa
In[3]
df.shape#жолдар мен бағандар санын сақтайды
Out[3]
(150, 6)
In[4]
df.info()
#әрбір бағанның деректер түрлерін және барлық деректер үшін жадты пайдалануды қоса алғанда, деректер жақтауы туралы ақпаратты қайтарады.

class 'pandas.core.frame.DataFrame'
RangeIndex: 150 entries, 0 to 149
Data columns (total 6 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Id 150 non-null int64
1 SepalLengthCm 150 non-null float64
2 SepalWidthCm 150 non-null float64
3 PetalLengthCm 150 non-null float64
4 PetalWidthCm 150 non-null float64
5 Species 150 non-null object
dtypes: float64(4), int64(1), object(1)
memory usage: 7.2+ KB
In[5]
df.describe()
#деректер жақтауының сандық мәндерін есептеу үшін қолданылады.
Out[5]
IdSepalLengthSepalWidthPetalLengthP etalWidth
count 150.000000 150.000000 150.000 000 150.000000 150.000000
mean 75.500000 5.843333 3.054000 3. 758667 1.198667
std 43.445368 0.828066 0.433594 1.7 64420 0.763161
min 1.000000 4.300000 2.000000 1.00 0000 0.100000
25% 38.250000 5.100000 2.800000 1.6 00000 0.300000
50% 75.500000 5.800000 3.000000 4.3 50000 1.300000
75% 112.750000 6.400000 3.300000 5. 100000 1.800000
max 150.000000 7.900000 4.400000 6. 900000 2.500000
In[6]
df['Species'].value_counts()
#бірегей мәндер саны бар қатарды алу үшін қолданылады.
Out[6]
Iris-setosa 50
Iris-versicolor 50
Iris-virginica 50
Name: Species, dtype: int64
In[7]
df = df.drop('Id', axis = 1)
#деректерді тазалау ол деректерді анализдеудегі негізгі қызмет болып табылады. Деректер ішінде тоқтау сөздер немесе сол сияқты қажетсіз деректер болса оларды жою маңызды. Оларды жою алгоритмнің жақсы жылдам жұмыс істеуге көмектеседі. Біздің қолданып отырған датасетіміз таза болғандықтан тазалауды қажет етпейді. Бірақ деректер туралы ақпарат алғанда "Id" бағаны бар екенін көрдік ол біз үшін қажетсіз, сондықтан ол бағанды өшіріп тастаймыз.
In[8]
sns.pairplot(df, hue = 'Species')
#seaborn кітапханасы арқылы pairplot көмегімен қос қатынас жасаймыз. Біз бұл арқылы деректердің визуализациясын көре аламыз. 3 әртүрлі түстер үшін hue- ні 'Species' бағанына теңестіреміз.
Out[8]
seaborn.axisgrid.PairGridat 0x15f6daec948

In[9]
g=sns.violinplot(y='Species', x='SepalLengthCm', data=df, inner='quartile')
plt.show()
g=sns.violinplot(y='Species', x='SepalWidthCm', data=df, inner='quartile')
plt.show()
g=sns.violinplot(y='Species', x='PetalLengthCm', data=df, inner='quartile')
plt.show()
g=sns.violinplot(y='Species', x='PetalWidthCm', data=df, inner='quartile')
plt.show()
# seaborn кітапханасы арқылы violinplot көмегімендеректердің визуалды түрін тұрғызы аламыз

In[10]
fromsklearn.preprocessingimportLabe lEncoder
enc = LabelEncoder()
df['Species'] = enc.fit_transform(df['Species'])
df.head()
#Машиналық оқытуда категориялық деректерді сандық деректерді түрлендіру
Out[10]
SepalLengthSepalWidthPetalLengthPet alWidthSpecies
5.1 3.5 1.4 0.2 0
4.9 3.0 1.4 0.2 0
4.7 3.2 1.3 0.2 0
4.6 3.1 1.5 0.2 0
5.0 3.6 1.4 0.2 0
In[11]
fromsklearnimportmetrics
fromsklearn.treeimportDecisionTreeC lassifier, plot_tree
fromsklearn.model_selectionimporttr ain_test_split
# Scikit-learn (бұрын scikits.learn және sklearn ретінде белгілі) - бұл Python бағдарламалау тілін бағдарламалық қамтамасыз ету үшін тегін машина оқыту кітапханасы. Ол әртүрлі жіктеу алгоритмдері, регрессия және кластеризация бар
In[12]
X = df.drop(['Species'], axis=1)
y = df['Species']
#мұнда деректерді екіге бөліп аламыз, X- те 'Species' бағандарынан басқалары, y-те тек 'Species' бағаны бар.
In[13]
fromsklearn.clusterimportKMeans
In[14]
kmeans ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Оқу бағдарламасын басқарудағы автоматтандырылған бағдарламаны қолдану
Білім беру бағдарламасы мазмұны мен құрылымы
Қазақстан өнеркәсібінің инновациясы
Ішкі және сыртқы саясатымыздағы аса маңызды 30 серпінді бағыт
Оқушылардың ерекше білім беру қажеттіліктерін қанағаттандыру
Дипломалды практика бағдарламасы
Өндірістік практика бағдарламасы
Аудиторлық тексеруді жоспарлау кезеңдері
«Балбөбек» төл бағдарламасы
Оқу практиканың бағдарламасы
Пәндер