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


Реферат
Тақырыбы: IrisDataset - қолдану арқылы бағдарламасын дайындау.
Оқытушы:
Мамандық:
Орындаған:
МАЗМҰНЫ
- КІРІСПЕ . . . 3
- НЕГІЗГІ БӨЛІМФишердің ирис-гүлдері датасеті . . . 4K-MEANS алгоритмі . . . 4
- ПРАКТИКАЛЫҚ БӨЛІМФишердің ирис-гүлдері датасетін анализдеудің реализациясы . . . 6
- ҚОРЫТЫНДЫ . . . 13
- ПАЙДАЛАНҒАН ӘДЕБИЕТТЕР . . . 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- класс саны.
Артықшылығы: қарапайымдылығы, аз көлемдегі деректермен жұмыс істеу оңтайлығы, түсініктілігі.
Кемшілігі: кластар санын алдын ала беру қажеттігі, үлкен көлемде деректермен жұмыс жасау қиындығы, кластер орталығын анықтау кезінде өзгеріске әкелуі.
ПРАКТИКАЛЫҚ БӨЛІМ
importnumpyasnp
importpandasaspd
importseabornassns
importmatplotlib. pyplotasplt
#қажетті кітапханаларды қосамыз
df=pd. read_csv("Iris. csv")
#csv файлын (үтірмен бөлінген мәндер) оқу және оны pandas деректер жақтауына түрлендіру үшін қолданылады.
df. head() #деректер кестесінің алғашқы 5 жолын қайтарады.
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
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
df. describe()
#деректер жақтауының сандық мәндерін есептеу үшін қолданылады.
count 150. 150. 150. 150. 150.
mean 75. 5 5. 84 3. 054000 3. 758667 1. 198667
std 43. 445368 0. 828066 0. 433594 1. 764420 0. 763161
min 1. 4. 3 2. 1. 0. 1
25% 38. 25 5. 1 2. 8 1. 6 0. 3
50% 75. 5 5. 8 3. 4. 35 1. 3
75% 112. 75 6. 4 3. 3 5. 1 1. 8
max 150. 7. 9 4. 4 6. 9 2. 5
df['Species'] . value_counts()
#бірегей мәндер саны бар қатарды алу үшін қолданылады.
Iris-setosa 50
Iris-versicolor 50
Iris-virginica 50
Name: Species, dtype: int64
df = df. drop('Id', axis = 1)
#деректерді тазалау ол деректерді анализдеудегі негізгі қызмет болып табылады. Деректер ішінде тоқтау сөздер немесе сол сияқты қажетсіз деректер болса оларды жою маңызды. Оларды жою алгоритмнің жақсы жылдам жұмыс істеуге көмектеседі. Біздің қолданып отырған датасетіміз таза болғандықтан тазалауды қажет етпейді. Бірақ деректер туралы ақпарат алғанда “Id” бағаны бар екенін көрдік ол біз үшін қажетсіз, сондықтан ол бағанды өшіріп тастаймыз.
sns. pairplot(df, hue = 'Species')
#seaborn кітапханасы арқылы pairplot көмегімен қос қатынас жасаймыз. Біз бұл арқылы деректердің визуализациясын көре аламыз. 3 әртүрлі түстер үшін hue- ні 'Species' бағанына теңестіреміз.
<seaborn. axisgrid. PairGridat 0x15f6daec948>
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 көмегімендеректердің визуалды түрін тұрғызы аламыз

fromsklearn.
enc = LabelEncoder()
df['Species'] = enc. fit_transform(df['Species'] )
df. head()
#Машиналық оқытуда категориялық деректерді сандық деректерді түрлендіру
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
fromsklearn. , plot_tree
fromsklearn.
# Scikit-learn (бұрын scikits. learn және sklearn ретінде белгілі) - бұл Python бағдарламалау тілін бағдарламалық қамтамасыз ету үшін тегін машина оқыту кітапханасы. Ол әртүрлі жіктеу алгоритмдері, регрессия және кластеризация бар
X = df. drop(['Species'], axis=1)
y = df['Species']
#мұнда деректерді екіге бөліп аламыз, X- те 'Species' бағандарынан басқалары, y-те тек 'Species' бағаны бар.
kmeans = KMeans(n_clusters=3, random_state=0) . fit(X)
# класс саны=>n_clusters=3
# итерациясаны=>max_iter=300
kmeans
KMeans(algorithm='auto', copy_x=True, init='k-means++', max_iter=300,
n_clusters=3, n_init=10, n_jobs=None, precompute_distances='auto',
random_state=0, tol=0. 0001, verbose=0)
kmeans. labels_
# k- meansнәтижеcі. Мұнда бірінші класс толық дұрыс бөлінгенін көре аламыз, ал үшінші және екінші класстар араласып кеткен, яғни толықтай дұрыс емес.
array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0,
0, 0, 0, 2, 2, 0, 0, 0, 0, 2, 0, 2, 0, 2, 0, 0, 2, 2, 0, 0, 0, 0,
0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 2] )
centers=kmeans. cluster_centers_
centers# әрбір класс орталықтарының координаталары
array([[6. 85, 3. 07368421, 5. 74210526, 2. 07105263],
[5. 006, 3. 418, 1. 464, 0. 244],
[5. 9016129, 2. 7483871, 4. 39354839, 1. 43387097] ] )
array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0,
0, 0, 0, 2, 2, 0, 0, 0, 0, 2, 0, 2, 0, 2, 0, 0, 2, 2, 0, 0, 0, 0,
0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 2] )
labels1 = kmeans. labels_
centroids3 = kmeans. cluster_centers_
clusters = centers. shape
clusters = np. array(list(range(0, clusters[0] ) ) )
clusters
importnumpyasnp
importpandasaspd
importplotly. graph_objsasgo
importplotlyaspy
importmatplotlib. pyplotasplt
X['label3'] = labels1
trace1 = go. Scatter3d(
x= X['SepalLengthCm'],
y= X['SepalWidthCm'],
z= X['PetalLengthCm'],
mode='markers',
marker=dict(
color = X['label3'],
size= 5,
line=dict(
color= X
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.

Ақпарат
Қосымша
Email: info@stud.kz