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


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

Реферат

Тақырыбы: IrisDataset - қолдану арқылы бағдарламасын дайындау.

Оқытушы:

Мамандық:

Орындаған:

МАЗМҰНЫ

  1. КІРІСПЕ . . . 3
  2. НЕГІЗГІ БӨЛІМФишердің ирис-гүлдері датасеті . . . 4K-MEANS алгоритмі . . . 4
  3. ПРАКТИКАЛЫҚ БӨЛІМФишердің ирис-гүлдері датасетін анализдеудің реализациясы . . . 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[1]: In[2]
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. pyplotasplt#қажетті кітапханаларды қосамыз:

df=pd. read_csv("Iris. csv")

#csv файлын (үтірмен бөлінген мәндер) оқу және оны pandas деректер жақтауына түрлендіру үшін қолданылады.

df. head() #деректер кестесінің алғашқы 5 жолын қайтарады.

In[1]: Out[2]
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. pyplotasplt#қажетті кітапханаларды қосамыз:

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[1]: In[3]
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. pyplotasplt#қажетті кітапханаларды қосамыз: df. shape#жолдар мен бағандар санын сақтайды
In[1]: Out[3]
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. pyplotasplt#қажетті кітапханаларды қосамыз: (150, 6)
In[1]: In[4]
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. pyplotasplt#қажетті кітапханаларды қосамыз:

df. info()

#әрбір бағанның деректер түрлерін және барлық деректер үшін жадты пайдалануды қоса алғанда, деректер жақтауы туралы ақпаратты қайтарады.

In[1]:
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. pyplotasplt#қажетті кітапханаларды қосамыз:

<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[1]: In[5]
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. pyplotasplt#қажетті кітапханаларды қосамыз:

df. describe()

#деректер жақтауының сандық мәндерін есептеу үшін қолданылады.

In[1]: Out[5]
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. pyplotasplt#қажетті кітапханаларды қосамыз:

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

In[1]: In[6]
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. pyplotasplt#қажетті кітапханаларды қосамыз:

df['Species'] . value_counts()

#бірегей мәндер саны бар қатарды алу үшін қолданылады.

In[1]: Out[6]
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. pyplotasplt#қажетті кітапханаларды қосамыз:

Iris-setosa 50

Iris-versicolor 50

Iris-virginica 50

Name: Species, dtype: int64

In[1]: In[7]
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. pyplotasplt#қажетті кітапханаларды қосамыз:

df = df. drop('Id', axis = 1)

#деректерді тазалау ол деректерді анализдеудегі негізгі қызмет болып табылады. Деректер ішінде тоқтау сөздер немесе сол сияқты қажетсіз деректер болса оларды жою маңызды. Оларды жою алгоритмнің жақсы жылдам жұмыс істеуге көмектеседі. Біздің қолданып отырған датасетіміз таза болғандықтан тазалауды қажет етпейді. Бірақ деректер туралы ақпарат алғанда “Id” бағаны бар екенін көрдік ол біз үшін қажетсіз, сондықтан ол бағанды өшіріп тастаймыз.

In[1]: In[8]
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. pyplotasplt#қажетті кітапханаларды қосамыз:

sns. pairplot(df, hue = 'Species')

#seaborn кітапханасы арқылы pairplot көмегімен қос қатынас жасаймыз. Біз бұл арқылы деректердің визуализациясын көре аламыз. 3 әртүрлі түстер үшін hue- ні 'Species' бағанына теңестіреміз.

In[1]: Out[8]
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. pyplotasplt#қажетті кітапханаларды қосамыз:

<seaborn. axisgrid. PairGridat 0x15f6daec948>

In[1]: In[9]
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. pyplotasplt#қажетті кітапханаларды қосамыз:

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[1]:
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. pyplotasplt#қажетті кітапханаларды қосамыз:
In[1]: In[10]
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. pyplotasplt#қажетті кітапханаларды қосамыз:

fromsklearn.

enc = LabelEncoder()

df['Species'] = enc. fit_transform(df['Species'] )

df. head()

#Машиналық оқытуда категориялық деректерді сандық деректерді түрлендіру

In[1]: Out[10]
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. pyplotasplt#қажетті кітапханаларды қосамыз:

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[1]: In[11]
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. pyplotasplt#қажетті кітапханаларды қосамыз:

fromsklearn. , plot_tree

fromsklearn.

# Scikit-learn (бұрын scikits. learn және sklearn ретінде белгілі) - бұл Python бағдарламалау тілін бағдарламалық қамтамасыз ету үшін тегін машина оқыту кітапханасы. Ол әртүрлі жіктеу алгоритмдері, регрессия және кластеризация бар

In[1]: In[12]
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. pyplotasplt#қажетті кітапханаларды қосамыз:

X = df. drop(['Species'], axis=1)

y = df['Species']

#мұнда деректерді екіге бөліп аламыз, X- те 'Species' бағандарынан басқалары, y-те тек 'Species' бағаны бар.

In[1]: In[13]
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. pyplotasplt#қажетті кітапханаларды қосамыз: fromsklearn. clusterimportKMeans
In[1]: In[14]
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. pyplotasplt#қажетті кітапханаларды қосамыз:

kmeans = KMeans(n_clusters=3, random_state=0) . fit(X)

# класс саны=>n_clusters=3

# итерациясаны=>max_iter=300

kmeans

In[1]: Out[14]
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. pyplotasplt#қажетті кітапханаларды қосамыз:

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)

In[1]: In[15]
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. pyplotasplt#қажетті кітапханаларды қосамыз:

kmeans. labels_

# k- meansнәтижеcі. Мұнда бірінші класс толық дұрыс бөлінгенін көре аламыз, ал үшінші және екінші класстар араласып кеткен, яғни толықтай дұрыс емес.

In[1]: Out[15]
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. pyplotasplt#қажетті кітапханаларды қосамыз:

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] )

In[1]: In[16]
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. pyplotasplt#қажетті кітапханаларды қосамыз: kmeans. inertia_#әрбір нүкте үшін оның ең жақын центріне дейінгі қашықтық квадраттарының сомасы
In[1]: Out[16]
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. pyplotasplt#қажетті кітапханаларды қосамыз: 78. 94084142614602
In[1]: In[17]
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. pyplotasplt#қажетті кітапханаларды қосамыз: kmeans. n_iter_ #жалпы итерация санын көрсетді. Бізде ол 3- ке тең болды.
In[1]: Out[17]
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. pyplotasplt#қажетті кітапханаларды қосамыз: 3
In[1]: In[18]
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. pyplotasplt#қажетті кітапханаларды қосамыз:

centers=kmeans. cluster_centers_

centers# әрбір класс орталықтарының координаталары

In[1]: Out[18]
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. pyplotasplt#қажетті кітапханаларды қосамыз:

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] ] )

In[1]: In[19]
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. pyplotasplt#қажетті кітапханаларды қосамыз: kmeans. predict(X) #X-да әрбір іріктеме тиесілі кластерді болжау
In[1]: Out[19]
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. pyplotasplt#қажетті кітапханаларды қосамыз:

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] )

In[1]: In[20]
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. pyplotasplt#қажетті кітапханаларды қосамыз:

labels1 = kmeans. labels_

centroids3 = kmeans. cluster_centers_

In[1]: In[21]
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. pyplotasplt#қажетті кітапханаларды қосамыз:

clusters = centers. shape

clusters = np. array(list(range(0, clusters[0] ) ) )

clusters

In[1]: Out[21]
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. pyplotasplt#қажетті кітапханаларды қосамыз: array([0, 1, 2] )
In[1]: In[22]
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. pyplotasplt#қажетті кітапханаларды қосамыз:

importnumpyasnp

importpandasaspd

importplotly. graph_objsasgo

importplotlyaspy

importmatplotlib. pyplotasplt

In[1]: In[23]
importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib. 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

... жалғасы

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



Реферат Курстық жұмыс Диплом Материал Диссертация Практика Презентация Сабақ жоспары Мақал-мәтелдер 1‑10 бет 11‑20 бет 21‑30 бет 31‑60 бет 61+ бет Негізгі Бет саны Қосымша Іздеу Ештеңе табылмады :( Соңғы қаралған жұмыстар Қаралған жұмыстар табылмады Тапсырыс Антиплагиат Қаралған жұмыстар kz