Как да използвате науката за данни, за да разберете какво прави вкуса на виното

Публикувана също в моя блог за технологии

Data Science. Това е обявено за най-сексапилната работа на 21 век. Всички - от компании до физически лица - се опитват да го разберат и приемат. И ако сте програмист, вие определено изпитвате FoMo (Страх от изчезване)! Просто погледнете колко популярен е терминът с времето:

Ниво на популярност на Data Science през последните 5 години

Средната заплата на учен с данни е над 120 000 долара в Съединените щати според „Действително“. В момента те имат и най-високо платените работни места, с медиана от 60 000 долара. Glassdoor също го нарече „Най-добра работа на 2016 г.“, а също така е класирана на първо място в Glassdoor.

Но каква е тази наука, за която продължават да говорят? Продължавай да четеш!

Съдържание

  • Необходимостта от Data Science
  • Кой ще извлече максимума от този урок
  • Приготвяме се да започнем
  • Анализ на данни
  • Проучване на връзките между функции и техники за визуализация на данни
  • По-външно откриване

Каква е нуждата от наука за данни?

По-просто казано, Data Science ви помага да бъдете задвижвани от данни. Водените от данни решения помагат на компаниите да разберат по-добре своите клиенти и да изградят страхотен бизнес.

Живеем в ерата на информационния експлозия. Компаниите събират различни видове данни в зависимост от вида бизнес, който ръководят. Например - за магазин на дребно, данните могат да бъдат за видовете продукти, които клиентите му купуват с течение на времето, както и за разходите им. За Netflix може да става въпрос за това, което показва повечето от потребителите им, които гледат или харесват, и тяхната демография.

Бизнес решенията често разчитат на много интуиция и познания в областта. Сега, когато данните стават все по-големи и по-големи, за нас става трудно да ги осмислим. Ние просто не сме оборудвани с умствената способност да изливаме големи масиви от данни, пълни с тонове информация.

Целта на Data Science е да ви разкаже история и да ви помогне да я визуализирате.

Използвайки го, можете:

  • Получете много информация от данните, които иначе биха могли да останат неоткрити
  • Вземете по-бързи решения, защото добре - компютрите са по-бързи от хората в края на краищата!
  • Елиминирайте много пристрастия, които изостават при вземането на решения. През цялата история хората винаги са били доста склонни да позволяват на чувствата и предразсъдъците им да замъглят преценката си ...

Но за разлика от хората, на компютрите не е необходимо да участват в бизнес среща и да участват в пикантно състезание за това, защо определено решение е по-добро от останалите.

Сега, когато разбрахме за какво става въпрос, е време да го научим!

Кой ще извлече максимума от този урок:

  • Хората с някои основни познания в програмирането, които искат да разберат науката за данни и нейните приложения.
  • Хората, които намират математиката и статистиката за малко непосилни в началото.
  • Ако дори се интересувате от разстояние от вина, тогава го прочетете - само за дяволите!

Да започваме!

В този урок ще разберете как да анализирате набор от данни за вино, да наблюдавате неговите характеристики и да извличате различни мнения от него. След като завършите този урок, ще:

  • Разберете как Data Science може да се използва за анализ и получаване на представа от данни.
  • Станете осведомени за виното. ;-)

Дори и да не пиете, това е наред - пак ще станете начинаещ сомелиер или енофил (да, това е действителен термин!).

В следващата публикация в блога ще видите приложна наука за данни под формата на машинно обучение:

  • Какво е ML и какви видове проблеми могат да бъдат решени с него?
  • Как да обучим класификатор, използващ ML за идентифициране на добри вина от лоши вина.
  • Различни показатели за ефективност

Знайте преди да прочетете:

Предполагам, че вече имате известни познания по програмиране. Необходими са някои познания по програмиране на Python, така че ако го знаете, ще намерите този урок сравнително просто. Ако не го направите, горещо ви препоръчвам да проверите този безплатен курс на Въведение в Python.

Защо Python? Защото той бързо се очертава като предпочитан избор на език за науката за данни. Сравнително лесно е да вземете и научите, а екосистемата Python разполага с много инструменти и библиотеки за практически изграждане на каквото и да е - от уеб сървъри, пакети за машинно обучение, статистика, дълбоко обучение, до IoT. Python има и една от най-активните общности в интернет, като препълване на стекове.

Някои основни познания за библиотеките като numpy и панди също ще бъдат полезни, макар и не задължителни.

Какво ще ви е необходимо за този урок:

  • За предпочитане е Linux базиран дистрибутор (Ubuntu или Linux Mint) с инсталиран Python.
  • Инсталирайте Anaconda. Това е система за управление на пакети с отворен код и система за управление на околната среда, предимно за програми на Python. За обучение и тестване на нашите модели на машинно обучение ще използвате много популярна библиотека с отворен код, наречена scikit-learn.
  • Изтеглете файловете на проекта от това хранилище във вашата машина. След това отворете терминал, cd към папката на вашия проект и стартирайте pip install -r изисквания.txt, за да инсталирате зависимостите.
  • Освен това можете да качите файловете на проекта във FloydHub и да стартирате кодовете си, без да създавате проблеми. Препоръчвам го, ако нямате базирана на Linux система.

Ще използвате файл за преносим компютър IPython (Interactive Python), за да стартирате кода си. След като изтеглите файловете на проекта, отворете терминала, CD в папката на вашия проект и пуснете jupyter-notebook. Това ще отвори нов прозорец на вашия браузър по подразбиране на порта 8888. Ако използвате FloydHub, същият файл на преносим компютър може да се стартира и от там.

Ще намерите два файла с преносими компютри IPython. Изберете от списъка играта, наречена game-of-wines.ipynb. Другият файл на бележника съдържа пълния изходен код за този урок.

Как да използвате този бележник

Бележникът вече има някакъв код на шаблон и обяснения в клетките, за да започнете. На няколко места ще откриете, че кодът вече е написан за вас, само за да го улесните. Също така ще намерите коментари и връзки, когато е необходимо.

За да изпълните код в клетка, щракнете върху него с мишката и след това изберете опцията за изпълнение в заглавната лента на книгата.

Добре, наздраве! Нека отпием ... ей, изучете нашите данни за виното.

Онзи ден търсех в интернет някои интересни данни с отворен код. Kaggle има много активна общност, в която лесно можете да търсите различни видове набори от данни и да решавате предизвикателства. Друго страхотно място за търсене на набори от данни е хранилището за машинно обучение на Калифорнийския университет в Ървайн.

Магазинът за UCI Machine Learning има два набора данни за вино. Единият набор данни съдържа информация за червените вина, а другият за белите вина. Вашата проектна папка вече съдържа и двете. Тези вина са произведени във Виньо Верде, регион на север от Португалия.

Първо, ще импортирате някои библиотеки, необходими за нашия анализ на данни. Кликнете върху блока от клетки, след което изберете командата за изпълнение, за да заредите всички тях.

След това ще заредим набора от данни в нашия бележник и ще покажем първите 5 реда. Въведете този код в блока с клетки на вашия бележник и след това го стартирайте:

# Заредете данните от Red Wines
data = pd.read_csv ("данни / winequality-red.csv", sep = ';')
# Показване на първите пет записа
дисплей (data.head (п = 5))

Той ще отпечата този изход:

Както можете да видите, в набора от данни има около 12 различни функции за всяко вино. Последната колона, качеството, е показател за това колко добро определено вино е оценено, между 1 до 10.

Нека да видим дали в някоя от тези колони липсва информация. Въведете това в клетъчния блок:

data.isnull (). всеки ()

Резултатът ни показва, че нито една колона не е празна.

Можем да получим още малко допълнителна информация от нашия набор от данни, като пуснете:

data.info ()

Нека опитаме да направим някакъв предварителен анализ на нашите вина. За нашите цели нека считаме, че всички вина с рейтинг 7 и по-високи са с много добро качество, вина с 5 и 6 са със средно качество, а вина по-малко от 5 - с безотказно качество:

n_wines = data.shape [0]
# Брой вина с оценка за качество над 6
качество_above_6 = data.loc [(данни ['качество']> 6)]
n_above_6 = качество_above_6.shape [0]
# Брой вина с оценка за качество под 5
quality_below_5 = data.loc [(данни ['качество'] <5)]
n_below_5 = quality_below_5.shape [0]
# Брой вина с оценка за качество между 5 и 6
качество_between_5 = data.loc [(данни ['качество']> = 5) & (данни ['качество'] <= 6)]
n_between_5 = качество_between_5.shape [0]
# Процент вина с рейтинг на качеството над 6
по-голям_процент = n_ над_6 * 100 / n_wines
# Отпечатайте резултатите
print ("Общ брой данни за вино: {}". формат (n_wines))
print ("Вина с оценка 7 и повече: {}". формат (n_above_6))
print ("Вина с рейтинг под 5: {}". формат (n_below_5))
print ("Вина с рейтинг 5 и 6: {}". формат (n_between_5))
print ("Процент вина с качество 7 и по-високо: {: .2f}%". формат (по-голям_процент))
# Още един допълнителен анализ на данни
дисплей (np.round (data.describe ()))

Можете също да видите качествени разпределения на графика:

# Визуализирайте непрекъснато изкривени функции на оригиналните данни
vs.разпределение (данни, "качество")

Както можете да видите, повечето вина попадат под средното качество. Има по-малко вина, които са с много високо качество и страхотна дегустация, и много малко вина, които не са толкова добри.

Можем да използваме метода описване на панди, за да получим полезни статистически данни, като средно, средно и стандартно отклонение на характеристиките в нашите данни:

Някои полезни статистически данни, за които трябва да знаете:

  • Средна (средна): Може би най-познатата от всички. Просто добавете всички стойности на извадката за дадена функция и след това я разделете на броя на пробите.
  • Медиана: Първо подреждате всички примерни стойности в числов ред, в списък. Средното число в този списък ще бъде средното.
  • Режим: Стойността, която се среща най-много в списък от проби.
  • Диапазон: Разликата между най-високата и най-ниската стойност в списък.
  • Стандартно отклонение: Използва се за измерване на дисперсията на стойности в набор. Първо изчислете средната стойност, след това извадете всяко число в списъка със средната стойност и квадратът на резултата. След това изчислете средната стойност на тези квадратни разлики и накрая изчислете квадратния корен от нея.

Следващата стъпка е да изучим по-подробно характеристиките в нашия набор от данни.

Качеството на виното зависи от куп химически свойства, които влияят на техния вкус, аромат и аромат. Така че да, въпреки че производството на вино се смята за изкуство, всъщност е доста научно, ако се замислите.

В Data Science наличието на знания за домейна може да бъде ключовият диференциращ фактор между посредственото и великото прозрение.

Време е да станем по-мъдри с нашия винен вокаб!

Вината съдържат различно съотношение захари, алкохол, органични киселини, соли от минерални и органични киселини, фенолни съединения, пигменти, азотни вещества, пектини, смоли, слуз, летливи ароматни съединения (естери, алдехиди и кетони), витамини, соли и серен диоксид ,

В дегустацията на вино терминът киселинност се отнася до свежите, тръпчиви и кисели атрибути на виното. Три първични киселини се намират във виненото грозде - винена, ябълчена и лимонена. Те се оценяват във връзка с това колко добре киселинността балансира сладостта и горчивите компоненти на виното, като танини.

  • Фиксирана киселинност

Титруемата киселинност, понякога наричана фиксирана киселинност, е измерване на общата концентрация на титруеми киселини и свободни водородни йони, присъстващи във вашето вино. Ламус хартия може да се използва, за да се определи дали даден разтвор е кисел или основен. Най-често срещаните титруеми киселини са винена, ябълчена, лимонена и въглеродна киселина. Тези киселини, заедно с много повече в по-малки количества, или се срещат естествено в гроздето, или се създават чрез процеса на ферментация.

  • Летлива киселинност

Летливата киселинност се причинява най-вече от бактериите във виното, създаващи оцетна киселина - киселината, която придава на оцета характерния му аромат и аромат - и неговия страничен продукт, етилацетат. Летливата киселинност може да бъде индикатор за разваляне или грешки в производствените процеси - причинени от неща като повредено грозде, вино, изложено на въздух и т.н. Това причинява навлизането и процъфтяването на оцетната киселина и поражда неприятни вкусове и миризми. Винените експерти често могат да кажат това само като го помиришат!

  • Лимонена киселина

Лимонената киселина обикновено се намира в много малки количества във виненото грозде. Той действа като консервант и се добавя към вина за повишаване на киселинността, допълване на специфичен аромат или предотвратяване на железни мъгла. Може да се добавя към готови вина за повишаване на киселинността и придаване на „свеж“ вкус. Излишната добавка обаче може да съсипе вкуса.

  • Остатъчни захари

Остатъчна захар или RS за кратко се отнася до всички естествени гроздови захари, които остават след прекратяване на ферментацията (независимо дали нарочно или не). Сокът от винено грозде започва силно сладък и ферментацията използва тази захар, тъй като дрождите се хранят с нея.

По време на винопроизводството маята обикновено превръща цялата захар в алкохол, правейки сухо вино. Обаче понякога не цялата захар се ферментира от маята, оставяйки малко сладост.

За да направите вино, което има добър вкус, ключът е да имате перфектен баланс между сладостта и киселинността в напитката.

  • Хлориди

Количеството хлориди, присъстващи в едно вино, обикновено е индикатор за неговата "соленост". Обикновено това се влияе от територията, където виненото грозде расте, методите на отглеждане, а също и вида на гроздето. Прекалената соленост се счита за нежелателна. Правилната пропорция може да направи виното по-пикантно.

  • Нива на серен диоксид

Серен диоксид съществува във виното в свободни и свързани форми, а комбинациите са посочени като общ SO2. Това е най-често използваният консервант, който обикновено се добавя от производителите на вино за защита на виното от отрицателни ефекти от излагане на въздух и кислород. Вината с добавено съдържание на серен диоксид обикновено имат етикети "Съдържа сулфити".

Той действа като хигиенизиращо средство - добавянето му обикновено убива нежеланите бактерии или дрожди, които могат да влязат във виното и да развалят неговия вкус и аромат. За първи път той е бил използван при винопроизводството от римляните, когато са открили, че изгарянето на серни свещи в празните съдове за вино ги поддържа свежи и без миризма на оцет. Доста спретнато, а?

  • плътност

Известен също като специфична гравитация, може да се използва за измерване на концентрацията на алкохол във вината. По време на ферментацията захарта в сока се превръща в етанол с въглероден диоксид като отпадъчен газ. Мониторингът на плътността по време на процеса позволява оптимален контрол на този етап на конверсия за най-висококачествени вина. По-сладките вина обикновено имат по-голяма плътност.

  • рН

pH означава мощност на водорода, което е измерване на концентрацията на водородни йони в разтвора. Обикновено разтворите с рН стойност по-ниска от 7 се считат за кисели, като някои от най-силните киселини са близки до 0. Разтворите над 7 се считат за алкални или основни. Стойността на pH на водата е 7, тъй като не е нито киселина, нито основа.

  • Сулфати

Сулфатите са соли на сярна киселина. Те не участват в производството на вино, но някои производители на бира използват калциев сулфат - известен още като пивоварен гипс - за коригиране на недостига на минерали във водата по време на процеса на варене. Освен това добавя малко „остър“ вкус.

  • алкохол

А, да, алкохолът - ключът към успешното парти! Алкохолните напитки са съществували поне от неолита (10 000 г. пр.н.е.). Пиенето му в малки количества ви доставя топли размити чувства вътре и ви прави по-общителни. Разбира се, по-високите дози също могат да ви накарат да изпаднете.

Напийте старателно, приятелят ми на данни!

Проучване на връзките между функции и визуализации

Сега, когато имате известни познания в областта на виното, е време да проучите повече. Нашият набор от данни съдържа куп функции, както видяхме по-горе, като алкохолни нива, количество остатъчна захар и рН стойност. Някои от тези функции могат да зависят от други функции, а други не. Някои от тях могат да повлияят и на нашите оценки на качеството.

При науката за данни или машинното обучение е много важно да изучаваме характеристиките, които съставляват нашите данни и да видим дали има взаимовръзки между тях.

Например влияе ли нивото на pH на фиксираните нива на киселинност? Нивата на летлива киселинност имат ли нещо общо с качеството? Хората намират ли вина с повече алкохолно съдържание за по-вкусни или по-качествени?

За щастие за нас, Python разполага с страхотни библиотеки, които правят тежко вдигане на предоставянето на различни видове визуализации. Нека опитаме да начертаем скатер с нашите данни и да наблюдаваме какво ни показва.

pd.plotting.scatter_matrix (данни, алфа = 0,3, фигуриране = (40,40), диагонал = 'kde');

От горния разпръсквач можем да получим някои интересни подробности. За някои от функциите разпределението изглежда доста линейно. За някои други изглежда, че разпределението е отрицателно изкривено. Така че това потвърждава първоначалните ни подозрения - наистина има някои интересни зависимости между някои от характеристиките.

Можем да начертаем топлинна карта за съвместни отношения между функции, което ще ни помогне да получим повече представа.

корелация = data.corr ()
# дисплей (корелация)
plt.figure (figsize = (14, 12))
heatmap = sns.heatmap (корелация, annot = Вярно, linewidths = 0, vmin = -1, cmap = "RdBu_r")

Както можете да видите, квадратите с положителни стойности показват преки взаимовръзки между характеристиките. Колкото по-високи са стойностите, толкова по-силни са тези връзки - те ще бъдат по-червеникави. Това означава, че ако една функция се увеличава, другата също има тенденция да се увеличава и обратно.

Квадратите, които имат отрицателни стойности, показват обратна взаимовръзка. Колкото повече отрицателни стават тези стойности, толкова по-обратно са пропорционални и ще бъдат по-сини. Това означава, че ако стойността на една характеристика е по-висока, стойността на другата намалява.

И накрая, квадратите, близки до нулата, показват, че почти няма зависимост между тези групи от характеристики.

Доста интересно, а? Нека проучим тези взаимоотношения по-подробно.

  • pH срещу фиксирана киселинност
# Визуализирайте връзката между pH и фиксирана киселинност
# Създайте нов кадър от данни, съдържащ само колони с pH и фиксирана киселинност, за да визуализирате техните взаимоотношения
fixAcidity_pH = данни [['pH', 'фиксирана киселинност']]
# Инициализирайте съвместна мрежа с рамката от данни, като използвате библиотека от новородени
gridA = sns.JointGrid (x = "фиксирана киселинност", y = "pH", данни = фиксирана киселинност_pH, размер = 6)
# Начертава регресионен график в мрежата
gridA = gridA.plot_joint (sns.regplot, scatter_kws = {"s": 10})
# Начертава схема за разпространение в същата мрежа
gridA = gridA.plot_marginals (sns.distplot)

Този диаграма на разсейване показва как стойностите на pH се променят с промяна на фиксираните нива на киселинност. Можем да видим, че с увеличаване на нивата на фиксирана киселинност нивата на pH спадат. Има смисъл, нали? В крайна сметка по-ниското ниво на pH е индикатор за висока киселинност.

  • Фиксирана киселинност спрямо лимонена киселина
fixAcidity_citricAcid = данни [['лимонена киселина', 'фиксирана киселинност']]
g = sns.JointGrid (x = "фиксирана киселинност", y = "лимонена киселина", данни = фиксирана киселинност_цитрична киселина, размер = 6)
g = g.plot_joint (sns.regplot, scatter_kws = {"s": 10})
g = g.plot_marginals (sns.distplot)

С увеличаването на количеството на лимонените киселини се увеличават и фиксираните нива на киселинност.

  • Летлива киселинност спрямо качество
смокиня, брадви = plt.subplots (ncols = 1, figsize = (10,6))
sns.barplot (x = 'качество', y = 'летлива киселинност', данни = летливи киселинност_качество, ос = оси)
plt.title („качествена VS летлива киселинност“)
plt.tight_layout ()
plt.show ()
plt.gcf (). изчистване ()

По-високото качество обикновено се свързва с ниски нива на летливи киселини. Това има смисъл, тъй като летливата киселинност е показател за разваляне и може да породи неприятни аромати - в съответствие с познанията ни в областта.

  • Алкохол срещу качество
смокиня, брадви = plt.subplots (ncols = 1, figsize = (10,6))
sns.barplot (x = 'качество', y = 'алкохол', данни = качество_алкохол, брадва = брадви)
plt.title („качествен VS алкохол“)
plt.tight_layout ()
plt.show ()
plt.gcf (). изчистване ()

Хм. Изглежда повечето хора обикновено харесват вина, които съдържат по-висок процент алкохол, такива, които ги карат да се чувстват ухаещи!

Опитайте да експериментирате с повече функции самостоятелно в тефтера и вижте дали те разкриват нещо. Ако те са свързани по някакъв начин, каква според вас може да е причината? Проучването ще разкрие още скрити прозрения.

Помага да се помни, че взаимовръзката не винаги предполага причинно-следствена връзка. Понякога, когато начертаете графики за две функции, това може да ви покаже модел, който може да е просто съвпадение. Ето пример -

http://philosophy.hku.hk/think/sci/inference.php. Можете да разгледате още примери тук.

Така че защо тогава го правим? Той служи като полезно основание да разберем дали целостта на нашия набор от данни е непокътната!

Например със сигурност знаем, че нивата на pH трябва да намаляват, ако нивата на киселинност се увеличат. Но ако нашите графики показват точно обратното, това е индикатор, че нещо не е наред - нашият набор от данни не е надежден. И това може да направи нашите прогнози погрешни! Ето къде отново знанието за домейна се оказва полезно.

По-външно откриване

Да кажем, че в царството на Ланистър има около 10 000 възрастни хора. Повечето от тях са със среден ръст (над 5 фута), но има около 100 души, които са джуджета. Те също се наричат ​​външни хора, тъй като те са екстремни стойности, които попадат извън очаквания диапазон на височините. С други думи, външен елемент е точка от данни, която е значително отдалечена от повечето други точки от данни.

Защо имат значение? Защото те понякога могат да създадат много проблеми при анализа на данните. Нека да кажем, че се опитвате да изчислите средната температура на 10 произволно избрани предмета във вашата стая, а девет от тях са между 20 и 25 градуса по Целзий. Но сте оставили фурната си включена и тя е на 175 ° C. Средната температура ще бъде между 20 и 25 ° C, но средната температура ще бъде между 35,5 и 40 ° C. В този случай медианата по-добре отразява температурата на произволно изваден обект, тъй като тя попада под това, което се очаква във вашата стая.

Следователно намирането на Outliers е от решаващо значение, тъй като много малки или много големи стойности могат да повлияят отрицателно на нашия анализ на данните и съответно на нашите прогнози. Затова понякога се налага да ги премахнете.

Метод на Tukey за откриване на външни хора

Прочетох наистина хубав пост за този метод, който можете да прочетете по-късно. Накратко, ето как работи техниката:

  • Първо, започвате с разделянето на подредените данни на четири интервала по такъв начин, че всяка от получените секции да съдържа около 25% от общите точки от данни. Стойността, при която тези интервали са разделени, се нарича Quartiles.
  • След това изваждате 3-тата четвъртина от 1-ви квартил, за да получите интерквартилния обхват (IQR). Това е средната 50% и съдържа по-голямата част от данните.
  • Всяка точка от данни, която е над 1,5 пъти по-голяма от IQR, ще се счита за външна.

Изпълнете следното в следващия блок с кодове, за да разпечатате външни хора за всички функции във вашия набор от данни.

# За всяка функция намерете точките с данни с изключително високи или ниски стойности
за функция в data.keys ():

    # TODO: Изчислете Q1 (25-ти перцентил от данните) за дадената функция
    Q1 = np.percentile (данни [характеристика], q = 25)
 
    # TODO: Изчислете Q3 (75-ти перцентил от данните) за дадената функция
    Q3 = np.percentile (данни [характеристика], q = 75)
 
    # TODO: Използвайте интерквартилния диапазон, за да изчислите стъпка по-далеч (1,5 пъти повече от интерквартилния диапазон)
    interquartile_range = Q3 - Q1
    стъпка = 1,5 * interquartile_range
 
    # Показване на външните
    print ("Точките от данни се считат за остатъци за функцията '{}':". формат (функция))
    показване (данни [~ ((данни [характеристика]> = Q1 - стъпка) & (данни [функция] <= Q3 + стъпка)]]
 
# OPTIONAL: Изберете индексите за точките от данни, които искате да премахнете
outliers = []
# Отстранете външните, ако има такива
good_data = data.drop (data.index [outliers]). reset_index (drop = True)

И ... свършихме!

Надявам се, че сте се забавлявали с този урок. Сега знаете повече за науката за данни от преди!

Единственият път, когато всъщност ще се почувствате като Тирион Ланистър

Разбира се, има повече от това, отколкото среща окото. Ако искате да знаете повече, горещо ви препоръчвам да проверите следните неща:

  • Курсове по статистика и вероятности
  • Въведение в Python за наука за данни
  • Най-добрите курсове за научни данни в Интернет
  • Как да станете учен с данни

Но засега си направете почивка и след това преминете към следващия урок, където ще се потопите в някои основни неща за машинно обучение. Ще се научите да изграждате модел на машинно обучение, на който ако му дадете атрибути на вино, той ще ви даде точна оценка на качеството!

Хареса ли ви това, което прочетохте? Трябва да се абонирате. Няма да ви губя времето.

Чувствайте се свободни да оставите коментар, ако имате някакви въпроси или ако искате урок по готина тема!