работа на питон

AIM -

Целта на експеримента е да се изследва ДНК при хора и шимпанзета и да се класифицират седемте различни вида протеини, които са често срещани както при хората, така и при шимпанзетата, като се използват данните за протеиновата последователност.

МОТИВАЦИЯ

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

Когато сравним директно ДНК последователностите между двата генома, те са почти 99 процента идентични. Дори когато вземем предвид ДНК инсерции и делеции, хората и шимпанзетата все още споделят 96 процента идентичност на последователността.

В това проучване се съсредоточихме върху шест различни вида протеини, които се срещат както при хора, така и при шимпанзета: рецептори, свързани с G протеин, тирозин киназа, тирозин фосфатаза, синтаза, синтетаза, йонни канали и транскрипционни фактори.

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

Какво е ДНК?

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

Всяка клетка в тялото ни има ДНК вътре и тази ДНК казва на клетката какви протеини трябва да произвежда. Ние наследяваме нашето ДНК от нашите родители, поради което споделяме някои прилики с тях, като цвета на очите или косата.

Нашата ДНК е съставена от комбинация от ДНК на майка ни и баща ни. Някои части от нашата ДНК се наричат ​​„некодираща ДНК“. Тези части не казват директно на нашите клетки какви протеини да произвеждат. Вместо това, някои некодиращи ДНК се използват за създаване на специални типове РНК молекули, които помагат по различни начини в нашето тяло.

Различните организми имат различни количества некодираща ДНК. Хората, например, имат много некодираща ДНК. Всъщност над 98% от нашата ДНК не произвежда директно протеини. Но в някои малки организми, като бактерии, само около 2% от тяхната ДНК е некодираща.

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

И така, ДНК е като специален код, който казва на нашите клетки какво да правят и е наследен от нашите родители. Някои части от нашата ДНК не произвеждат директно протеини, но имат други важни роли в тялото ни. И вирусите имат свой собствен генетичен материал, който използват, за да заразят клетките ни и да направят свои копия.

3D структура на ДНК:

Откриване на ДНК

ДНК е наблюдавана за първи път от немски биохимик на име Фредерик Мишер през 1869 г. Той открива наличието на пуринови и пиримидинови бази в нуклеиновите киселини. Levene (1910) открива, че дезоксирибозата нуклеинова киселина съдържа фосфорна киселина, както и дезоксирибоза захар. Той характеризира четири вида нуклеотиди, присъстващи в ДНК. През 1950 г. Чаргаф установява, че съдържанието на пурин и пиримидин в ДНК е еднакво. По това време У. Т. Астбъри е открил чрез рентгенова дифракция, че ДНК е полинуклеотид с нуклеотиди, разположени перпендикулярно на дългата ос на молекулата и разделени един от друг на разстояние от 0,34 nm. През 1953 г. Уилкинс и Франклин получават много фини рентгенови снимки на ДНК. Снимките показват, че ДНК е спирала с ширина 2,0 nm. Едно завъртане на спиралата беше 3,4 nm с 10 слоя бази, подредени в него. Уотсън и Крик (1953) разработиха първия правилен модел на двойна спирала от рентгеновите снимки на Уилкинс и Франклин. Уилкинс, Уотсън и Крик са удостоени с Нобелова награда за същото през 1962 г. Уотсън и Крик (1953) изграждат 3D молекулярен модел на ДНК, който отговаря на всички детайли, получени от рентгенови снимки. Те предполагат, че ДНК се състои от двойна спирала с две вериги със захарен фосфат от външната страна и азотни бази от вътрешната страна.

Джеймс Уотсън и Франсис Крик предложиха двойна спирална ДНК структура:

ДНК структура с помощта на рентгенова дифракция, предложена от Розалинд Франклин:

ДНК класификация:

Седемте критерия, които обикновено се използват за класифициране на ДНК, включват: (1) Брой базови двойки на ход (2) Модел на навиване (3) Местоположение (4) Структура (5) Нуклеотидни последователности (6) Кодираща и некодираща ДНК (7) Брой нишки.

Видове ДНК: Моделът на ДНК дуплекс, предложен от Уотсън и Крик, е спирала с дясна ръка и се нарича B-DNA (балансирана ДНК). В модела базовите двойки лежат почти под прав ъгъл спрямо оста на спиралата. Друг дуплексен модел с дясна ръка е A-DNA (алтернативна ДНК). Тук едно завъртане на спиралата има 11 базови двойки.

Базовите двойки лежат на 20° от перпендикуляра на оста. C-DNA има 9 базови двойки на завъртане на спирала, докато в D-DNA броят е само 8 базови двойки. И двете са десничари. Z-ДНК (зигзагообразна ДНК) е лява двойна спирала със зигзагообразен скелет, редуващи се пуринови и пиримидинови бази, единичен оборот с дължина 45 A с 12 базови двойки и единична бразда.

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

Синтез на протеин от ДНК

Част от ДНК, която съдържа инструкции за създаване на протеин, се нарича ген. Всеки ген има последователността за поне един полипептид. Протеините образуват структури и също образуват ензими. Ензимите извършват по-голямата част от работата в клетките. Протеините са направени от по-малки полипептиди, които са образувани от аминокиселини. За да направите протеин да върши определена работа, правилните аминокиселини трябва да бъдат свързани в правилния ред. Протеините се произвеждат от малки машини в клетката, наречени рибозоми. Рибозомите са в основното тяло на клетката, но ДНК е само в ядрото на клетката. Кодонът е част от ДНК, но ДНК никога не напуска ядрото. Тъй като ДНК не може да напусне ядрото, клетката прави копие на ДНК последователността в РНК. Това е по-малко и може да премине през дупките - порите - в мембраната на ядрото и да излезе в клетката. Гените, кодирани в ДНК, се транскрибират в информационна РНК (mRNA) от протеини като РНК полимераза. След това зрялата иРНК се използва като шаблон за протеинов синтез от рибозомата. Рибозомите разчитат кодони, „думи“, съставени от три базови двойки, които казват на рибозомата коя аминокиселина да добави. Рибозомата сканира по протежение на иРНК, четейки кода, докато произвежда протеин. Друга РНК, наречена тРНК, помага за свързването на правилната аминокиселина с всеки кодон.

Анимация на протеиновия синтез:

Какво представляват хромозомите?

Хромозомите са нишковидни структури, в които ДНК е плътно опакована в ядрото. ДНК е навита около протеини, наречени хистони, които осигуряват структурната опора. Хромозомите помагат да се гарантира, че ДНК се репликира и разпределя по подходящ начин по време на клетъчното делене. Всяка хромозома има центромер, който разделя хромозомата на две секции - p (късо) рамо и q (дълго) рамо. Центромерът се намира в точката на стесняване на клетката, която може или не може да бъде центърът на хромозомата.

В края на всяка хромозома има капачка на повтаряща се нуклеотидна последователност, наречена теломер. При гръбначните теломерите са TTAGGG последователности, повтарящи се до приблизително 15 000 базови двойки. Тези ДНК региони играят критична роля за запазване на геномната последователност чрез защита на генома от разграждане и инхибиране на хромозомното сливане и рекомбинация. Тези региони също участват в организацията на хромозомите в ядрото.

ДНК на човек и шимпанзе:

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

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

Таблично сравнение:

Толкова си приличат, но са толкова различни? Ако човешката и шимпанзето ДНК са 98,8 процента еднакви, защо сме толкова различни? Числата разказват част от историята. Всяка човешка клетка съдържа приблизително три милиарда базови двойки или битове информация. Само 1,2 процента от това се равнява на около 35 милиона разлики. Някои от тях имат голямо въздействие, други не. И дори два идентични участъка от ДНК могат да работят по различен начин - те могат да бъдат "включени" в различни количества, на различни места или по различно време.

ПРИЧИНИ-

Едни и същи гени, които се държат различно Въпреки че хората и шимпанзетата имат много идентични гени, те често ги използват по различни начини. Активността или експресията на гена може да се увеличи или намали като звука на радиото. И така, същият ген може да се появи високо при хората, но много ниско при шимпанзетата. Същите гени се експресират в едни и същи области на мозъка при хора, шимпанзета и горили, но в различни количества. Хиляди разлики като тази засягат развитието и функционирането на мозъка и помагат да се обясни защо човешкият мозък е по-голям и по-умен.

Малко различни гени Имунната система на шимпанзетата е изненадващо подобна на нашата - повечето вируси, които причиняват заболявания като СПИН и хепатит, могат да заразят и шимпанзетата. Но шимпанзетата не се заразяват от маларийния паразит Plasmodium falciparum, който комарът може да предаде чрез ухапване в човешката кръв. Малка разлика в ДНК прави човешките червени кръвни клетки уязвими към този паразит, докато кръвните клетки на шимпанзетата са устойчиви.

Какво представляват протеините?

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

Функции на протеина:

Структура на протеините: четири различни типа протеинови структури са описани по-долу:

  1. Първична структура Първичната структура описва уникалния ред, в който аминокиселините са свързани заедно, за да образуват протеин. Протеините са изградени от набор от 20 аминокиселини. Обикновено аминокиселините имат следните структурни свойства: въглерод (алфа въглерод), свързан с четирите групи по-долу: водороден атом (H) карбоксилна група (-COOH) аминогрупа (-NH2) „променлива“ група или “R” група Всички аминокиселини имат алфа въглероден атом, свързан с водороден атом, карбоксилна група и аминогрупа. Групата "R" варира между аминокиселините и определя разликите между тези протеинови мономери. Аминокиселинната последователност на протеина се определя от информацията, намираща се в клетъчния генетичен код. Редът на аминокиселините в полипептидната верига е уникален и специфичен за конкретен протеин. Промяната на една аминокиселина причинява генна мутация, която най-често води до нефункциониращ протеин.
  2. Вторична структура Вторичната структура се отнася до навиването или нагъването на полипептидна верига, което придава на протеина неговата 3-D форма. Има два вида вторични структури, наблюдавани в протеините. Един тип е структурата на алфа (α) спирала. Тази структура прилича на навита пружина и е закрепена чрез водородни връзки в полипептидната верига. Вторият тип вторична структура в протеините е бета (β) нагънат лист. Тази структура изглежда нагъната или нагъната и се държи заедно чрез водородна връзка между полипептидни единици на нагънатата верига, които лежат една до друга.
  3. Третична структура Третичната структура се отнася до цялостната 3-D структура на полипептидната верига на протеин. Има няколко вида връзки и сили, които държат протеин в неговата третична структура. Хидрофобните взаимодействия значително допринасят за сгъването и оформянето на протеина. Групата "R" на аминокиселината е хидрофобна или хидрофилна. Аминокиселините с хидрофилни "R" групи ще търсят контакт с тяхната водна среда, докато аминокиселините с хидрофобни "R" групи ще се стремят да избегнат водата и да се позиционират към центъра на протеина. Водородното свързване в полипептидната верига и между аминокиселинните “R” групи спомага за стабилизиране на структурата на протеина чрез задържане на протеина във формата, установена от хидрофобните взаимодействия. Благодарение на сгъването на протеина може да възникне йонно свързване между положително и отрицателно заредените "R" групи, които влизат в близък контакт една с друга. Сгъването може също да доведе до ковалентно свързване между "R" групите на цистеиновите аминокиселини. Този тип свързване образува това, което се нарича дисулфиден мост. Взаимодействията, наречени сили на Ван дер Ваалс, също подпомагат стабилизирането на протеиновата структура. Тези взаимодействия се отнасят до силите на привличане и отблъскване, които възникват между молекулите, които стават поляризирани. Тези сили допринасят за свързването, което възниква между молекулите.
  4. Кватернерна структура Кватернерната структура се отнася до структурата на протеинова макромолекула, образувана от взаимодействия между множество полипептидни вериги. Всяка полипептидна верига се нарича субединица. Протеините с кватернерна структура могат да се състоят от повече от една протеинова субединица от същия тип. Те могат също да бъдат съставени от различни субединици. Хемоглобинът е пример за протеин с кватернерна структура. Хемоглобинът, намиращ се в кръвта, е протеин, съдържащ желязо, който свързва молекулите на кислорода. Съдържа четири субединици: две алфа субединици и две бета субединици.

G протеин-свързани рецептори (GPCR)

G-протеин-свързани рецептори (GPCRs), известни също като рецептори на седем-(pass)-трансмембранен домен, 7TM рецептори, хептахелични рецептори, серпентинов рецептор и G протеин-свързани рецептори (GPLR), представляват голямо протеиново семейство от рецептори, които откриване на молекули извън клетката и активиране на вътрешни пътища на сигнална трансдукция и, в крайна сметка, клетъчни реакции. Свързвайки се с G протеини, те се наричат ​​седем-трансмембранни рецептори, защото преминават през клетъчната мембрана седем пъти. G протеин-свързани рецептори се намират само в еукариоти, включително дрожди, хоанофлагелати и животни. Лигандите, които свързват и активират тези рецептори, включват чувствителни към светлина съединения, миризми, феромони, хормони и невротрансмитери и варират по размер от малки молекули през пептиди до големи протеини. Свързаните с G протеин рецептори участват в много заболявания.

Тирозин киназа

Тирозин киназата е ензим, който може да прехвърли фосфатна група от АТФ към протеин в клетката. Той функционира като превключвател за „включване“ или „изключване“ в много клетъчни функции. Тирозин киназите са подклас на протеин киназата. Фосфатната група е прикрепена към аминокиселината тирозин на протеина. Тирозин киназите са подгрупа от по-големия клас протеин кинази, които свързват фосфатни групи към други аминокиселини (серин и треонин). Фосфорилирането на протеини от кинази е важен механизъм за предаване на сигнали в клетката (сигнална трансдукция) и регулиране на клетъчната активност, като клетъчно делене. Протеин киназите могат да мутират, да останат в позиция „включено“ и да причинят нерегулиран растеж на клетката, което е необходима стъпка за развитието на рак. Следователно, киназните инхибитори, като иматиниб, често са ефективни лечения за рак. Повечето тирозин кинази имат свързана протеинова тирозин фосфатаза, която премахва фосфатната група.

Структура:

Тирозин фосфатаза

Протеин тирозин фосфатазите са група ензими, които премахват фосфатните групи от фосфорилираните тирозинови остатъци върху протеините. Фосфорилирането на протеин тирозин (pTyr) е обща пост-транслационна модификация, която може да създаде нови мотиви за разпознаване за протеинови взаимодействия и клетъчна локализация, да повлияе на стабилността на протеина и да регулира ензимната активност. Като следствие, поддържането на подходящо ниво на фосфорилиране на протеин тирозин е от съществено значение за много клетъчни функции. Тирозин-специфичните протеинови фосфатази (PTPase; EC 3.1.3.48) катализират отстраняването на фосфатна група, прикрепена към тирозинов остатък, като се използва цистеинил-фосфатен ензимен междинен продукт. Тези ензими са ключови регулаторни компоненти в пътищата на сигнална трансдукция (като пътя на MAP киназата) и контрола на клетъчния цикъл и са важни за контрола на клетъчния растеж, пролиферацията, диференциацията, трансформацията и синаптичната пластичност.

Структура:

Синтетаза В биохимията лигазата е ензим, който може да катализира свързването на две големи молекули чрез образуване на нова химична връзка, обикновено със съпътстваща хидролиза на малка висяща химична група на една от по-големите молекули или ензим, катализиращ свързването на две съединения, например ензими, които катализират свързването на C-O, C-S, C-N и т.н. Като цяло лигазата катализира следната реакция:

Ab + C → A–C + b

или понякога

Ab + cD → A–D + b + c + d + e + f

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

Синтаза синтазата е ензим, който катализира процес на синтез. Според класификацията на EC номера те принадлежат към групата на лиазите. първоначално биохимичната номенклатура разграничава синтетази и синтази. Съгласно първоначалното определение синтазите не използват енергия от нуклеозид трифосфати (като ATP, GTP, CTP, TTP и UTP), докато синтетазите използват нуклеозид трифосфати. Съвместната комисия по биохимична номенклатура (JCBN) обаче диктува, че „синтазата“ може да се използва с всеки ензим, който катализира синтеза (независимо дали използва или не нуклеозидни трифосфати), докато „синтетазата“ трябва да се използва като синоним на „лигаза“.

Пример за разлика между синтазата и ензимите синтетаза:

Йонни канали

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

Структура:

Транскрипционни фактори

Транскрипционният фактор (TF) (или специфичен за последователността ДНК-свързващ фактор) е протеин, който контролира скоростта на транскрипция на генетична информация от ДНК към информационна РНК, чрез свързване към специфична ДНК последователност. Функцията на TFs е да регулират — обръщат включване и изключване — гени, за да се гарантира, че те се експресират в точната клетка в точното време и в точното количество през целия живот на клетката и организма. Групи от TF функционират по координиран начин, за да насочват клетъчното делене, клетъчния растеж и клетъчната смърт през целия живот; клетъчна миграция и организация (план на тялото) по време на ембрионалното развитие; и периодично в отговор на сигнали извън клетката, като например хормон. В човешкия геном има до 1600 TF. TF работят самостоятелно или с други протеини в комплекс, като насърчават (като активатор) или блокират (като репресор) набирането на РНК полимераза (ензимът, който извършва транскрипцията на генетична информация от ДНК към РНК) към специфични гени. Определяща характеристика на TFs е, че те съдържат поне един ДНК-свързващ домен (DBD), който се прикрепя към специфична последователност от ДНК, съседна на гените, които регулират. TFs са групирани в класове въз основа на техните DBDs. Други протеини, като напр. коактиватори, ремоделиращи хроматини, хистон ацетилтрансферази, хистон деацетилази, кинази и метилази също са от съществено значение за генната регулация, но им липсват ДНК-свързващи домейни и следователно не са TF.

Структура:

ИЗИСКВАТ СЕ БИБЛИОТЕКИ-

NumPy

NumPy е пакет за обработка на масиви с общо предназначение. Той предоставя високоефективен обект с многомерен масив и инструменти за работа с тези масиви. Това е основният пакет за научни изчисления с Python. Той съдържа различни функции, включително тези важни като мощен N-измерен масивен обект, сложни (излъчващи) функции, инструменти за интегриране на C/C++ и Fortran код и полезна линейна алгебра, преобразуване на Фурие и възможности за произволни числа.

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

„Щракнете тук за работа с Python.“

панди

Pandas е една от най-добрите библиотеки на python. Поддържа четене и писане на електронни таблици в Excel, CVS и много други манипулации. Това е по-скоро като задължителна библиотека, която трябва да знаете, ако имате работа с набори от данни от файлове на Excel и CSV файлове. т.е. за машинно обучение и наука за данни. Той осигурява силно оптимизирана производителност с изходен код в задния край, който е написан изцяло на C или Python.

Pandas DataFrame — Pandas DataFrame е двуизмерна променлива по размер, потенциално хетерогенна таблична структура от данни с обозначени оси (редове и колони). Рамката с данни е двуизмерна структура от данни, т.е. данните са подредени в табличен вид в редове и колони.

Pandas_profiling — Профилирането на Panda осигурява анализ като тип, уникални стойности, липсващи стойности, квантилни статистики, средна стойност, режим, медиана, стандартно отклонение, сума, асиметрия, чести стойности, хистограми, корелация между променливи, брой, топлинна карта визуализация и т.н. Използваме pandas профилиране, за да увеличим EDA за много кратко време и само с един ред код.

„Щракнете тук за работа с Python.“

Matplotlib

Matplotlib е библиотека за визуализация в Python за 2D диаграми на масиви. Matplotlib е мултиплатформена библиотека за визуализация на данни, изградена върху масиви NumPy и проектирана да работи с по-широкия стек на SciPy. Въведен е от Джон Хънтър през 2002 г. Matplotlib се опитва да направи лесните неща лесни и трудните неща възможни. Можете да генерирате диаграми, хистограми, спектри на мощността, стълбови диаграми, диаграми на грешките, точкови диаграми и т.н. само с няколко реда код. За лесно чертане модулът pyplot предоставя подобен на MATLAB интерфейс, особено когато се комбинира с IPython. За опитния потребител имате пълен контрол върху стиловете на линиите, свойствата на шрифта, свойствата на осите и т.н. чрез обектно-ориентиран интерфейс или чрез набор от функции, познати на потребителите на MATLAB.

„Щракнете тук за работа с Python.“

IPython -

IPython е алтернативен интерпретатор на Python. Това е интерактивна обвивка, използвана за изчисления в Python. Той предоставя много повече полезни функции в сравнение с по-популярния интерпретатор на Python по подразбиране. Ipython.display — Създайте PNG/JPEG/GIF обект на изображение, даден необработени данни. Когато този обект се върне от входна клетка или се предаде на функцията за показване, това ще доведе до показване на изображението във фронтенда.

„Щракнете тук за работа с Python.“

Sklearn-

Scikit-learn предоставя набор от алгоритми за контролирано и неконтролирано обучение чрез последователен интерфейс в Python. Той е лицензиран под разрешителен опростен BSD лиценз и се разпространява в много Linux дистрибуции, насърчавайки академична и търговска употреба. Библиотеката е изградена върху SciPy (Scientific Python), който трябва да бъде инсталиран, преди да можете да използвате scikit-learn. Разширения или модули за грижа за SciPy, условно наречени SciKits. Като такъв, модулът предоставя алгоритми за обучение и се нарича scikit-learn. Визията за библиотеката е ниво на устойчивост и поддръжка, необходими за използване в производствени системи. Това означава дълбок фокус върху проблеми като лесна употреба, качество на кода, сътрудничество, документация и производителност. Въпреки че интерфейсът е Python, c-библиотеките са лост за производителност като numpy за масиви и матрични операции, LAPACK, LibSVM и внимателните използване на python. Модулът sklearn.feature_extraction може да се използва за извличане на функции във формат, поддържан от алгоритми за машинно обучение от набори от данни, състоящи се от формати като текст и изображение. CountVectorizer предоставя лесен начин както за токенизиране на колекция от текстови документи, т.е. токенизиране на низове, така и за даване на целочислен идентификатор за всеки възможен токен, например чрез използване на празни интервали и пунктуация като разделители на токени и изграждане на речник от познати думи, но и за кодиране на нови документи, използвайки този речник. train_test_split С помощта на това можем лесно да разделим набора от данни на набори от данни за обучение и тестване в различни пропорции.

„Щракнете тук за работа с Python.“

Mlxtend

Mlxtend (разширения за машинно обучение) е библиотека на Python от полезни инструменти за ежедневни задачи в областта на науката за данни. включва функции за начертаване на красиви графики и графики.

„Щракнете тук за работа с Python.“

Използвани алгоритми -

НАИВ-БАЙЕС-

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

Какво представлява теоремата на Бейс?

Наивните класификатори на Бейс разчитат на теоремата на Байс, която се основава на условна вероятност или по-просто казано, вероятността дадено събитие (A) да се случи, като се има предвид, че друго събитие (B) вече се е случило. По същество теоремата позволява хипотезата да бъде актуализирана всеки път, когато се въвеждат нови доказателства. Уравнението по-долу изразява теоремата на Бейс на езика на вероятностите:

Нека обясним какво означава всеки от тези термини.

“P” е символът за обозначаване на вероятността.
P(A | B) = Вероятността за възникване на събитие A (хипотеза), като се има предвид, че B (доказателство) е настъпило.
P(B | A) = Вероятността за настъпване на събитие B (доказателство), като се има предвид, че A (хипотеза) се е случило.
P(A) = Вероятността за настъпване на събитие B (хипотеза).
P(B) = Вероятността за случва се събитие А (доказателство).

Различни наивни алгоритми на Бейс — Мултиномиален наивен Бейс:

Той оценява условната вероятност за конкретна дума, дадена на клас, като относителната честота на термин t в документи, принадлежащи към клас (c). Вариацията взема предвид броя на срещанията на термин t в обучителни документи от клас ©, включително множество срещания.

Булев многочленен наивен бейс:

Работи по същия начин като Multinomial naive bays само се променя, вместо да измерва всички срещания в член (t) в документа, той измерва появата само веднъж.

Бернулиев наивен модел на Бейс:

Той генерира булева стойност/индикатор за всеки термин от речника, равен на 1, ако терминът принадлежи на проверяващия документ, ако не, той маркира 0. Ненатрупващите се термини в документа се вземат в документа и се вземат предвид при изчисляването на условните вероятности и по този начин липсата на срокове се взема предвид.

Модел на Gaussian Naive Bayes: Алгоритъмът на Gaussian Naive Bayes е специален тип NB алгоритъм. Използва се специално, когато характеристиките имат непрекъснати стойности. Предполага се също, че всички характеристики следват гаусово разпределение, т.е. нормално разпределение.

Защо да използвате Multinomial Naive Bayes?

„Щракнете тук за работа с Python.“

XGBOOST -

XGBoost означава eXtreme Gradient Boosting. — Специално Gradient Boosting е подход, при който новите модели се обучават да предсказват остатъците (т.е. грешките) на предишни модели.

XGBoost е библиотека с отворен код, осигуряваща високоефективно внедряване на градиентно подсилени дървета на решения. Основната кодова база на C++, комбинирана с интерфейс на Python, разположен отгоре, създава изключително мощен, но лесен за внедряване пакет. Ефективността на XGBoost не е шега – тя се превърна в основна библиотека за спечелване на много състезания на Kaggle. Неговото внедряване на градиентно усилване е несравнимо и има само още, тъй като библиотеката продължава да печели похвали. Двете причини да използвате XGBoost са и двете цели на проекта:

1-Execution Speed.
2-Model Performance.

Това е алгоритъм за групово машинно обучение, базиран на дърво на решенията, който използва рамка за повишаване на градиента. При проблеми с прогнозиране, включващи неструктурирани данни (изображения, текст и т.н.), изкуствените невронни мрежи са склонни да превъзхождат всички други алгоритми или рамки. Въпреки това, когато става въпрос за малки до средни структурирани/таблични данни, алгоритмите, базирани на дърво на решенията, се считат за най-добрите в класа си в момента. Моля, вижте диаграмата по-долу за развитието на дървовидните алгоритми през годините.

„Щракнете тук за работа с Python.“

Дърво на решенията -

Дървото на решенията е структура, подобна на блок-схема, в която всеки вътрешен възел представлява тест за функция (напр. дали хвърлянето на монета идва с глави или опашки), всеки листов възел представлява етикет на клас (решение, взето след изчисляване на всички функции) и клонове представляват връзки на функции, които водят до тези етикети на класове. Пътищата от корена до листа представляват класификационни правила. Диаграмата по-долу илюстрира основния поток от дърво на решенията за вземане на решения с етикети (Дъжд(Да), Без Дъжд(Не)).

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

„Щракнете тук за работа с Python.“

RandomForest -

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

Можем да разберем работата на алгоритъма Random Forest с помощта на следните стъпки − Стъпка 1 − Първо започнете с подбора на произволни проби от даден набор от данни.

Step 1 − First, start with the selection of random samples from a given dataset. 
Step 2 − Next, this algorithm will construct a decision tree for every sample. Then it will get the prediction result from every decision tree.
Step 3 − In this step, voting will be performed for every predicted result.
Step 4 − At last, select the most voted prediction result as the final prediction result.

„Щракнете тук за работа с Python.“

Използвани показатели за оценка -

Точност на класификацията

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

Работи добре само ако има равен брой проби, принадлежащи към всеки клас. Например, помислете, че има 98% проби от клас A и 2% проби от клас B в нашия комплект за обучение. Тогава нашият модел може лесно да получи 98% точност на обучение, като просто предскаже всяка обучителна проба, принадлежаща към клас A. Когато същият модел се тества върху тестов набор с 60% проби от клас A и 40% проби от клас B, тогава точността на теста ще спадне до 60%. Точността на класификацията е страхотна, но ни дава фалшивото усещане за постигане на висока точност. Истинският проблем възниква, когато цената на грешната класификация на извадките от второстепенни класове е много висока. Ако имаме работа с рядко, но фатално заболяване, цената на неуспешното диагностициране на болестта на болен човек е много по-висока от цената на изпращането на здрав човек на повече тестове.

„Щракнете тук за работа с Python.“

F1 резултат

Резултатът F1 се използва за измерване на точността на теста. Резултатът F1 е средната хармонична стойност между прецизност и припомняне. Диапазонът за F1 Score е [0, 1]. Той ни казва колко прецизен е нашият класификатор (колко инстанции класифицира правилно), както и колко стабилен е (не пропуска значителен брой инстанции). Висока точност, но по-ниско припомняне, ни дава изключително точен, но след това пропуска голям брой случаи, които са трудни за класифициране. Колкото по-висок е F1 резултатът, толкова по-добра е производителността на нашия модел. Математически може да се изрази като:

F1 Score се опитва да намери баланса между прецизност и припомняне.

„Щракнете тук за работа с Python.“

Прецизност

Това е броят на правилните положителни резултати, разделен на броя на положителните резултати, предвидени от класификатора.

Припомням си :

Това е броят на правилните положителни резултати, разделен на броя на всички съответни проби (всички проби, които е трябвало да бъдат идентифицирани като положителни).

„Щракнете тук за работа с Python.“

Матрица на объркването

Матрицата на объркването, както подсказва името, ни дава матрица като изход и описва пълната производителност на модела. Да приемем, че имаме проблем с двоичната класификация. Имаме някои проби, принадлежащи към два класа: ДА или НЕ. Освен това имаме наш собствен класификатор, който предвижда клас за дадена входна проба. При тестване на нашия модел върху 165 проби получаваме следния резултат.

Има 4 важни термина: Истински положителни резултати: Случаите, в които прогнозирахме ДА и действителният резултат също беше ДА. Истински отрицания: Случаите, в които прогнозирахме НЕ и действителният резултат беше НЕ. Грешни положителни резултати: Случаите, в които прогнозирахме ДА и действителният резултат беше НЕ. Фалшиви отрицателни резултати: Случаите, в които прогнозирахме НЕ и действителният резултат беше ДА. Точността на матрицата може да се изчисли, като се вземе средна стойност от стойностите, разположени през „главния диагонал“, т.е.

Матрицата на объркването формира основата за другите типове показатели.

„Щракнете тук за работа с Python.“