Ввоята ΠΏΡŠΡ€Π²Π° ΡΡ‚ΡŠΠΏΠΊΠ° Π² 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: ] ΠΊΠ°Π·Π²Π°ΠΌΠ΅ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π°: искам Π΄Π° видя Π² ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°Ρ‚Π° 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, ΠΊΠΎΠΈΡ‚ΠΎ смС оставили. ΠšΠΎΠ»ΠΎΠ½Π°Ρ‚Π° β€žΠŸΠΎΠ»β€œ. Как искамС Π΄Π° Π³ΠΈ ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅? НСка прСдставим Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π·Π° ΠΏΠΎΠ»Π° Π½Π° Ρ‡ΠΎΠ²Π΅ΠΊΠ° ΠΊΠ°Ρ‚ΠΎ Π²Π΅ΠΊΡ‚ΠΎΡ€: 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], Π° Π΄Ρ€ΡƒΠ³ΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° достигат стотици ΠΈ хиляди. Π—Π° Π΄Π° ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΠΌ Ρ‚Π°ΠΊΠΎΠ²Π° Ρ€Π°Π·ΠΏΡ€ΡŠΡΠΊΠ²Π°Π½Π΅ ΠΈ ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€ΡŠΡ‚ Π΄Π° Π΅ ΠΏΠΎ-Ρ‚ΠΎΡ‡Π΅Π½ Π² изчислСнията, Ρ‰Π΅ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°ΠΌΠ΅ Π΄Π°Π½Π½ΠΈΡ‚Π΅. НСка всички числа Π½Π΅ Π½Π°Π΄Π²ΠΈΡˆΠ°Π²Π°Ρ‚ Ρ‚Ρ€ΠΎΠΉΠΊΠ°. Π—Π° Ρ‚ΠΎΠ²Π° Ρ‰Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ функцията StandardScaler.

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