
рдореИрдВ рдПрдХ рдЫреЛрдЯреА рд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдХрд╣рд╛рдиреА рд╕рд╛рдЭрд╛ рдХрд░реВрдБрдЧрд╛: рдмрд┐рдирд╛ рд▓реЗрдЦрдХ рдХреЗ рдЙрддреНрддрд░реЛрдВ рдХреЛ рдХреИрд╕реЗ рдкрддрд╛ рдЪрд▓реЗрдЧрд╛ рдХрд┐ рдкреЛрд╕реНрдЯ рдХрд╛ рд▓реЗрдЦрдХ рдХреМрди рд╣реИред
рдореИрдВрдиреЗ рдорд╢реАрди рд╕реАрдЦрдиреЗ рдкрд░ рдиреНрдпреВрдирддрдо рдЬреНрдЮрд╛рди рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╢реБрд░реВ рдХреА рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдирдпрд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдпрд╣ рд╕рд╛рдордЧреНрд░реА, рдПрдХ рдЕрд░реНрде рдореЗрдВ, рд╡рд┐рднрд┐рдиреНрди рд▓реЗрдЦреЛрдВ рдХрд╛ рдПрдХ рд╕рдВрдХрд▓рди рд╣реИ, рдЗрд╕рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рд░реНрдп рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рддрд╛ рд╣реИ, рдХреЛрдб рдореЗрдВ рдЖрдк рдкреНрд░рд╛рдХреГрддрд┐рдХ рднрд╛рд╖рд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧреА рдЫреЛрдЯреА рдЪреАрдЬреЗрдВ рдФрд░ рдЪрд╛рд▓реЗрдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдореЗрд░рд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдбреЗрдЯрд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдерд╛: рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдЬрд┐рд╕рдореЗрдВ 2.5M рдореАрдбрд┐рдпрд╛ рд╕рд╛рдордЧреНрд░реА рдФрд░ рдЙрди рдкрд░ 39.5M рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдереАрдВред 1M рдкрджреЛрдВ рдХреЗ рд▓рд┐рдП, рдПрдХ рддрд░рд╣ рд╕реЗ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп, рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓реЗрдЦрдХ рдХреЛ рдЬреНрдЮрд╛рдд рдерд╛ (рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдпрд╛ рддреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдореМрдЬреВрдж рдереА рдпрд╛ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рдЖрдзрд╛рд░ рдкрд░ рдбреЗрдЯрд╛ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХреА рдЧрдИ рдереА)ред рдЗрд╕ рдЖрдзрд╛рд░ рдкрд░, 215K рд░рд┐рдХреЙрд░реНрдб рд╕реЗ
рдПрдХ рдбреЗрдЯрд╛рд╕реЗрдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдореИрдВрдиреЗ рдкреНрд░рд╛рдХреГрддрд┐рдХ рдмреБрджреНрдзрд┐рдорддреНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрд╕рд░реНрдЬрд┐рдд рдПрдХ рдЕрдиреБрдорд╛рди-рдЖрдзрд╛рд░рд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдФрд░ рдкреВрд░реНрдг-рдкрд╛рда рдЦреЛрдЬ рдпрд╛ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрд╕рдХреНрдпреВрдПрд▓ рдкреНрд░рд╢реНрдиреЛрдВ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд┐рдпрд╛ред рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рда рдХреЗ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг: "рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж" рдпрд╛ "рдЕрдЪреНрдЫреА рд░реЗрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж" рдпрд╣ 99.99% рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд▓реЗрдЦрдХ рд╣реИ, рдФрд░ "рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж" рдпрд╛ "рдзрдиреНрдпрд╡рд╛рдж!" рдореЗрд▓ рджреНрд╡рд╛рд░рд╛ рд╕рд╛рдордЧреНрд░реА рднреЗрдЬреЗрдВред рдзрдиреНрдпрд╡рд╛рдж! " - рд╕рд╛рдзрд╛рд░рдг рд╕рдореАрдХреНрд╖рд╛ред рдЗрд╕ рддрд░рд╣ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде, рдХреЗрд╡рд▓ рд╕реНрдкрд╖реНрдЯ рд╕рдВрдпреЛрдЧ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдмреИрдВрд▓ рдЯрд╛рдЗрдкреЛ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдпрд╛ рдЬрдм рд▓реЗрдЦрдХ рдЯрд┐рдкреНрдкрдгреАрдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛, рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдорд┐рддреНрд░ рдХреА рдорджрдж рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рдЖрдпрд╛ред
рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрдиреБрдХреНрд░рдо, рдЙрдирдореЗрдВ рд╕реЗ рдХреМрди рд▓реЗрдЦрдХ рд╣реИ?

рдкрд╛рда рдХреА рдЯреЛрди рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рд╡рд┐рдзрд┐ рдХреЛ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдХрд╛рд░реНрдп рд╣рдорд╛рд░реЗ рд▓рд┐рдП рджреЛ рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рд╕рд░рд▓ рд╣реИ: рд▓реЗрдЦрдХ рдФрд░ рд▓реЗрдЦрдХ рдирд╣реАрдВред рдореЙрдбрд▓ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ Google рдХреА рдПрдХ
рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬреЛ рдПрдХ GPU рдФрд░ рдПрдХ рдмреГрд╣рд╕реНрдкрддрд┐ рдиреЛрдЯрдмреБрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдкрд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдЙрджрд╛рд╣рд░рдг:
embed_dim = 128 model = Sequential() model.add(Embedding(max_fatures, embed_dim,input_length = X_train.shape[1])) model.add(SpatialDropout1D(0.2)) model.add(LSTM(196, dropout=0.5, recurrent_dropout=0.2)) model.add(Dense(1,activation='softmax')) model.compile(loss = 'binary_crossentropy', optimizer='adam',metrics = ['accuracy'])
HTML рдЯреИрдЧ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдгреЛрдВ рдХреА рддрд░реНрдЬ рдкрд░, рдЙрдиреНрд╣реЛрдВрдиреЗ рд▓рдЧрднрдЧ 65-74% рд╕рдЯреАрдХрддрд╛ рдкреНрд░рджрд╛рди рдХреА, рдЬреЛ рдПрдХ рд╕рд┐рдХреНрдХрд╛ рдЙрдЫрд╛рд▓рдиреЗ рд╕реЗ рдмрд╣реБрдд рдЕрд▓рдЧ рдирд╣реАрдВ рдереАред
рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐
pad_sequences(x_train, maxlen=max_len, padding='pre')
рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрдирдкреБрдЯ рдЕрдиреБрдХреНрд░рдореЛрдВ рдХреЗ рд╕рдВрд░реЗрдЦрдг рдиреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░ рджрд┐рдпрд╛ред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдкрд░рд┐рдгрд╛рдо рдкреИрдбрд┐рдВрдЧ = 'рдкреЛрд╕реНрдЯ' рдХреЗ рд╕рд╛рде рдерд╛ред
рдЕрдЧрд▓рд╛ рдХрджрдо рд▓реЗрдореЗрдЯреНрд░реАрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдерд╛, рдЬрд┐рд╕рдиреЗ рддреБрд░рдВрдд 80% рддрдХ рдХреА рд╕рдЯреАрдХрддрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рджреА рдФрд░ рдЗрд╕ рдкрд░ рдЖрдЧреЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛ред рдЕрдм рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рдкрд╛рда рдХреА рд╕рд╣реА рд╕рдорд╛рд╢реЛрдзрди рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╢рдмреНрдж "рдереИрдВрдХ рдпреВ" рдореЗрдВ рдЯрд╛рдЗрдкреЛрд╕ рдХреЛ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдЗрд╕ рддрд░рд╣ рдХреА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рдЖрд╡реГрддреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рдЯрд╛рдЗрдкреЛ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛) рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ (рдЗрд╕ рддрд░рд╣ рдХреЗ рднрд╛рд╡ рдЖрдзреЗ рд╕реЗ рджреЛ рджрд░реНрдЬрди рдЬрдорд╛ рд╣реБрдП рд╣реИрдВ)ред
re16 = re.compile(ur"(?:\b:(?:1|c(?:|)|(?:|)|(?:(?:|(?:(?:(?:|(?:)?|))?|(?:)?))|)|(?:(?:(?:|)|)||||(?:(?:||(?:|)|(?:|(?:(?:(?:||(?:(?:||(?:[]|)|[]))?|[╤Ц]))?|||1)||)|)|||[]|(?:|)|(?:(?:(?:[]|)|?|(?:(?:(?:|(?:)?))?|)|(?:|)))?)||)|(?:|x))\b)", re.UNICODE)
рдпрд╣рд╛рдБ, рдореИрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╡рд┐рдирдореНрд░ рд▓реЛрдЧреЛрдВ рдХреЛ рд╡рд┐рд╢реЗрд╖ рдзрдиреНрдпрд╡рд╛рдж рд╡реНрдпрдХреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдЬреЛ рдЗрд╕ рд╢рдмреНрдж рдХреЛ рдЙрдирдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╡рд╛рдХреНрдп рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдорд╛рдирддреЗ рд╣реИрдВред
рдЯрд╛рдЗрдкреЛ рдХреЗ рдЕрдиреБрдкрд╛рдд рдХреЛ рдХрдо рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рд▓реЗрдореЗрдЯрд╛рдЗрдЬрд╝рд░ рд╕реЗ рдирд┐рдХрд▓рдиреЗ рдкрд░ рд╡реЗ рдЕрдЬреАрдм рд╢рдмреНрдж рджреЗрддреЗ рд╣реИрдВ рдФрд░ рд╣рдо рдЙрдкрдпреЛрдЧреА рдЬрд╛рдирдХрд╛рд░реА рдЦреЛ рджреЗрддреЗ рд╣реИрдВред
рд▓реЗрдХрд┐рди рдПрдХ рд╕рд┐рд▓реНрд╡рд░ рд▓рд╛рдЗрдирд┐рдВрдЧ рд╣реИ, рд╣рдо рдЯрд╛рдЗрдкреЛ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдердХ рдЧрдП рд╣реИрдВ, рдЬрдЯрд┐рд▓ рдкрд╛рда рд╕рдлрд╛рдИ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдореИрдВрдиреЗ рд╢рдмреНрджреЛрдВ рдХреЗ рд╡реЗрдХреНрдЯрд░ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ - word2vecред рд╡рд┐рдзрд┐ рд╕рднреА рдЯрд╛рдЗрдкреЛрд╕, рдЯрд╛рдЗрдкреЛ рдФрд░ рд╕рдорд╛рдирд╛рд░реНрдереА рд╢рдмреНрдж рдХреЛ рдмрд╛рд░реАрдХреА рд╕реЗ рдЕрдВрддрд░рд┐рдд рд╡реИрдХреНрдЯрд░ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред

рд╡реЗрдХреНрдЯрд░ рд╕реНрдкреЗрд╕ рдореЗрдВ рд╢рдмреНрдж рдФрд░ рдЙрдирдХреЗ рд░рд┐рд╢реНрддреЗред
рд╕рдлрд╛рдИ рдирд┐рдпрдореЛрдВ рдХреЛ рдХрд╛рдлреА рд╕рд░рд▓ (aha, рдХрд╣рд╛рдиреАрдХрд╛рд░), рд╕рднреА рд╕рдВрджреЗрд╢реЛрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо, рд╡рд╛рдХреНрдпреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЕрдкрд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ: рд╣рдорд╛рд░реЗ рдЯрд┐рдкреНрдкрдгреАрдХрд╛рд░реЛрдВ рдХреА рд╕рдВрдХреНрд╖рд┐рдкреНрддрддрд╛ рдХреЗ рдХрд╛рд░рдг, рдЙрдЪреНрдЪ-рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реЗ рд╡реИрдХреНрдЯрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╢рдмреНрджреЛрдВ рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдордВрдЪ рдФрд░ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рд╕реЗред рдкрд░рд┐рдгрд╛рдореА рдлрд╝рд╛рдЗрд▓ рдкрд░ рддреАрди рдореЙрдбрд▓реЛрдВ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: рдХреНрд▓рд╛рд╕рд┐рдХ рд╢рдмреНрдж 2 рд╡реАрд╡реАрд╕реА, рдЧреНрд▓реЛрд╡ рдФрд░ рдлрд╛рд╕реНрдЯрдЯреЗрдХреНрд╕реНрдЯред рдХрдИ рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдмрд╛рдж, рд╡рд╣ рдЖрдЦрд┐рд░рдХрд╛рд░ рдлрд╛рд╕реНрдЯрдЯреИрдХреНрд╕ рдкрд░ рдмрд╕ рдЧрдпрд╛, рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рдмрд╕реЗ рдЧреБрдгрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рднреЗрдж рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╢рдмреНрдж рд╕рдореВрд╣реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВред

рдЗрди рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдиреЗ рд╕реНрдерд┐рд░ 84-85 рдкреНрд░рддрд┐рд╢рдд рд╕рдЯреАрдХрддрд╛ рд▓рд╛рдИред
рдореЙрдбрд▓ рдЙрджрд╛рд╣рд░рдг def model_conv_core(model_input, embd_size = 128): num_filters = 128 X = Embedding(total_unique_words, DIM, input_length=max_words, weights=[embedding_matrix], trainable=False, name='Word2Vec')(model_input) X = Conv1D(num_filters, 3, activation='relu', padding='same')(X) X = Dropout(0.3)(X) X = MaxPooling1D(2)(X) X = Conv1D(num_filters, 5, activation='relu', padding='same')(X) return X def model_conv1d(model_input, embd_size = 128, num_filters = 64, kernel_size=3): X = Embedding(total_unique_words, DIM, input_length=max_words, weights=[embedding_matrix], trainable=False, name='Word2Vec')(model_input) X = Conv1D(num_filters, kernel_size, padding='same', activation='relu', strides=1)(X)
рдФрд░
рдХреЛрдб рдореЗрдВ 6 рдФрд░ рдореЙрдбрд▓ред рдХреБрдЫ рдореЙрдбрд▓ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рд▓рд┐рдП рдЧрдП рд╣реИрдВ, рдХреБрдЫ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд┐рдП рдЧрдП рд╣реИрдВред
рдпрд╣ рджреЗрдЦрд╛ рдЧрдпрд╛ рдХрд┐ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореЙрдбрд▓ рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рд╕рд╛рдордиреЗ рдЖрдИрдВ, рдЗрд╕рдиреЗ рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХреЛ рдореЙрдбрд▓ рдХреЗ рдкрд╣рдирд╛рд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд▓рд╛рдХрд╛рд░реЛрдВ рдХреА рдЯреБрдХрдбрд╝реА рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛, рдореЙрдбрд▓ рдХреЗ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдЬреЛрдбрд╝реЗ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛, рдлрд┐рд░ рдореИрдВрдиреЗ рдПрдХ рдЬрдирд░реЗрдЯрд░ рдмрдирд╛рдпрд╛ред рд╕рдВрдкреВрд░реНрдг рдЦреЛрдЬ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЧреНрд░реЗ рдХреЛрдб рд▓рд┐рдпрд╛ред
def gray_code(n): def gray_code_recurse (g,n): k = len(g) if n <= 0: return else: for i in range (k-1, -1, -1): char='1' + g[i] g.append(char) for i in range (k-1, -1, -1): g[i]='0' + g[i] gray_code_recurse (g, n-1) g = ['0','1'] gray_code_recurse(g, n-1) return g def gen_list(m): out = [] g = gray_code(len(m)) for i in range (len(g)): mask_str = g[i] idx = 0 v = [] for c in list(mask_str): if c == '1': v.append(m[idx]) idx += 1 if len(v) > 1: out.append(v) return out
рдкрд╣рдирд╛рд╡рд╛ рдХреЗ рд╕рд╛рде "рдЬреАрд╡рди рдФрд░ рдЕрдзрд┐рдХ рдордЬреЗрджрд╛рд░ рд╣реЛ рдЧрдпрд╛ рд╣реИ" рдФрд░ рдореЙрдбрд▓ рдХреА рд╕рдЯреАрдХрддрд╛ рдХрд╛ рд╡рд░реНрддрдорд╛рди рдкреНрд░рддрд┐рд╢рдд 86-87% рдХреЗ рд╕реНрддрд░ рдкрд░ рд╣реИ, рдЬреЛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛рд╕реЗрдЯ рдореЗрдВ рдХреБрдЫ рд▓реЗрдЦрдХреЛрдВ рдХреЗ рдЦрд░рд╛рдм-рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд░реНрдЧреАрдХрд░рдг рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред

рдореБрдЭреЗ рдЬреЛ рд╕рдорд╕реНрдпрд╛рдПрдВ рдорд┐рд▓реАрдВ:
- рдЕрд╕рдВрддреБрд▓рд┐рдд рдбреЗрдЯрд╛рд╕реЗрдЯред рд▓реЗрдЦрдХреЛрдВ рдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЕрдиреНрдп рдЯреАрдХрд╛рдХрд╛рд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд╛рдлреА рдХрдо рдереАред
- рдирдореВрдиреЗ рдореЗрдВ рдХрдХреНрд╖рд╛рдПрдВ рд╕рдЦреНрдд рдХреНрд░рдо рдореЗрдВ рдЬрд╛рддреА рд╣реИрдВред рд▓рдмреНрдмреЛрд▓реБрдЖрдм рдпрд╣ рд╣реИ рдХрд┐ рд╡рд░реНрдЧреАрдХрд░рдг рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдореЗрдВ рд╢реБрд░реБрдЖрдд, рдордзреНрдп рдФрд░ рдЕрдВрдд рдХрд╛рдлреА рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣ f1- рдорд╛рдк рдХреА рдЕрдиреБрд╕реВрдЪреА рдкрд░ рд╕реАрдЦрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред

рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рд╛рдЗрдХрд┐рд▓ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдФрд░ рд╕рддреНрдпрд╛рдкрди рдХреЗ рдирдореВрдиреЛрдВ рдореЗрдВ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕реНрдХреЗрд▓реЗрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ train_test_split рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
рд╡рд░реНрддрдорд╛рди рдХрд╛рдо рдХрд░ рд░рд╣реЗ рдореЙрдбрд▓ рдХрд╛ рдЧреНрд░рд╛рдл:

рдирддреАрдЬрддрди, рдореБрдЭреЗ рд▓рдШреБ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд▓реЗрдЦрдХреЛрдВ рдХреА рдПрдХ рдЖрд╢реНрд╡рд╕реНрдд рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдореЙрдбрд▓ рдорд┐рд▓рд╛ред рдЖрдЧреЗ рдХрд╛ рд╕реБрдзрд╛рд░ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдбреЗрдЯрд╛рд╕реЗрдЯ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбреЗрдЯрд╛ рдХреЗ рд╡рд░реНрдЧреАрдХрд░рдг рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдФрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реЛрдЧрд╛ред
рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд╕рд╛рде рд╕рднреА рдХреЛрдб
рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╣реИ ред
рдПрдХ рдкреЛрд╕реНрдЯрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ: рдпрджрд┐ рдЖрдкрдХреЛ рдкрд╛рда рдХреЗ рдмрдбрд╝реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рд╡рд░реНрдЧреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ "рдбреАрдк рдбреАрдк
рдХрдВрдлреНрдпреВрдЬрд╝рдирд▓ рдиреНрдпреВрд░рд▓ рдиреЗрдЯрд╡рд░реНрдХ"
рд╡реАрдбреАрд╕реАрдПрдирдПрди рдореЙрдбрд▓ (рдХреЗрд░рд╕ рдкрд░
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди ) рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ, рдпрд╣ рдЯреЗрдХреНрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рд░реЗрд╕рдиреЗрдЯ рдХрд╛ рдПрдХ рдПрдирд╛рд▓реЙрдЧ рд╣реИред
рдкреНрд░рдпреБрдХреНрдд рд╕рд╛рдордЧреНрд░реА:
тАв
рдорд╢реАрди рд╕реАрдЦрдиреЗ рдХреЗ рдкрд╛рдареНрдпрдХреНрд░рдореЛрдВ рдХрд╛ рдЕрд╡рд▓реЛрдХрдитАв
рдХрдирд╡рд▓реНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрд╛рддрдЪреАрдд рд╡рд┐рд╢реНрд▓реЗрд╖рдгтАв
рдПрдирдПрд▓рдкреА рдореЗрдВ рд╕рдВрд╡реЗрджреА рдиреЗрдЯрд╡рд░реНрдХтАв
рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдореЗрдВ рдореЗрдЯреНрд░рд┐рдХреНрд╕https://ld86.imtqy.com/ml-slides/unbalanced.htmlтАв
рдореЙрдбрд▓ рдХреЗ рдЕрдВрджрд░ рдПрдХ рдирдЬрд╝рд░