<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Электронный научно-практический журнал «Современные научные исследования и инновации» &#187; data mining</title>
	<atom:link href="http://web.snauka.ru/issues/tag/data-mining/feed" rel="self" type="application/rss+xml" />
	<link>https://web.snauka.ru</link>
	<description></description>
	<lastBuildDate>Sat, 18 Apr 2026 09:41:14 +0000</lastBuildDate>
	<language>ru</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Разработка программной системы поиска ассоциативных правил на основе алгоритма apriori</title>
		<link>https://web.snauka.ru/issues/2014/10/38733</link>
		<comments>https://web.snauka.ru/issues/2014/10/38733#comments</comments>
		<pubDate>Thu, 02 Oct 2014 08:39:57 +0000</pubDate>
		<dc:creator>Баженов Руслан Иванович</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[apriori algorithm]]></category>
		<category><![CDATA[association rules]]></category>
		<category><![CDATA[data mining]]></category>
		<category><![CDATA[алгоритм apriori]]></category>
		<category><![CDATA[ассоциативные правила]]></category>
		<category><![CDATA[интеллектуальный анализ данных]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/?p=38733</guid>
		<description><![CDATA[Интеллектуальный анализ данных (data mining) является одним из приоритетных направлений современных исследований. Огромное количество информации в современных учетных информационных системах требует осмысления и извлечения из них знаний, позволяющих разработать рекомендации для улучшения бизнеса. Методом решения описываемой проблемы может служить поиск ассоциативных правил, результаты которого используются для оптимального планирования закупок, расходов на рекламу и др.  Проблемами [...]]]></description>
			<content:encoded><![CDATA[<p><span>Интеллектуальный анализ данных (data mining) является одним из приоритетных направлений современных исследований. Огромное количество информации в современных учетных информационных системах требует осмысления и извлечения из них знаний, позволяющих разработать рекомендации для улучшения бизнеса. Методом решения описываемой проблемы может служить поиск ассоциативных правил, результаты которого используются для оптимального планирования закупок, расходов на рекламу и др. </span></p>
<p><span>Проблемами поиска ассоциативных правил занимались различные ученые. А.Шахиди рассмотрел общие вопросы поиска ассоциативных правил [1]. М.Г.Асеев, В.А. Дюк [2] показали проблемы поиска if-then правил в данных. Систему нахождения бизнес-правил типа &#8220;if-then&#8221; в задачах транспортной логистики разработали И.А.Минаков, С.И.Вольман [3]. А.П.Корнилков, Т.В.Хабибулина показали реализацию поиска ассоциативных правил средствами языка программирования php [4]. Интерактивный анализ ассоциативных правил в базах данных изучался A.В.Бондаренко, А.С.Гудковым [5]. Е.В.Галкина исследовала ассоциативные правила в бизнес-анализе и контроле [6]. М.В.Терешонок применил поиск ассоциативных правил для анализа загрузки сетей сотовой связи [7]. Методику поиска ассоциативных правил при обработке данных в распределенных информационных системах показала Т.Ю.Горохова [8]. А.Ю.Краковецкий применял метод поиска ассоциативных правил на основе сильных наборов данных и fp-дерева [9]. А.Н.Шабельников, В.А.Шабельников исследовали поиск аномалий в технических базах данных временных рядов [10]. В.М.Гриняк и др. описали информационную технологию планирования сезонных продаж [11]. Р.И.Баженов, В.А.Векслер разработали конфигурацию для системы 1С: Предприятие по интеллектуальному анализу с поддержкой поиска ассоциативных правил [12-16]. Зарубежные ученые описывали применения метода в различных областях [17, 18]. </span></p>
<p><span>Для реализации поиска ассоциативных правил был выбран достаточно простой алгоритм Apriori [1]. Опишем его.</span></p>
<p><span>Имеется база данных, которая состоит из покупательских транзакций. Каждая транзакция является набором товаров, приобретаемым покупателем за один раз. </span></p>
<p><span>Пусть I = {i</span><sub><span>1</span></sub><span>, i</span><sub><span>2</span></sub><span>, i</span><sub><span>3</span></sub><span>, …i</span><sub><span>n</span></sub><span>} – множество (набор) товаров или элементов. Пусть D – множество транзакций, где каждая транзакция T представляет собой набор элементов из I, T </span><img src="http://content.snauka.ru/web/38733_files/0CAQLTK9G.gif" alt="" width="16" height="16" /><span> I. Каждая транзакция является бинарным вектором, где t[k]=1, если i</span><sub><span>k</span></sub><span> элемент присутствует в транзакции, иначе t[k]=0. Транзакция T содержит X, некоторый набор элементов из I, если X</span><img src="http://content.snauka.ru/web/38733_files/0.gif" alt="" width="16" height="13" /><span> T. Будем называть ассоциативным правилом импликацию X </span><img src="http://content.snauka.ru/web/38733_files/0(1).gif" alt="" width="20" height="16" /><span>Y, где X</span><img src="http://content.snauka.ru/web/38733_files/0(2).gif" alt="" width="16" height="13" /><span> I, Y </span><img src="http://content.snauka.ru/web/38733_files/0(3).gif" alt="" width="16" height="13" /><span>I и X </span><img src="http://content.snauka.ru/web/38733_files/0(4).gif" alt="" width="17" height="13" /><span>Y =</span><img src="http://content.snauka.ru/web/38733_files/0(5).gif" alt="" width="17" height="18" /><span>. Правило X </span><img src="http://content.snauka.ru/web/38733_files/0(6).gif" alt="" width="20" height="16" /><span> Y имеет поддержку s (support), если s% транзакций из D, содержат X </span><img src="http://content.snauka.ru/web/38733_files/0(7).gif" alt="" width="17" height="13" /><span>Y, supp(X </span><img src="http://content.snauka.ru/web/38733_files/0(8).gif" alt="" width="20" height="16" /><span>Y) = supp (X </span><img src="http://content.snauka.ru/web/38733_files/0CAUMLUVE.gif" alt="" width="17" height="13" /><span>Y). Достоверность правила показывает какова вероятность того, что из X следует Y. Правило X </span><img src="http://content.snauka.ru/web/38733_files/0(9).gif" alt="" width="20" height="16" /><span>Y справедливо с достоверностью (confidence) c, если c% транзакций из D, содержащих X, также содержат Y, conf(X </span><img src="http://content.snauka.ru/web/38733_files/0(10).gif" alt="" width="20" height="16" /><span>Y) = supp(X </span><img src="http://content.snauka.ru/web/38733_files/0(11).gif" alt="" width="17" height="13" /><span> Y)/supp(X ) [1].</span></p>
<p><span>Была разработана программа, реализующая алгоритм Apriori на Delphi. Покажем основную процедуру.</span></p>
<p>function TForm1.gen(cand : TList) : TList;<br />
var<br />
&nbsp;&nbsp;i, j, k : Integer;<br />
&nbsp;&nbsp;set_len : Integer; { Длина общей части наборов при объединении}<br />
&nbsp;&nbsp;tSet, tSet1, tSet_new : PProdSet;<br />
&nbsp;&nbsp;new_cand : TList;<br />
&nbsp;&nbsp;equal : Boolean;<br />
begin<br />
&nbsp;&nbsp;{ Новый список наборов}<br />
&nbsp;&nbsp;new_cand := TList.Create;<br />
&nbsp;&nbsp;if cand = nil then<br />
&nbsp;&nbsp;begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;{ Одноэлементные наборы}<br />
&nbsp;&nbsp;&nbsp;&nbsp;for i := 0 to tovars.Count &#8211; 1 do<br />
&nbsp;&nbsp;&nbsp;&nbsp;begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ Новый кандидат}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;New(tSet);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetLength(tSet^.Items, 1);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tSet^.Items[0] := i;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tSet^.podder := 0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;new_cand.Add(tSet);<br />
&nbsp;&nbsp;&nbsp;&nbsp;end;<br />
&nbsp;&nbsp;end<br />
&nbsp;&nbsp;else<br />
&nbsp;&nbsp;begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;{  Много элементные наборы}<br />
&nbsp;&nbsp;&nbsp;&nbsp;{ Если в списке больше одного набора}<br />
&nbsp;&nbsp;&nbsp;&nbsp;if cand.Count > 1 then<br />
&nbsp;&nbsp;&nbsp;&nbsp;begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for i := 0 to cand.count &#8211; 1 do<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ Первый набор для объединения}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tSet := cand.Items[i];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ Длина общей части}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set_len := High(tSet^.items);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for j := i + 1 to cand.count &#8211; 1 do<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ Второй набор для объединения}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tSet1 := cand.Items[j];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if set_len < 1 then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;equal := true<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ Сравниваем общие части наборов}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;equal := true;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for k := 0 to set_len - 1 do<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if tSet^.Items[k] <> tSet1^.Items[k] then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; equal := false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if equal then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ Новый набор}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;New(tSet_new);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tSet_New^.podder := 0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ Длина нового набора}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetLength(tSet_new^.Items, set_len + 2);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ Копируем первый набор}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for k := 0 to High(tSet^.items) do<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tSet_new^.Items[k] := tSet^.items[k];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ Добавляем остаток второго набора}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tSet_new^.Items[set_len + 1] := tSet1^.items[set_len];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ Добавляем новый набор в список кандидатов}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;new_cand.Add(tSet_new);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;<br />
&nbsp;&nbsp;&nbsp;&nbsp;end;</p>
<p><span>Данные предоставлены компанией, находящейся в г.Биробиджан. Они были выгружены из системы 1С:Предприятие 8, и представляют собой отчет по продажам за I квартал 2014 года. Данные были обработаны и представлены в формате .csv (рис. 1).</span></p>
<div align="center"><img class="aligncenter" src="http://content.snauka.ru/web/38733_files/62.gif" alt="" width="1251" height="529" /><span>Рисунок 1 &#8211; Входные данные для анализа</span></div>
<p><span>Основное окно программы показано на рис.2.</span></p>
<div align="center"><img src="http://content.snauka.ru/web/38733_files/113.gif" alt="" width="885" height="499" /><br />
<span>Рисунок 2 – Окно программы с загруженными данными</span></div>
<p><span>После запуска алгоритма необходимо выбрать показатели, по которым будет осуществляться расчет (рис.3).</span></p>
<div align="center"><img src="http://content.snauka.ru/web/38733_files/124.gif" alt="" width="324" height="251" /><br />
<span>Рисунок 3 – Окно для выбора показателей</span></div>
<p><span>После проведения анализа, полученные правила выводятся в специальную область (рис. 4).</span></p>
<p><img class="aligncenter" src="http://content.snauka.ru/web/38733_files/167.gif" alt="" width="885" height="499" /></p>
<div align="center"><span>Рисунок 4 – Окно программы после обработки данных</span></div>
<p><span>Результаты анализа можно сохранить в текстовом файле (рис. 5).</span></p>
<div align="center"><img src="http://content.snauka.ru/web/38733_files/236.gif" alt="" width="953" height="691" /><br />
<span>Рисунок 5 – Текстовый файл с результатами</span></div>
<p><span>Полученные в результате исследования ассоциативные правила были переданы руководству компании для принятия решений.</span></p>
<p><span>Таким образом, была разработана простая программа по поиску ассоциативных правил. Полученные в ходе исследования материалы можно использовать на практике для анализа выгруженных данных из 1С:Предприятие и для проведения соответствующей лабораторной работы в курсах «Интеллектуальные информационные системы», «Интеллектуальный анализ данных».</span></p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2014/10/38733/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Использование имплицитных и эксплицитных знаний для выявления необычных сделок в процессе внутреннего контроля</title>
		<link>https://web.snauka.ru/issues/2015/04/52246</link>
		<comments>https://web.snauka.ru/issues/2015/04/52246#comments</comments>
		<pubDate>Thu, 23 Apr 2015 12:32:36 +0000</pubDate>
		<dc:creator>Апалькова Тамара Геннадьевна</dc:creator>
				<category><![CDATA[08.00.00 ЭКОНОМИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[data mining]]></category>
		<category><![CDATA[explicit knowledge]]></category>
		<category><![CDATA[implicit knowledge]]></category>
		<category><![CDATA[internal control rules]]></category>
		<category><![CDATA[Monitoring of transactions]]></category>
		<category><![CDATA[добыча данных]]></category>
		<category><![CDATA[имплицитные знания]]></category>
		<category><![CDATA[Мониторинг сделок]]></category>
		<category><![CDATA[поиск необычных операций]]></category>
		<category><![CDATA[правила внутреннего контроля]]></category>
		<category><![CDATA[эксплицитные знания]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/?p=52246</guid>
		<description><![CDATA[В соответствии с Федеральным законом от 07.08.2001 N 115-ФЗ &#8220;О противодействии легализации (отмыванию) доходов, полученных преступным путем, и финансированию терроризма&#8221; [1] (далее по тексту 115-ФЗ) ряд организаций, осуществляющих операции с денежным и иным имуществом обязаны осуществлять контроль этих операций на предмет их возможного отношения к легализации незаконных доходов. К этим организациям относятся кредитные организации, ломбарды, организации [...]]]></description>
			<content:encoded><![CDATA[<p>В соответствии с Федеральным законом от 07.08.2001 N 115-ФЗ &#8220;О противодействии легализации (отмыванию) доходов, полученных преступным путем, и финансированию терроризма&#8221; [1] (далее по тексту 115-ФЗ) ряд организаций, осуществляющих операции с денежным и иным имуществом обязаны осуществлять контроль этих операций на предмет их возможного отношения к легализации незаконных доходов. К этим организациям относятся кредитные организации, ломбарды, организации федеральной почтовой связи, организации, оказывающие посреднические услуги при осуществлении сделок купли-продажи недвижимого имущества, ряд других, полный перечень которых приводится в статье 5 закона. Согласно закону, организации из вышеуказанного перечня обязаны подавать информацию о сделках, подлежащих обязательному контролю (статья 6 115-ФЗ) в уполномоченный Правительством РФ орган. Однако также закон обязывает эти организации разрабатывать правила внутреннего контроля сделок и в случае возникновения подозрений относительно легальности той или иной сделки – также сообщать о ней в уполномоченный орган. Таким образом, вся совокупность операций, о которых организациям необходимо подавать сведения в уполномоченный орган разбивается на две группы: сделки, подлежащие обязательному контролю и «подозрительные» или необычные сделки. Критерии, по которым сделку следует отнести ко второй группе для некредитных организаций перечислены в Приказе Росфинмониторинга от 23 августа 2013 года № 231[2], для кредитных организаций -  в Приложении № 1 к Типовым правилам внутреннего контроля, направленным на  противодействие легализации (отмыванию) доходов, полученных преступным путём, и финансированию терроризма, разработанным Ассоциацией российских банков[3]. Оба эти документа перечисляют лишь основные признаки необычных сделок, то есть не содержат строгого правила, по которым сделку следует признать необычной и выявление подобных операций в отсутствии чётких критериев сопряжено с определёнными сложностями. Так, например, при рассмотрении по отдельности, признаки могут оказаться млоинформативными, но при определённом их сочетании – указывать на нелегальную сделку.</p>
<p>Тем не менее, перечисленные в законе 115-ФЗ организации несут ответственность за необнаружение, или несвоевременное обнаружение мошеннических операций в соответствии с законодательством РФ. Следовательно, разработка каждой организацией системы внутренних правил, направленных на соблюдение требований 115-ФЗ,в частности – на своевременное обнаружение сделок, имеющих отношение к легализации преступных доходов и финансированию терроризма – одна из важных мер управления  комплаенс-риском, то есть риском возникновения у кредитной организации убытков из-за несоблюдения законодательства Российской Федерации. Всё вышесказанное позволяет заключить, что кредитные организации, ломбарды, управляющие компании, риэлторские компании и прочие организации, перечисленные в 5 статье 115-ФЗ являются первичным звеном в системе обнаружения нелегальных сделок, не только помогая решать тем самым важную для национальной экономической безопасности задачу, но и подвергаясь регуляторному риску.</p>
<p>На практике в каждой заинтересованной организации разрабатываются правила внутреннего контроля в целях противодействия легализации преступных доходов. Но одним из препятствий эффективной работы является недостаточность функциональных возможностей  применяемых в банке информационных, технологических систем. Речь идет о формировании определенных баз данных и о разработке «умного», «гибкого» программного обеспечения, которое позволяло бы проводить аналитический анализ операций. Так, что касается баз данных, кроме списка террористов, экстремистов, банки не получают никаких электронных справочников. Все остальное если и существует, то на бумажном носителе, что делает  использование сведений проблематичным. Работа по выявлению нетипичных и подозрительных сделок зачастую ложиться на плечи рядовых сотрудников службы внутреннего контроля банка или отдела противодействия отмыванию доходов организации (если такой отдел существует). При этом эффективность этой деятельности напрямую зависит не только от наличия в распоряжении сотрудника источников информации, но и от его знаний, под которыми следует понимать владение данными и способность сделать правильные выводы на основе информации, получаемой из этих данных. Это могут быть неявные (имплицитные) знания, основанные на профессиональной интуиции, однако для обладания этим типом знаний ответственное лицо должно иметь значительный практический опыт успешного выявления подозрительных сделок. В то же время, непосредственный мониторинг операций – процедура рутинная, при большом количестве сделок (например, в кредитной организации) довольно монотонная, требующая усидчивости, сосредоточенности и как было сказано выше – на практике выполняемая чаще всего рядовыми сотрудниками, не имеющими должного опыта. Более эффективным для решения подобных задач может оказаться использование явных (эксплицитных) знаний, получение которых возможно при помощи определённых процедур обработки имеющейся в распоряжении информации.</p>
<p>Эффективность процедура обработки информации с целью обнаружения нелегальных и мошеннических операций может быть значительно повышена благодаря использованию математических методов анализа данных. Методиками добычи данных, реализующими поиск нетипичных операций, являются:</p>
<p>Кластерный анализ: кластеры с незначительным числом объектов, а также граничные точки кластеров интерпретируются как «нетипичности» для рассматриваемого множества операций. Преимущества этого метода состоят в том, что он относится к категории классификационных процедур «без учителя», то есть не требует использования обучающей выборки, позволяя получить информацию о естественном расслоении объектов, характеризуемых совокупностью признаков (так называемое «признаковое пространство» операции). Необычность операции устанавливают исходя из комбинации параметров из ее «признакового пространства», к которым относят:</p>
<p>-        вид основной деятельности компаний, участвующих в операции</p>
<p>-        характер операции (инкассация наличности, взятие кредита, снятие денег по карточке)</p>
<p>-         география сделки (участие в сделке компаний из оффшорной зоны, из стран, уклоняющихся от сотрудничества с FATF)</p>
<p>-        события, непосредственно предшествующие операции (например, изменение состава собственников компании, получение компанией крупного займа)</p>
<p>-        история движения денежных средств между участниками операции.</p>
<p>Приведенный состав «измерений» признакового пространства не является раз и навсегда заданным, но зависит от специфики и может изменяться в зависимости от наличия источников информации об операции и применяемой методики мониторинга операций.</p>
<p>Анализ временных рядов, регрессионно-факторное моделирование: роль нетипичностей в этом случае выполняют выбросы значений эндогенной (моделируемой) переменной, в качестве которой может выступать, например, сумма операции, или частотные характеристики операций за некоторый период. Если объем выборки данных для анализа невелик, то применение указанных информационных технологий можно осуществлять каждый раз, когда поступают новые данные (данные о новых операциях). С течением времени выборка может стать слишком большой для использования ее в целях оперативного анализа и в этом случае целесообразно прибегнуть к сегментации выборки (использовать ее наиболее актуальную часть), или применить технологию расчета решающих правил построить логические критерии отнесения операций к нетипичным. В последнем случае исходный массив данных играет роль обучающей выборки для решающих правил. К методам, использующим обучающую выборку, также относятся дискриминантный анализ; нейронные сети.</p>
<p>Таким образом, разработанный на сегодняшний день математический аппарат вполне представителен и разнообразен. Его использование может позволить облегчить систематизацию информации в процессе внутреннего контроля сделок организациями, что особенно актуально, когда ежедневный объём операций значителен. Разумеется, само принятие решения об отнесении сделки к мошеннической требует опыта и компетенции, использования неявных знаний, заключающихся в умении интерпретировать результаты анализа, проведенного с применением вышеуказанных математических методов. Но предварительная аналитическая подготовка материалов может быть осуществлена рядовыми сотрудниками, от которых требуется только владение соответствующим программным обеспечением. При этом также можно ожидать существенной экономии времени на мониторинг операций.</p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2015/04/52246/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web-ориентированная CRM система взаимодействия банка с заемщиками</title>
		<link>https://web.snauka.ru/issues/2017/01/77173</link>
		<comments>https://web.snauka.ru/issues/2017/01/77173#comments</comments>
		<pubDate>Fri, 20 Jan 2017 13:56:32 +0000</pubDate>
		<dc:creator>Модест Петров</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[commercial bank]]></category>
		<category><![CDATA[data mining]]></category>
		<category><![CDATA[the borrowers]]></category>
		<category><![CDATA[the credit risk]]></category>
		<category><![CDATA[Web-CRM system]]></category>
		<category><![CDATA[веб-ориентированная CRM-система]]></category>
		<category><![CDATA[заемщики]]></category>
		<category><![CDATA[интеллектуальный анализ данных]]></category>
		<category><![CDATA[коммерческий банк]]></category>
		<category><![CDATA[кредитный риск]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/?p=77173</guid>
		<description><![CDATA[Развитие рынка платёжных карт является одной из важных задач по созданию условий для безналичных и сокращения наличных расчётов в Российской Федерации. Внедрение карточной индустрии позволяет значительно снизить издержки по обслуживанию наличного денежного оборота, а также повысить объём привлечённых в банковскую сферу денежных средств клиентов, что приводит к повышению финансовых возможностей банков. С другой стороны, кредитные [...]]]></description>
			<content:encoded><![CDATA[<p>Развитие рынка платёжных карт является одной из важных задач по созданию условий для безналичных и сокращения наличных расчётов в Российской Федерации. Внедрение карточной индустрии позволяет значительно снизить издержки по обслуживанию наличного денежного оборота, а также повысить объём привлечённых в банковскую сферу денежных средств клиентов, что приводит к повышению финансовых возможностей банков.</p>
<p>С другой стороны, кредитные займы позволяют клиентам  удовлетворять свои текущие потребительские нужды. С ростом потребления населения растет и рынок кредитования. А с ростом числа заемщиков, растут и риски невозврата взятых кредитов. Причем, в большей степени это касается рынка потребительского кредитования.</p>
<p>Кредитный риск означает, что выплаты клиента по взятым кредитам могут быть задержаны, либо не выплачены, что может привести к проблемам в движении денежных средств и неблагоприятно отразиться на ликвидности банка [1]. Для снижения рисков невозврата кредитов банки вынуждены проводить политику тщательного отбора своих клиентов на основе анализа их финансового положения и кредитоспособности.</p>
<p>В практике банковского кредитования для оценки финансового положения заемщика и его кредитоспособности используются скоринговые модели. Под скорингом в широком смысле этого слова понимаются различные методы получения оценки заемщика [1].</p>
<p>Суть кредитного скоринга заключается в получении оценки кредитоспособности заемщика на основании численных статистических методов и характеристик, содержащихся в специальной анкете потенциального клиента. Полученные оценки позволяют провести классификацию клиентской базы по критериям, влияющих на вероятность своевременного возврата взятой ссуды. Для проведения процедур классификации клиентской базы эффективно использование методов интеллектуального анализа данных, в том числе моделей логистической регрессии, деревьев решений, нейронных сетей и генетических алгоритмов, методов ближайшего соседа, метода анализа иерархий  [2].</p>
<p>Для определения кредитоспособности заемщиков используется модель Дюрана. Автор метода кредитного скоринга, экономист Д. Дюран на основе статистических данных о клиентах банков выделил факторы, позволяющие оценивать кредитоспособность заемщика (табл.1). Согласно данной методике значениям этих факторов по каждому заемщику присваивается определенное количество баллов, сумма которых в итоге сравнивается с пороговым значением (равным 1.25). Если сумма баллов выше, чем предельное значение, то клиент банка считается кредитоспособным [1].</p>
<p style="text-align: left;">Таблица 1. Критерии оценки кредитоспособности заемщика (модель Дюрана)</p>
<table width="665" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="text-align: center;" valign="top" width="219">
<p style="text-align: left;">Показатель</p>
</td>
<td valign="top" width="219">Значение</td>
<td valign="top" width="219">Баллы</td>
</tr>
<tr>
<td rowspan="2" valign="top" width="219">
<p style="text-align: left;">Пол</p>
</td>
<td valign="top" width="219">Мужской</td>
<td valign="top" width="219">0</td>
</tr>
<tr>
<td valign="top" width="219">Женский</td>
<td valign="top" width="219">0,4</td>
</tr>
<tr>
<td rowspan="3" valign="top" width="219">Возраст (В)</td>
<td valign="top" width="219">&lt; 20</td>
<td valign="top" width="219">0</td>
</tr>
<tr>
<td valign="top" width="219">20&lt;=B&lt;=50</td>
<td valign="top" width="219">В*0.01</td>
</tr>
<tr>
<td valign="top" width="219">B&gt;50</td>
<td valign="top" width="219">0.3</td>
</tr>
<tr>
<td rowspan="2" valign="top" width="219">Срок проживания в данной местности (C)</td>
<td valign="top" width="219">C&lt;=10</td>
<td valign="top" width="219">C*0.042</td>
</tr>
<tr>
<td valign="top" width="219">C&gt;10</td>
<td valign="top" width="219">0.42</td>
</tr>
<tr>
<td rowspan="3" valign="top" width="219">Профессиональные риски</td>
<td valign="top" width="219">Высокий</td>
<td valign="top" width="219">0</td>
</tr>
<tr>
<td valign="top" width="219">Средний</td>
<td valign="top" width="219">0,16</td>
</tr>
<tr>
<td valign="top" width="219">Низкий</td>
<td valign="top" width="219">0,55</td>
</tr>
<tr>
<td rowspan="3" valign="top" width="219">Финансовые показатели</td>
<td valign="top" width="219">наличие недвижимости</td>
<td valign="top" width="219">0.35</td>
</tr>
<tr>
<td valign="top" width="219">наличие счета в банке</td>
<td valign="top" width="219">0.45</td>
</tr>
<tr>
<td valign="top" width="219">наличие страхового полиса</td>
<td valign="top" width="219">0.19</td>
</tr>
<tr>
<td rowspan="2" valign="top" width="219">Отрасль предприятия по месту работы</td>
<td valign="top" width="219">предприятия общественной отрасли (государственные предприятия)</td>
<td valign="top" width="219">0.21</td>
</tr>
<tr>
<td valign="top" width="219">иные</td>
<td valign="top" width="219">0</td>
</tr>
<tr>
<td valign="top" width="219">Стаж работы на данном предприятии, лет (Д)</td>
<td valign="top" width="219"></td>
<td valign="top" width="219">Д*0.059</td>
</tr>
</tbody>
</table>
<p>Для автоматизации процесса взаимодействия коммерческого банка с клиентами в процессе кредитования клиентов при оформлении кредитных карт,  выполнения процедур анализа и оценки риска невозврата кредитов разрабатывается система поддержки принятия решений. В данной системе для определения кредитоспособности заемщиков банка используется метод кредитного скоринга  [1,4] и технологии интеллектуального анализа данных. Комплексное использование современных технологий в онлайн режиме позволяет значительно облегчить работу кредитного эксперта. В этом случае речь уже идет о создании Web-ориентированной CRM-системе взаимодействия банка с потенциальными и реальными заемщиками.</p>
<p>Автоматизация процессов управления рисками при работе с кредитными картами в онлайн режиме позволит оперативно оценить кредитоспособность клиента при оформлении кредита. С помощью web-ориентированной системы взаимодействия банка с клиентами производится оперативная обработка поступающих запросов от заемщиков на выдачу кредитной карты и анализ входной информации для определения кредитоспособности заемщиков. Расчет показателя кредитоспособности производится по специальным алгоритмам, в автоматизированном режиме. Данные алгоритмы проводят скоринговую оценку на основе модели Дюрана, а в случае наличия статистических данных о поведении заемщиков из соответствующей группы на основе модели логистической регрессии.</p>
<p>Разрабатываемая CRM-система взаимодействия с клиентами банка может сохранять кредитную историю заемщиков – данные о динамике выплаты задолженностей, и на основании этих данных формировать дальнейшую политику взаимодействия с заемщиками. К примеру, в случае, если имеются невыплаченные задолженности или существует риск их невыплат, при оформлении следующего кредита будет выводиться соответствующее предупреждение. В этих целях для создания аналитической  CRM-системы можно использовать методы Data mining, в том числе анализ поведения заемщиков на основе кредитной истории, выделение групп заемщиков с однотипными поведением и предпочтениями,  применение к каждой группе индивидуальной политики взаимодействия.</p>
<p>Помимо определения кредитоспособности потенциальных и уже зарегистрированных клиентов разрабатываемая информационная система позволит работникам банка отслеживать и анализировать информацию о выплате кредитов заемщиками. На основе встроенных процедур Data Mining происходит далее оценка надежности, удовлетворенности клиентов, их сегментация с целью привлечения и удержания наиболее платежеспособных заемщиков. Анализ статистики о поведении заемщиков используется в дальнейшем для оценки эффективности  скоринговых методов и применения наилучшей стратегии во взаимодействии с клиентом.</p>
<p>Web-ориентированная CRM система взаимодействия банка с заемщиками строится на основе референтной онтологической модели предметной области, описывающей основные сущности системы и отношения между ними, а также бизнес-процессы, регламентирующие взаимодействие банка с клиентами [3]. Это позволяет определить рациональную структуру информационной системы [5] для оптимального управления процессами взаимодействия с банка со своими клиентами-заемщиками.</p>
<p>Схема функций управления и обработки данных, реализуемая созданной ИС, приведена на рисунке 1. Входными данными служат анкетные данные заемщика. Вся информация заносятся в электронные формы – кредитную заявку заемщика и анкету поручителя. После ввода данных система определяет кредитоспособность потенциального клиента банка (рис. 2).</p>
<p style="text-align: center;"> <a href="https://web.snauka.ru/issues/2017/01/77173/1-633" rel="attachment wp-att-77174"><img class="alignnone size-full wp-image-77174" src="https://web.snauka.ru/wp-content/uploads/2017/01/13.png" alt="" width="559" height="326" /></a></p>
<p style="text-align: center;">Рис. 1 – Структура программной системы</p>
<p><a href="https://web.snauka.ru/issues/2017/01/77173/2-407" rel="attachment wp-att-77175"><img class="size-full wp-image-77175 aligncenter" src="https://web.snauka.ru/wp-content/uploads/2017/01/24.png" alt="" width="624" height="392" /></a></p>
<p align="center">Рис. 2  Определение риска при выдаче кредита</p>
<p>Структура базы данных информационной системы оценки рисков заемщиков представлена на рисунке 3. В результате обработки данных формируется кредитный договор, договор о поручительстве, отчет о задолженностях по кредитным картам, отчет о задолженностях по заемщикам, отчет о движении денежных средств, отчет об оценке кредитоспособности заемщиков.</p>
<p><a href="https://web.snauka.ru/issues/2017/01/77173/3-315" rel="attachment wp-att-77176"><img class="size-full wp-image-77176 aligncenter" src="https://web.snauka.ru/wp-content/uploads/2017/01/34.png" alt="" width="595" height="418" /></a></p>
<p align="center">Рис. 3 – Диаграмма классов информационной системы</p>
<p>Таким образом создается адаптивная Web-ориентированная CRM система взаимодействия банка с заемщиками, позволяющая управлять рисками при работе с кредитными картами клиентов. Внедрение системы обеспечит следующие преимущества:</p>
<p>-снижение риска невозврата заемных средств банку в результате оперативного анализа кредитоспособности клиента банка;</p>
<p>-сокращение времени на принятие решения о выдаче кредита;</p>
<p>- систематизированное хранение данных о заемщиках, поручителях, кредитных картах для последующего анализа данных и использования в процессе принятия решений;</p>
<p>-ускорение обслуживания клиентов банка;</p>
<p>Использование разработанной ИС будет актуальным для небольших коммерческих банков.</p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2017/01/77173/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Кластеризация клиентов: как сегментировать аудиторию без размеченных данных</title>
		<link>https://web.snauka.ru/issues/2026/03/104368</link>
		<comments>https://web.snauka.ru/issues/2026/03/104368#comments</comments>
		<pubDate>Tue, 24 Mar 2026 12:19:33 +0000</pubDate>
		<dc:creator>Гильмутдинов Айдар Илгизович</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[data mining]]></category>
		<category><![CDATA[DBSCAN]]></category>
		<category><![CDATA[feature scaling]]></category>
		<category><![CDATA[K-Means]]></category>
		<category><![CDATA[PCA]]></category>
		<category><![CDATA[unsupervised learning]]></category>
		<category><![CDATA[анализ данных]]></category>
		<category><![CDATA[иерархическая кластеризация]]></category>
		<category><![CDATA[интерпретация кластеров]]></category>
		<category><![CDATA[кластеризация]]></category>
		<category><![CDATA[машинное обучение]]></category>
		<category><![CDATA[метод локтя]]></category>
		<category><![CDATA[обучение без учителя]]></category>
		<category><![CDATA[сегментация клиентов]]></category>
		<category><![CDATA[силуэтный коэффициент]]></category>
		<category><![CDATA[снижение размерности]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/issues/2026/03/104368</guid>
		<description><![CDATA[Научный руководитель: Вильданов Алмаз Нафкатович к.ф.-м.н., Уфимский университет науки и технологий, Нефтекамский филиал Введение В анализе данных часто встречаются задачи, где предсказывать нечего — потому что нет размеченных ответов. Есть только сырые данные о клиентах, их покупках, частоте визитов и среднем чеке. Классическое машинное обучение здесь бессильно, так как ему нужны примеры для обучения. В таких случаях используется обучение без [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;" align="center"><em>Научный руководитель: Вильданов Алмаз Нафкатович<br />
</em><em>к.ф.-м.н., </em><em>Уфимский университет науки и технологий, Нефтекамский филиал</em></p>
<p><strong>Введение</strong></p>
<p>В анализе данных часто встречаются задачи, где предсказывать нечего — потому что нет размеченных ответов. Есть только сырые данные о клиентах, их покупках, частоте визитов и среднем чеке. Классическое машинное обучение здесь бессильно, так как ему нужны примеры для обучения.</p>
<p>В таких случаях используется <strong>обучение без учителя</strong>, и главный инструмент здесь — кластеризация. Этот подход позволяет разбить объекты на группы без заранее известных меток, чтобы внутри группы объекты были похожи друг на друга, а между группами — максимально отличались.</p>
<p>Кластеризация широко применяется в маркетинге для сегментации клиентов, в антифроде для поиска аномалий, в ритейле для группировки товаров. В этой статье разбираются основные алгоритмы, критерии выбора и типичные ошибки при работе с кластеризацией.</p>
<h2>1. Что такое кластеризация</h2>
<p>Кластеризация — это задача группировки объектов без использования размеченных данных. Алгоритм самостоятельно ищет скрытую структуру в данных, основываясь только на их свойствах.</p>
<p>Основные сценарии применения кластеризации:</p>
<table width="0" border="1" cellspacing="0" cellpadding="10">
<thead>
<tr>
<td>
<p style="text-align: center;"><strong>Сценарий</strong></p>
</td>
<td>
<p style="text-align: center;"><strong>Задача</strong></p>
</td>
</tr>
</thead>
<tbody>
<tr>
<td>Маркетинг</td>
<td>Разбить клиентов на сегменты для персонализированных предложений</td>
</tr>
<tr>
<td>Антифрод</td>
<td>Найти аномальные группы транзакций, похожих на мошеннические</td>
</tr>
<tr>
<td>Ассортимент</td>
<td>Сгруппировать товары, которые часто покупают вместе</td>
</tr>
<tr>
<td>Геоаналитика</td>
<td>Выделить районы города со схожими характеристиками</td>
</tr>
</tbody>
</table>
<p>Главное преимущество кластеризации — она не требует размеченной выборки. Это особенно ценно на начальных этапах анализа данных, когда структура данных ещё неизвестна.</p>
<div align="center">
<hr align="center" size="1" width="100%" />
</div>
<h2>2. Основные алгоритмы кластеризации</h2>
<p>Существует множество алгоритмов кластеризации, но на практике чаще всего применяются три.</p>
<h3>2.1. K-Means</h3>
<p>K-Means — самый известный и часто используемый алгоритм. Он разбивает данные на K кластеров, где K задаётся аналитиком заранее.</p>
<p><strong>Принцип работы:</strong></p>
<ol>
<li>Алгоритм случайно выбирает K центров кластеров</li>
<li>Каждая точка относится к ближайшему центру</li>
<li>Центры пересчитываются как среднее точек в кластере</li>
<li>Шаги 2–3 повторяются до стабилизации</li>
</ol>
<p><strong>Достоинства:</strong></p>
<ul>
<li>Высокая скорость работы</li>
<li>Простота реализации и интерпретации</li>
<li>Хорошо работает при сферической форме кластеров</li>
</ul>
<p><strong>Недостатки:</strong></p>
<ul>
<li>Необходимость заранее задавать число кластеров</li>
<li>Чувствительность к выбросам</li>
<li>Плохо работает с кластерами сложной формы</li>
</ul>
<p><strong>Когда использовать:</strong> для быстрой базовой сегментации, когда данные не содержат сильных выбросов и кластеры предположительно имеют округлую форму.</p>
<h3>2.2. DBSCAN</h3>
<p>DBSCAN (Density-Based Spatial Clustering of Applications with Noise) — алгоритм, основанный на плотности точек. Он не требует задавать количество кластеров и может находить кластеры произвольной формы.</p>
<p><strong>Ключевые параметры:</strong></p>
<ul>
<li>eps — радиус окрестности, в пределах которого ищутся соседи</li>
<li>min_samples — минимальное количество точек для формирования кластера</li>
</ul>
<p><strong>Достоинства:</strong></p>
<ul>
<li>Не требует указания числа кластеров</li>
<li>Находит кластеры произвольной формы</li>
<li>Устойчив к выбросам — они не попадают в кластеры, а помечаются как шум</li>
</ul>
<p><strong>Недостатки:</strong></p>
<ul>
<li>Чувствителен к выбору параметров</li>
<li>Плохо работает при разной плотности кластеров</li>
<li>Может не справиться с многомерными данными</li>
</ul>
<p><strong>Когда использовать:</strong> когда форма кластеров неизвестна, в данных есть выбросы или требуется автоматическое определение количества групп.</p>
<h3>2.3. Иерархическая кластеризация</h3>
<p>Иерархическая кластеризация строит дерево вложенных кластеров (дендрограмму), позволяя аналитику выбрать нужный уровень детализации.</p>
<p><strong>Принцип работы:</strong><br />
Существует два подхода:</p>
<ul>
<li><strong>Агломеративный</strong> — каждый объект сначала находится в своём кластере, затем кластеры последовательно объединяются</li>
<li><strong>Дивизивный</strong> — все объекты находятся в одном кластере, который последовательно разделяется</li>
</ul>
<p><strong>Достоинства:</strong></p>
<ul>
<li>Не требует заранее задавать количество кластеров</li>
<li>Результат легко визуализировать (дендрограмма)</li>
<li>Позволяет анализировать иерархическую структуру данных</li>
</ul>
<p><strong>Недостатки:</strong></p>
<ul>
<li>Высокая вычислительная сложность</li>
<li>Чувствительность к выбросам</li>
<li>Сложность интерпретации при большом количестве объектов</li>
</ul>
<p><strong>Когда использовать:</strong> когда важно увидеть иерархическую структуру данных или количество объектов не слишком велико (до нескольких тысяч).</p>
<div align="center">
<hr align="center" size="1" width="100%" />
</div>
<h2>3. Выбор количества кластеров</h2>
<p>Если для DBSCAN количество кластеров определяется автоматически, то для K-Means и многих других алгоритмов этот параметр нужно задавать заранее. Существуют стандартные методы для его определения.</p>
<h3>3.1. Метод локтя (Elbow Method)</h3>
<p>Один из самых простых и наглядных методов. Для каждого значения K вычисляется сумма квадратов расстояний от точек до центров своих кластеров (inertia). Оптимальное K находится в точке, где инерция перестаёт резко снижаться — образуется «локоть».</p>
<p>python<br />
from sklearn.cluster import KMeans<br />
import matplotlib.pyplot as plt</p>
<p>inertias = []<br />
for k in range(1, 11):<br />
kmeans = KMeans(n_clusters=k, random_state=42)<br />
kmeans.fit(data)<br />
inertias.append(kmeans.inertia_)</p>
<p>plt.plot(range(1, 11), inertias, marker=&#8217;o')<br />
plt.xlabel(&#8216;Количество кластеров&#8217;)<br />
plt.ylabel(&#8216;Инерция&#8217;)<br />
plt.show()</p>
<h3>3.2. Силуэтный коэффициент (Silhouette Score)</h3>
<p>Более сложный, но и более информативный метод. Оценивает, насколько точки похожи на свой кластер по сравнению с соседними кластерами. Коэффициент принимает значения от -1 до 1:</p>
<ul>
<li>Близко к 1 — точки хорошо сгруппированы</li>
<li>Около 0 — кластеры пересекаются</li>
<li>Меньше 0 — точки, вероятно, попали не в свой кластер</li>
</ul>
<p>Оптимальным считается K с максимальным средним силуэтным коэффициентом.</p>
<div align="center">
<hr align="center" size="1" width="100%" />
</div>
<h2>4. Подготовка данных для кластеризации</h2>
<p>Качество кластеризации напрямую зависит от того, как подготовлены данные. Есть несколько обязательных шагов.</p>
<h3>4.1. Масштабирование признаков</h3>
<p>Алгоритмы кластеризации чувствительны к масштабу признаков. Если один признак измеряется в тысячах, а другой — в долях единицы, первый будет доминировать при расчёте расстояний.</p>
<p><strong>Стандартизация</strong> приводит признаки к среднему 0 и стандартному отклонению 1:</p>
<p>python<br />
from sklearn.preprocessing import StandardScaler</p>
<p>scaler = StandardScaler()<br />
data_scaled = scaler.fit_transform(data)<br />
<strong>Нормализация</strong> сжимает значения в диапазон [0, 1]:</p>
<p>python<br />
from sklearn.preprocessing import MinMaxScaler</p>
<p>scaler = MinMaxScaler()<br />
data_normalized = scaler.fit_transform(data)</p>
<h3>4.2. Выбор метрики расстояния</h3>
<p>По умолчанию чаще всего используется евклидово расстояние, но это не единственный вариант:</p>
<table width="0" border="1" cellspacing="0" cellpadding="10">
<thead>
<tr>
<td>
<p style="text-align: center;"><strong>Метрика</strong></p>
</td>
<td>
<p style="text-align: center;"><strong>Когда использовать</strong></p>
</td>
</tr>
</thead>
<tbody>
<tr>
<td>Евклидово</td>
<td>Данные в непрерывном пространстве, все признаки равнозначны</td>
</tr>
<tr>
<td>Манхэттенское</td>
<td>При наличии выбросов, так как оно менее чувствительно</td>
</tr>
<tr>
<td>Косинусное</td>
<td>Текстовые данные, когда важны направления, а не длины векторов</td>
</tr>
</tbody>
</table>
<h3>4.3. Снижение размерности</h3>
<p>При большом количестве признаков (десятки и сотни) кластеризация становится сложной — это явление называют «проклятием размерности». В таких случаях помогает снижение размерности с помощью PCA (главные компоненты) или t-SNE.</p>
<p>python<br />
from sklearn.decomposition import PCA</p>
<p>pca = PCA(n_components=2)<br />
data_reduced = pca.fit_transform(data_scaled)</p>
<div align="center">
<hr align="center" size="1" width="100%" />
</div>
<h2>5. Интерпретация результатов</h2>
<p>Кластеризация бесполезна, если её результаты нельзя интерпретировать и использовать в бизнесе. После того как кластеры получены, важно понять, чем они отличаются друг от друга.</p>
<h3>5.1. Профилирование кластеров</h3>
<p>Для каждого кластера рассчитываются средние значения по всем признакам. Это позволяет описать каждый сегмент:</p>
<p>python<br />
<em># Добавляем метки кластеров в датафрейм</em><br />
df['cluster'] = labels</p>
<p><em># Смотрим средние значения по кластерам</em><br />
profile = df.groupby(&#8216;cluster&#8217;).mean()<br />
print(profile)<br />
На основе такого профиля можно сформулировать описания:</p>
<ul>
<li>Кластер 0: молодые клиенты, низкий средний чек, высокая частота покупок</li>
<li>Кластер 1: клиенты старшего возраста, высокий средний чек, редкие покупки</li>
<li>Кластер 2: клиенты среднего возраста, средний чек, покупают в основном в выходные</li>
</ul>
<h3>5.2. Визуализация</h3>
<p>Для визуализации кластеров в двухмерном пространстве используется PCA или t-SNE:</p>
<p>python<br />
import matplotlib.pyplot as plt</p>
<p>plt.figure(figsize=(10, 6))<br />
scatter = plt.scatter(data_reduced[:, 0], data_reduced[:, 1],<br />
c=labels, cmap=&#8217;viridis&#8217;, alpha=0.6)<br />
plt.colorbar(scatter, label=&#8217;Кластер&#8217;)<br />
plt.title(&#8216;Визуализация кластеров&#8217;)<br />
plt.show()</p>
<div align="center">
<hr align="center" size="1" width="100%" />
</div>
<h2>6. Типичные ошибки при кластеризации</h2>
<p>За годы применения кластеризации в реальных проектах можно выделить несколько типичных ошибок, которых стоит избегать.</p>
<h3>6.1. Кластеризация без масштабирования</h3>
<p>Одна из самых частых ошибок — запуск алгоритма на ненормализованных данных. Признаки с большими значениями неизбежно доминируют, и результат оказывается бессмысленным.</p>
<h3>6.2. Слепое использование K-Means</h3>
<p>K-Means не всегда подходит. Если кластеры имеют сложную форму или в данных много выбросов, результат может оказаться неудовлетворительным. Всегда стоит пробовать разные алгоритмы.</p>
<h3>6.3. Игнорирование предметной области</h3>
<p>Статистически оптимальная кластеризация может быть бесполезна для бизнеса, если сегменты не интерпретируются. Например, алгоритм может выделить кластер, который невозможно содержательно описать — такой результат сложно использовать в маркетинге.</p>
<h3>6.4. Переобучение при выборе K</h3>
<p>Выбор количества кластеров «под ответ» — распространённая проблема. Если подбирать K так, чтобы результат казался красивым, есть риск получить сегменты, которые не воспроизводятся на новых данных.</p>
<p><strong>Заключение</strong></p>
<p>Кластеризация — мощный инструмент анализа данных, который позволяет находить скрытые группы объектов без размеченной выборки. В отличие от задач классификации или регрессии, здесь не требуется исторических ответов, что делает кластеризацию особенно полезной на начальных этапах работы с данными.</p>
<p>Выбор конкретного алгоритма зависит от структуры данных и задач бизнеса:</p>
<ul>
<li><strong>K-Means</strong> подходит для быстрой сегментации при условии, что форма кластеров близка к сферической</li>
<li><strong>DBSCAN</strong> эффективен, когда форма кластеров неизвестна и в данных присутствуют выбросы</li>
<li><strong>Иерархическая кластеризация</strong> даёт глубокое понимание структуры, но требует больше ресурсов</li>
</ul>
<p>Успех проекта по кластеризации определяется не столько выбором алгоритма, сколько качественной подготовкой данных, грамотным выбором метрик расстояния и, главное, интерпретируемостью результатов для конечного бизнес-пользователя.</p>
<p>Кластеризация не даёт «правильного ответа» в математическом смысле — она даёт инструмент для понимания данных. И именно это понимание становится основой для принятия более эффективных решений.</p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2026/03/104368/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
