Π’Π²ΠΎΠΉ ΠΏΡŠΡ€Π²ΠΈ ΡΡ‚ΡŠΠΏΠΊΠ° Π² Data Science. Π’ΠΈΡ‚Π°Π½ΠΈΠΊ

ΠšΡ€Π°Ρ‚ΠΊΠΎ прСдисловиС

Бмятам, Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΠ²ΡŠΡ€ΡˆΠΈΠΌ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π½Π΅Ρ‰Π°, Π°ΠΊΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΡΡ‚ΡŠΠΏΠΊΠ° ΠΏΠΎ ΡΡ‚ΡŠΠΏΠΊΠ° инструкции, ΠΊΠΎΠΈΡ‚ΠΎ Π΄Π° Π½ΠΈ ΠΊΠ°ΠΆΠ°Ρ‚ ΠΊΠ°ΠΊΠ²ΠΎ ΠΈ ΠΊΠ°ΠΊ Π΄Π° ΠΏΡ€Π°Π²ΠΈΠΌ. Бпомням си Π² ΠΆΠΈΠ²ΠΎΡ‚Π° си ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΈ, Π² ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ… Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π° Π½Π΅Ρ‰ΠΎ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ бСшС Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π° ΠΎΡ‚ΠΊΡŠΠ΄Π΅ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π°. МоТС Π±ΠΈ някога, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ видя Π΄ΡƒΠΌΠΈ "Data Science", си помисли, Ρ‡Π΅ си Π΄Π°Π»Π΅Ρ‡ ΠΎΡ‚ Ρ‚ΠΎΠ²Π°, Π° Ρ…ΠΎΡ€Π°Ρ‚Π°, ΠΊΠΎΠΈΡ‚ΠΎ сС Π·Π°Π½ΠΈΠΌΠ°Π²Π°Ρ‚ с Π½Π΅Π³ΠΎ, са някъдС Ρ‚Π°ΠΌ, Π² другия свят. Но Ρ‚Π΅ Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚ са Ρ‚ΡƒΠΊ. И, възмоТно Π΅, Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° Ρ…ΠΎΡ€Π° Π² Ρ‚Π°Π·ΠΈ област, Π΄Π° си ΠΏΠΎΠΏΠ°Π΄Π½Π°Π» Π½Π° статия Π² Π»Π΅Π½Ρ‚Π°Ρ‚Π° си. Π‘ΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ курсовС, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ Ρ‚ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ‚ Π΄Π° ΡƒΡΠ²ΠΎΠΈΡˆ занаята ΠΈ Ρ‚ΡƒΠΊ Ρ‰Π΅ ΠΏΠΎΠΌΠΎΠ³Π½Π° Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡˆ ΠΏΡŠΡ€Π²Π°Ρ‚Π° ΡΡ‚ΡŠΠΏΠΊΠ°.

Π’Π°ΠΊΠ° Ρ‡Π΅, Π³ΠΎΡ‚ΠΎΠ² Π»ΠΈ си? Π©Π΅ Ρ‚ΠΈ ΠΊΠ°ΠΆΠ° Π²Π΅Π΄Π½Π°Π³Π°, Ρ‡Π΅ трябва Π΄Π° знаСш Python 3, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Ρ‰Π΅ Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ Ρ‚ΡƒΠΊ. ΠŸΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π°ΠΌ ΡΡŠΡ‰ΠΎ Π΄Π° ΠΈΠ½ΡΡ‚Π°Π»ΠΈΡ€Π°Ρˆ Jupyter Notebook ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΈΠ»ΠΈ Π΄Π° Ρ€Π°Π·Π³Π»Π΅Π΄Π°Ρˆ ΠΊΠ°ΠΊ Π΄Π° използваш Google Colab.

Π‘Ρ‚ΡŠΠΏΠΊΠ° ΠΏΡŠΡ€Π²Π°

Π’Π²ΠΎΠΉ ΠΏΡŠΡ€Π²ΠΈ ΡΡ‚ΡŠΠΏΠΊΠ° Π² Data Science. Π’ΠΈΡ‚Π°Π½ΠΈΠΊ

Kaggle Π΅ Π²Π°ΠΆΠ΅Π½ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ Π² Ρ‚ΠΎΠ²Π° Π½Π°Ρ‡ΠΈΠ½Π°Π½ΠΈΠ΅. Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, моТСш ΠΈ Π±Π΅Π· Π½Π΅Π³ΠΎ, Π½ΠΎ Π·Π° Π½Π΅Π³ΠΎ Ρ‰Π΅ говоря Π² Π΄Ρ€ΡƒΠ³Π° статия. Π’ΠΎΠ²Π° Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, Π½Π° която сС ΠΏΡ€ΠΎΠ²Π΅ΠΆΠ΄Π°Ρ‚ ΡΡŠΡΡ‚Π΅Π·Π°Π½ΠΈΡ ΠΏΠΎ Data Science. На Ρ€Π°Π½Π½ΠΈΡ‚Π΅ Π΅Ρ‚Π°ΠΏΠΈ Π½Π° всяко ΡΡŠΡΡ‚Π΅Π·Π°Π½ΠΈΠ΅ Ρ‰Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡˆ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎ количСство ΠΎΠΏΠΈΡ‚ Π² Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΎΠΏΠΈΡ‚ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° Π² Π΅ΠΊΠΈΠΏ, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ Π²Π°ΠΆΠ½ΠΎ днСс.

Π©Π΅ Π²Π·Π΅ΠΌΠ΅ΠΌ Π½Π°ΡˆΠ°Ρ‚Π° Π·Π°Π΄Π°Ρ‡Π° ΠΎΡ‚Ρ‚Π°ΠΌ. Намира сС ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Ρ‚ΠΎ: "Π’ΠΈΡ‚Π°Π½ΠΈΠΊ". Условията са: Π΄Π° сС ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€Π°, Π΄Π°Π»ΠΈ всСки ΠΎΡ‚Π΄Π΅Π»Π΅Π½ Ρ‡ΠΎΠ²Π΅ΠΊ Ρ‰Π΅ ΠΎΡ†Π΅Π»Π΅Π΅. ΠšΠ°Ρ‚ΠΎ цяло, Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° Π½Π° Ρ‡ΠΎΠ²Π΅ΠΊ, Π·Π°Π½ΠΈΠΌΠ°Π²Π°Ρ‰ сС с DS, Π΅ Π΄Π° ΡΡŠΠ±ΠΈΡ€Π° Π΄Π°Π½Π½ΠΈ, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° Π³ΠΈ, ΠΎΠ±ΡƒΡ‡Π°Π²Π° ΠΌΠΎΠ΄Π΅Π», ΠΏΡ€Π°Π²ΠΈ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈ ΠΈ всичко останало. Π’ Kaggle ΠΎΠ±Π°Ρ‡Π΅ Π½ΠΈ позволяват Π΄Π° пропуснСм Π΅Ρ‚Π°ΠΏΠ° Π½Π° ΡΡŠΠ±ΠΈΡ€Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ β€” Ρ‚Π΅ Π²Π΅Ρ‡Π΅ са прСдоставСни Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°. Врябва само Π΄Π° Π³ΠΈ ΠΈΠ·Ρ‚Π΅Π³Π»ΠΈΠΌ ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°!

МоТСш Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡˆ Ρ‚ΠΎΠ²Π° ΠΏΠΎ слСдния Π½Π°Ρ‡ΠΈΠ½:

Π² Ρ€Π°Π·Π΄Π΅Π»Π° Data са Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅, Π² ΠΊΠΎΠΈΡ‚ΠΎ сС ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‚ Π΄Π°Π½Π½ΠΈΡ‚Π΅

Π’Π²ΠΎΠΉ ΠΏΡŠΡ€Π²ΠΈ ΡΡ‚ΡŠΠΏΠΊΠ° Π² Data Science. Π’ΠΈΡ‚Π°Π½ΠΈΠΊ

Π’Π²ΠΎΠΉ ΠΏΡŠΡ€Π²ΠΈ ΡΡ‚ΡŠΠΏΠΊΠ° Π² Data Science. Π’ΠΈΡ‚Π°Π½ΠΈΠΊ

Π˜Π·Ρ‚Π΅Π³Π»ΠΈΡ…ΠΌΠ΅ Π΄Π°Π½Π½ΠΈΡ‚Π΅, ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²ΠΈΡ…ΠΌΠ΅ Π½Π°ΡˆΠΈΡ‚Π΅ Jupyter Ρ‚Π΅Ρ‚Ρ€Π°Π΄ΠΊΠΈ и…

Π‘Ρ‚ΡŠΠΏΠΊΠ° Π²Ρ‚ΠΎΡ€Π°

Как сСга Π΄Π° ΠΈΠ·Ρ‚Π΅Π³Π»ΠΈΠΌ Ρ‚Π΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ?

ΠŸΡŠΡ€Π²ΠΎ, внасямС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈΡ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ:

import pandas as pd
import numpy as np

Pandas Ρ‰Π΅ Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°ΠΌΠ΅ .csv Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° ΠΏΠΎ-Π½Π°Ρ‚Π°Ρ‚ΡŠΡˆΠ½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°.

Numpy Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ, Π·Π° Π΄Π° прСдставим Π½Π°ΡˆΠ°Ρ‚Π° Ρ‚Π°Π±Π»ΠΈΡ†Π° Π΄Π°Π½Π½ΠΈ ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° с числа.
ΠŸΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°ΠΌΠ΅. Π©Π΅ Π²Π·Π΅ΠΌΠ΅ΠΌ Ρ„Π°ΠΉΠ»Π° train.csv ΠΈ Ρ‰Π΅ Π³ΠΎ Π·Π°Ρ€Π΅Π΄ΠΈΠΌ:

dataset = pd.read_csv('train.csv')

Π©Π΅ сС ΠΏΠΎΠ·ΠΎΠ²Π΅ΠΌ Π½Π° нашия Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ train.csv Ρ‡Ρ€Π΅Π· ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°Ρ‚Π° dataset. НСка Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊΠ²ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° Ρ‚ΠΎΠΉ:

dataset.head()

Π’Π²ΠΎΠΉ ΠΏΡŠΡ€Π²ΠΈ ΡΡ‚ΡŠΠΏΠΊΠ° Π² Data Science. Π’ΠΈΡ‚Π°Π½ΠΈΠΊ

Ѐункцията head() Π½ΠΈ позволява Π΄Π° ΠΏΡ€Π΅Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΏΡŠΡ€Π²ΠΈΡ‚Π΅ няколко Ρ€Π΅Π΄Π° Π½Π° Π΄Π°Ρ‚Π°Ρ„Ρ€Π΅ΠΉΠΌΠ°.

Π‘Ρ‚ΡŠΠ»Π±Ρ†ΠΈΡ‚Π΅ Survived прСдставляват Π½Π°ΡˆΠΈΡ‚Π΅ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π² Ρ‚ΠΎΠ·ΠΈ Π΄Π°Ρ‚Π°Ρ„Ρ€Π΅ΠΉΠΌ са извСстни. Π—Π° Ρ†Π΅Π»ΠΈΡ‚Π΅ Π½Π° Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° Π½ΠΈ трябва Π΄Π° ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€Π°ΠΌΠ΅ ΡΡ‚ΡŠΠ»Π±Π΅Ρ† Survived Π·Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ test.csv. Π’ Ρ‚Π΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ сС ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° информация Π·Π° Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΡŠΡ‚Π½ΠΈΡ†ΠΈ Π½Π° Π’ΠΈΡ‚Π°Π½ΠΈΠΊ, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ Π·Π½Π°Π΅ΠΌ ΠΈΠ·Ρ…ΠΎΠ΄ΠΈΡ‚Π΅.

И Ρ‚Π°ΠΊΠ°, Ρ‰Π΅ Ρ€Π°Π·Π΄Π΅Π»ΠΈΠΌ Π½Π°ΡˆΠ°Ρ‚Π° Ρ‚Π°Π±Π»ΠΈΡ†Π° Π½Π° зависими ΠΈ нСзависими Π΄Π°Π½Π½ΠΈ. Π’ΡƒΠΊ всичко Π΅ просто. ЗависимитС Π΄Π°Π½Π½ΠΈ са Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ зависят ΠΎΡ‚ нСзависимитС - Ρ‚.Π΅. Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅. НСзависимитС Π΄Π°Π½Π½ΠΈ са Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ влияят Π½Π° ΠΈΠ·Ρ…ΠΎΠ΄Π°.

НапримСр, ΠΈΠΌΠ°ΠΌΠ΅ слСдния Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ:

β€žΠ’ΠΎΠ²Π° ΡƒΡ‡ΠΈΠ» ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ° β€” Π½Π΅.
Π’ΠΎΠ²Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» 2 ΠΏΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°.β€œ

ΠžΡ†Π΅Π½ΠΊΠ°Ρ‚Π° ΠΏΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ° зависи ΠΎΡ‚ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€Π° Π½Π° Π²ΡŠΠΏΡ€ΠΎΡΠ°: ΡƒΡ‡ΠΈΠ» Π»ΠΈ Π΅ Π’ΠΎΠ²Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°? Ясно Π»ΠΈ Π΅? ΠŸΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°ΠΌΠ΅ Π½Π°Ρ‚Π°Ρ‚ΡŠΠΊ, Π²Π΅Ρ‡Π΅ смС ΠΏΠΎ-Π±Π»ΠΈΠ·ΠΎ Π΄ΠΎ Ρ†Π΅Π»Ρ‚Π°!

Π’Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π·Π° нСзависими Π΄Π°Π½Π½ΠΈ Π΅ X. Π—Π° зависими - y.

ΠŸΡ€Π°Π²ΠΈΠΌ слСдното:

X = dataset.iloc[ : , 2 : ]
y = dataset.iloc[ : , 1 : 2 ]

Какво Π΅ Ρ‚ΠΎΠ²Π°? Π‘ функцията iloc[:, 2: ] ΠΊΠ°Π·Π²Π°ΠΌΠ΅ Π½Π° Python: искам Π΄Π° видя Π² ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°Ρ‚Π° X Π΄Π°Π½Π½ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ Π·Π°ΠΏΠΎΡ‡Π²Π°Ρ‚ ΠΎΡ‚ втория ΡΡ‚ΡŠΠ»Π± (Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ, ΠΏΡ€ΠΈ условиС, Ρ‡Π΅ Π±Ρ€ΠΎΠ΅Π½Π΅Ρ‚ΠΎ Π·Π°ΠΏΠΎΡ‡Π²Π° ΠΎΡ‚ Π½ΡƒΠ»Π°). Π’ΡŠΠ² Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° линия ΠΊΠ°Π·Π²Π°ΠΌΠ΅, Ρ‡Π΅ искамС Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ Π² y Π΄Π°Π½Π½ΠΈΡ‚Π΅ ΠΎΡ‚ ΠΏΡŠΡ€Π²ΠΈΡ ΡΡ‚ΡŠΠ»Π±.

[ a:b, c:d ] β€” Ρ‚ΠΎΠ²Π° Π΅ конструкцията, която ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π² скобитС. Ако Π½Π΅ Π·Π°Π΄Π°Π΄Π΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, Ρ‚Π΅ Ρ‰Π΅ останат ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅. ВоСст ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΠΌ [:,: d] ΠΈ Ρ‚ΠΎΠ³Π°Π²Π° Ρ‰Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π² Π΄Π°Ρ‚Π°Ρ„Ρ€Π΅ΠΉΠΌΠ° всички ΡΡ‚ΡŠΠ»Π±Ρ†ΠΈ, с ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π·Π°ΠΏΠΎΡ‡Π²Π°Ρ‚ ΠΎΡ‚ Π½ΠΎΠΌΠ΅Ρ€ d Π½Π°Ρ‚Π°Ρ‚ΡŠΠΊ. ΠŸΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡ‚Π΅ a ΠΈ b опрСдСлят Ρ€Π΅Π΄ΠΎΠ²Π΅Ρ‚Π΅, Π½ΠΎ Ρ‚Π΅ са Π½ΠΈ всички Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ оставямС ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅.

НСка Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊΠ²ΠΎ смС ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ:

X.head()

Π’Π²ΠΎΠΉ ΠΏΡŠΡ€Π²ΠΈ ΡΡ‚ΡŠΠΏΠΊΠ° Π² Data Science. Π’ΠΈΡ‚Π°Π½ΠΈΠΊ

y.head()

Π’Π²ΠΎΠΉ ΠΏΡŠΡ€Π²ΠΈ ΡΡ‚ΡŠΠΏΠΊΠ° Π² Data Science. Π’ΠΈΡ‚Π°Π½ΠΈΠΊ

Π—Π° Π΄Π° опростим Ρ‚ΠΎΠ·ΠΈ малък ΡƒΡ€ΠΎΠΊ, Ρ‰Π΅ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π΅ΠΌ ΡΡ‚ΡŠΠ»Π±Ρ†ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ изискват особСно β€žΠ³Ρ€ΠΈΠΆΠ°β€œ, ΠΈΠ»ΠΈ ΠΈΠ·ΠΎΠ±Ρ‰ΠΎ Π½Π΅ влияят Π½Π° оцСляванСто. Π’Π΅ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‚ Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ Ρ‚ΠΈΠΏ str.

count = ['Name', 'Ticket', 'Cabin', 'Embarked']
X.drop(count, inplace=True, axis=1)

Π‘ΡƒΠΏΠ΅Ρ€! ΠŸΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°ΠΌΠ΅ към слСдващата ΡΡ‚ΡŠΠΏΠΊΠ°.

Π‘Ρ‚ΡŠΠΏΠΊΠ° Ρ‚Ρ€Π΅Ρ‚Π°

Π’ΡƒΠΊ Ρ‰Π΅ трябва Π΄Π° ΠΊΠΎΠ΄ΠΈΡ€Π°ΠΌΠ΅ Π½Π°ΡˆΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ ΠΌΠ°ΡˆΠΈΠ½Π°Ρ‚Π° ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅ Π΄Π° Ρ€Π°Π·Π±ΠΈΡ€Π° ΠΊΠ°ΠΊ Ρ‚Π΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ влияят Π½Π° Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚Π°. Но Ρ‰Π΅ ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅ само част ΠΎΡ‚ Π΄Π°Π½Π½ΠΈΡ‚Π΅, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π°Π½Π½ΠΈΡ‚Π΅ ΠΎΡ‚ Ρ‚ΠΈΠΏ str, ΠΊΠΎΠΈΡ‚ΠΎ смС оставили. ΠšΠΎΠ»ΠΎΠ½Π°Ρ‚Π° "Sex". Как искамС Π΄Π° ΠΊΠΎΠ΄ΠΈΡ€Π°ΠΌΠ΅? НСка прСдставим Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π·Π° ΠΏΠΎΠ»Π° Π½Π° Ρ‡ΠΎΠ²Π΅ΠΊΠ° ΠΊΠ°Ρ‚ΠΎ Π²Π΅ΠΊΡ‚ΠΎΡ€: 10 β€” мъТки ΠΏΠΎΠ», 01 β€” ТСнски ΠΏΠΎΠ».

ΠŸΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ Π΄Π° ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°ΠΌΠ΅ Π½Π°ΡˆΠΈΡ‚Π΅ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° NumPy:

X = np.array(X)
y = np.array(y)

А сСга да видим:

from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import OneHotEncoder

ct = ColumnTransformer(transformers=[('encoder', OneHotEncoder(), [1])],
                       remainder='passthrough')
X = np.array(ct.fit_transform(X))

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° sklearn Π΅ страхотна Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, която Π½ΠΈ позволява Π΄Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°ΠΌΠ΅ цялостна Ρ€Π°Π±ΠΎΡ‚Π° Π² Data Science. Вя ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° голямо количСство интСрСсни ΠΌΠΎΠ΄Π΅Π»ΠΈ Π·Π° машинно ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ Π½ΠΈ позволява Π΄Π° сС Π·Π°Π½ΠΈΠΌΠ°Π²Π°ΠΌΠ΅ с ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ.

OneHotEncoder Ρ‰Π΅ Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅ ΠΏΠΎΠ»Π° Π½Π° Ρ‡ΠΎΠ²Π΅ΠΊΠ° Π² ΠΆΠ΅Π»Π°Π½ΠΎΡ‚ΠΎ прСдставянС, ΠΊΠ°ΠΊΠ²ΠΎΡ‚ΠΎ описахмС. Π©Π΅ Π±ΡŠΠ΄Π°Ρ‚ създадСни 2 класа: мъТки ΠΈ ТСнски. Ако Ρ‡ΠΎΠ²Π΅ΠΊΡŠΡ‚ Π΅ мъТ, Π² ΠΊΠΎΠ»ΠΎΠ½Π°Ρ‚Π° "мъТки" Ρ‰Π΅ бъдС записана 1, Π° Π² "ТСнски" ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ 0.

Π‘Π»Π΅Π΄ OneHotEncoder() стои [1] β€” Ρ‚ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ искамС Π΄Π° ΠΊΠΎΠ΄ΠΈΡ€Π°ΠΌΠ΅ ΠΊΠΎΠ»ΠΎΠ½Π°Ρ‚Π° Π½ΠΎΠΌΠ΅Ρ€ 1 (Π±Ρ€ΠΎΠ΅Π½Π΅Ρ‚ΠΎ Π·Π°ΠΏΠΎΡ‡Π²Π° ΠΎΡ‚ Π½ΡƒΠ»Π°).

Π‘Ρ‚Ρ€Π°Ρ…ΠΎΡ‚Π½ΠΎ. ΠŸΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°ΠΌΠ΅ Π½Π°ΠΏΡ€Π΅Π΄!

ОбикновСно сС случва Ρ‚Π°ΠΊΠ°, Ρ‡Π΅ някои Π΄Π°Π½Π½ΠΈ остават нСпопълнСни (Ρ‚.Π΅. NaN β€” not a number). НапримСр, ΠΈΠΌΠ° информация Π·Π° Ρ‡ΠΎΠ²Π΅ΠΊ: ΠΈΠΌΠ΅Ρ‚ΠΎ ΠΌΡƒ, ΠΏΠΎΠ»Π°. Но всС ΠΏΠ°ΠΊ няма Π΄Π°Π½Π½ΠΈ Π·Π° Π²ΡŠΠ·Ρ€Π°ΡΡ‚Ρ‚Π° ΠΌΡƒ. Π’ Ρ‚Π°ΠΊΡŠΠ² случай Ρ‰Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΏΡ€ΠΈ ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ Π½Π°ΠΌΠ΅Ρ€ΠΈΠΌ срСдното Π°Ρ€ΠΈΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‡Π½ΠΎ Π½Π° всички ΠΊΠΎΠ»ΠΎΠ½ΠΈ ΠΈ, Π°ΠΊΠΎ някои ΠΎΡ‚ Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π² ΠΊΠΎΠ»ΠΎΠ½Π°Ρ‚Π° са пропуснати, Ρ‰Π΅ запълним ΠΏΡ€Π°Π·Π½ΠΎΡ‚Π°Ρ‚Π° със срСдното Π°Ρ€ΠΈΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‡Π½ΠΎ.

from sklearn.impute import SimpleImputer
imputer = SimpleImputer(missing_values=np.nan, strategy='mean')
imputer.fit(X)
X = imputer.transform(X)

А сСга Π΄Π° Π²Π·Π΅ΠΌΠ΅ΠΌ Π² ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄, Ρ‡Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС случат ситуации, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π΄Π°Π½Π½ΠΈΡ‚Π΅ са ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΏΡ€ΡŠΡΠ½Π°Ρ‚ΠΈ. Някои Π΄Π°Π½Π½ΠΈ са Π² ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° [0:1], Π° Π΄Ρ€ΡƒΠ³ΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π½Π°Π΄Π²ΠΈΡˆΠ°Π²Π°Ρ‚ стотици ΠΈ хиляди. Π—Π° Π΄Π° ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΠΌ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Ρ€Π°Π·ΠΏΠ°Π΄ ΠΈ ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€ΡŠΡ‚ Π΄Π° бъдС ΠΏΠΎ-Ρ‚ΠΎΡ‡Π΅Π½ Π² изчислСнията, Ρ‰Π΅ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ Π΄Π°Π½Π½ΠΈΡ‚Π΅. НСка всички числа Π΄Π° Π½Π΅ Π½Π°Π΄Π²ΠΈΡˆΠ°Π²Π°Ρ‚ Ρ‚Ρ€ΠΈ. Π—Π° Ρ‚ΠΎΠ²Π° Ρ‰Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ функцията StandartScaler.

from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X[:, 2:] = sc.fit_transform(X[:, 2:])

Π‘Π΅Π³Π° Π½Π°ΡˆΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°Ρ‚ Ρ‚Π°ΠΊΠ°:

Π’Π²ΠΎΠΉ ΠΏΡŠΡ€Π²ΠΈ ΡΡ‚ΡŠΠΏΠΊΠ° Π² Data Science. Π’ΠΈΡ‚Π°Π½ΠΈΠΊ

Π‘Ρ‚Ρ€Π°Ρ…ΠΎΡ‚Π½ΠΎ. НиС Π²Π΅Ρ‡Π΅ смС Π±Π»ΠΈΠ·ΠΎ Π΄ΠΎ Ρ†Π΅Π»Ρ‚Π° си!

Π§Π΅Ρ‚Π²ΡŠΡ€Ρ‚Π° ΡΡ‚ΡŠΠΏΠΊΠ°

Π©Π΅ ΠΎΠ±ΡƒΡ‡ΠΈΠΌ Π½Π°ΡˆΠ°Ρ‚Π° ΠΏΡŠΡ€Π²Π° ΠΌΠΎΠ΄Π΅Π»! ΠžΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° sklearn ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈΠΌ Π±Π΅Π·Π±Ρ€ΠΎΠΉ интСрСсни Π½Π΅Ρ‰Π°. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠΈΡ… ΠΌΠΎΠ΄Π΅Π»Π° Gradient Boosting Classifier към Ρ‚Π°Π·ΠΈ Π·Π°Π΄Π°Ρ‡Π°. ИзползвамС класификатор, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π½Π°ΡˆΠ°Ρ‚Π° Π·Π°Π΄Π°Ρ‡Π° Π΅ Π·Π°Π΄Π°Ρ‡Π° Π·Π° класификация. Врябва Π΄Π° сС ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€Π° Π΄Π°Π»ΠΈ Π΅ 1 (оцСлял) ΠΈΠ»ΠΈ 0 (Π½Π΅ Π΅ оцСлял).

from sklearn.ensemble import GradientBoostingClassifier
gbc = GradientBoostingClassifier(learning_rate=0.5, max_depth=5, n_estimators=150)
gbc.fit(X, y)

Ѐункцията fit ΠΊΠ°Π·Π²Π° Π½Π° Python: НСка ΠΌΠΎΠ΄Π΅Π»ΡŠΡ‚ Ρ‚ΡŠΡ€ΡΠΈ зависимости ΠΌΠ΅ΠΆΠ΄Ρƒ X ΠΈ y.

По-ΠΌΠ°Π»ΠΊΠΎ ΠΎΡ‚ сСкунда ΠΈ ΠΌΠΎΠ΄Π΅Π»ΡŠΡ‚ Π΅ Π³ΠΎΡ‚ΠΎΠ².

Π’Π²ΠΎΠΉ ΠΏΡŠΡ€Π²ΠΈ ΡΡ‚ΡŠΠΏΠΊΠ° Π² Data Science. Π’ΠΈΡ‚Π°Π½ΠΈΠΊ

Как Π΄Π° Π³ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΠΌ? Π‘Π΅Π³Π° Ρ‰Π΅ Π²ΠΈΠ΄ΠΈΠΌ!

Π‘Ρ‚ΡŠΠΏΠΊΠ° ΠΏΠ΅Ρ‚Π°. Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π‘Π΅Π³Π° трябва Π΄Π° Π·Π°Ρ€Π΅Π΄ΠΈΠΌ Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° с Π½Π°ΡˆΠΈΡ‚Π΅ тСстови Π΄Π°Π½Π½ΠΈ, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ трябва Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·Π°Ρ‚Π°. Π‘ Ρ‚Π°Π·ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π° Ρ‰Π΅ ΠΈΠ·Π²ΡŠΡ€ΡˆΠΈΠΌ ΡΡŠΡ‰ΠΈΡ‚Π΅ дСйствия, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ…ΠΌΠ΅ Π·Π° X.

X_test = pd.read_csv('test.csv', index_col=0)

count = ['Name', 'Ticket', 'Cabin', 'Embarked']
X_test.drop(count, inplace=True, axis=1)

X_test = np.array(X_test)

from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import OneHotEncoder
ct = ColumnTransformer(transformers=[('encoder', OneHotEncoder(), [1])],
                       remainder='passthrough')
X_test = np.array(ct.fit_transform(X_test))

from sklearn.impute import SimpleImputer
imputer = SimpleImputer(missing_values=np.nan, strategy='mean')
imputer.fit(X_test)
X_test = imputer.transform(X_test)

from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X_test[:, 2:] = sc.fit_transform(X_test[:, 2:])

НСка ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΠΌ нашия ΠΌΠΎΠ΄Π΅Π»!

gbc_predict = gbc.predict(X_test)

Всичко. НаправихмС ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·Π°Ρ‚Π°. Π‘Π΅Π³Π° трябва Π΄Π° я запишСм Π² csv ΠΈ Π΄Π° я ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈΠΌ Π½Π° сайта.

np.savetxt('my_gbc_predict.csv', gbc_predict, delimiter=",", header = 'Survived')

Π“ΠΎΡ‚ΠΎΠ²ΠΎ. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ…ΠΌΠ΅ Ρ„Π°ΠΉΠ», ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‰ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ‚Π΅ Π·Π° всСки ΠΏΡŠΡ‚Π½ΠΈΠΊ. ΠžΡΡ‚Π°Π²Π° само Π΄Π° ΠΊΠ°Ρ‡ΠΈΠΌ Ρ‚Π΅Π·ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π° сайта ΠΈ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΎΡ†Π΅Π½ΠΊΠ° Π½Π° ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·Π°Ρ‚Π°. Π’Π°ΠΊΠΎΠ²Π° ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π΄Π°Π²Π° 74% ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΈ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΈ Π½Π° ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ ΠΈ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° осигурява извСстСн Ρ‚Π»Π°ΡΡŠΠΊ Π² Data Science. Най-Π»ΡŽΠ±ΠΎΠΏΠΈΡ‚Π½ΠΈΡ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ ΠΏΠΎ всяко Π²Ρ€Π΅ΠΌΠ΅ Π΄Π° ΠΌΠΈ ΠΏΠΈΡˆΠ°Ρ‚ Π½Π° Π»ΠΈΡ‡Π½ΠΎ ΠΈ Π΄Π° Π·Π°Π΄Π°Π²Π°Ρ‚ Π²ΡŠΠΏΡ€ΠΎΡΠΈ. Благодаря Π½Π° всички!

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster