<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="et">
	<id>http://www.lambda.ee/w/index.php?action=history&amp;feed=atom&amp;title=Iti0210lab11</id>
	<title>Iti0210lab11 - Redigeerimiste ajalugu</title>
	<link rel="self" type="application/atom+xml" href="http://www.lambda.ee/w/index.php?action=history&amp;feed=atom&amp;title=Iti0210lab11"/>
	<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Iti0210lab11&amp;action=history"/>
	<updated>2026-10-28T12:26:17Z</updated>
	<subtitle>Selle lehekülje redigeerimiste ajalugu</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Iti0210lab11&amp;diff=14563&amp;oldid=prev</id>
		<title>PriitJ: /* Krossvalideerimine */</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Iti0210lab11&amp;diff=14563&amp;oldid=prev"/>
		<updated>2018-04-12T15:38:11Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Krossvalideerimine&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;et&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←Vanem redaktsioon&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Redaktsioon: 12. aprill 2018, kell 17:38&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l60&quot;&gt;60. rida:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;60. rida:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Nüüd huvitab meid, kui hästi meie otsustuspuu töötab. Kasuta selleks krossvalideerimist ja leia keskmine täpsus ja hinnangu viga, nagu [http://scikit-learn.org/stable/modules/cross_validation.html#computing-cross-validated-metrics siin näidetes].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Nüüd huvitab meid, kui hästi meie otsustuspuu töötab. Kasuta selleks krossvalideerimist ja leia keskmine täpsus ja hinnangu viga, nagu [http://scikit-learn.org/stable/modules/cross_validation.html#computing-cross-validated-metrics siin näidetes].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Märkus: näites on kasutatud klassifikaatorina tugivektormasinat (&#039;&#039;SVM&#039;&#039;). Meie ülesandes tuleb selle asemel võtta otsustuspuu.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Krossvalideerimise korral jäetakse osa andmeid puu treenimisest välja ning kasutatakse neid hoopis täpsuse testimiseks. Seejuures korratakse seda niiviisi, et kõiki sisendandmete ridu oleks lõpuks kasutatud nii treenimiseks kui testimiseks.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Krossvalideerimise korral jäetakse osa andmeid puu treenimisest välja ning kasutatakse neid hoopis täpsuse testimiseks. Seejuures korratakse seda niiviisi, et kõiki sisendandmete ridu oleks lõpuks kasutatud nii treenimiseks kui testimiseks.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>PriitJ</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Iti0210lab11&amp;diff=14561&amp;oldid=prev</id>
		<title>PriitJ: Uus lehekülg: &#039;= Otsustuspuu: &#039;&#039;phishing&#039;&#039; linkide tuvastamine =  == Sissejuhatus ==  Kodutöö teemaks on e-mailides pahatahtlike (i.k. &#039;&#039;phishing&#039;&#039;) linkide ära tundmine. Selleks on kasutada...&#039;</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Iti0210lab11&amp;diff=14561&amp;oldid=prev"/>
		<updated>2018-04-12T15:30:40Z</updated>

		<summary type="html">&lt;p&gt;Uus lehekülg: &amp;#039;= Otsustuspuu: &amp;#039;&amp;#039;phishing&amp;#039;&amp;#039; linkide tuvastamine =  == Sissejuhatus ==  Kodutöö teemaks on e-mailides pahatahtlike (i.k. &amp;#039;&amp;#039;phishing&amp;#039;&amp;#039;) linkide ära tundmine. Selleks on kasutada...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Uus lehekülg&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Otsustuspuu: &amp;#039;&amp;#039;phishing&amp;#039;&amp;#039; linkide tuvastamine =&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
&lt;br /&gt;
Kodutöö teemaks on e-mailides pahatahtlike (i.k. &amp;#039;&amp;#039;phishing&amp;#039;&amp;#039;) linkide ära tundmine. Selleks on kasutada [[Media:IFI6057_hw2017_data.txt‎|andmed]] [1], kus e-mailidest on lingid juba eraldatud ja need omakorda huvipakkuvateks atribuutideks teisendatud. Kodutöös tuleb langetada atribuutide väärtuste pealt lõppotsus - kas link on pahatahtlik, kahtlane või ohutu.&lt;br /&gt;
&lt;br /&gt;
Vali masinõppeks sobiv tarkvarapakett ning katseta otsustuspuud. Kasuta treenimise efektiivsuse mõõtmiseks krossvalideerimist. Proovi saavutada võimalikult suur täpsus, kasutades klassifikaatorina otsustuspuud.&lt;br /&gt;
&lt;br /&gt;
Soovitatud masinõppe teegid (vali üks):&lt;br /&gt;
* http://scikit-learn.org/stable/index.html - Python; juhend eeldab, et kasutatakse seda&lt;br /&gt;
* http://www.cs.waikato.ac.nz/ml/weka/ - Java&lt;br /&gt;
&lt;br /&gt;
== Ettevalmistus ==&lt;br /&gt;
&lt;br /&gt;
Kõigepealt tuleb andmed sisse lugeda. Käsitsi ei ole seda keeruline teha, aga Anacondaga tuleb kaasa &amp;lt;code&amp;gt;pandas&amp;lt;/code&amp;gt; pakett, millega see käib nii:&lt;br /&gt;
&lt;br /&gt;
  import pandas&lt;br /&gt;
  blah = pandas.read_csv(&amp;quot;IFI6057_hw2017_data.txt&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Tulemuseks on [http://nbviewer.ipython.org/github/jvns/pandas-cookbook/blob/v0.1/cookbook/Chapter%202%20-%20Selecting%20data%20&amp;amp;%20finding%20the%20most%20common%20complaint%20type.ipynb &amp;lt;code&amp;gt;DataFrame&amp;lt;/code&amp;gt; tüüpi objekt]&lt;br /&gt;
&lt;br /&gt;
=== Andmete kirjeldus ===&lt;br /&gt;
&lt;br /&gt;
Kõik atribuudid (ja lõplik klassifikatsioon) omavad järgnevaid väärtusi:&lt;br /&gt;
&lt;br /&gt;
* 1 - Legitiimne&lt;br /&gt;
* 0 - kahtlane&lt;br /&gt;
* -1 - Pahatahtlik või iseloomulik pahatahtlikule URL-ile&lt;br /&gt;
&lt;br /&gt;
Atribuudid:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;SFH&amp;lt;/code&amp;gt; kas veebilehel olevad vormid suunavad uuele domeenile&lt;br /&gt;
* &amp;lt;code&amp;gt;popUpWidnow&amp;lt;/code&amp;gt; kas veebilehel on pop-up aknaid&lt;br /&gt;
* &amp;lt;code&amp;gt;SSLfinal_State&amp;lt;/code&amp;gt; kas HTTPS on kasutuses ja kas sertifikaat on usaldusväärne&lt;br /&gt;
* &amp;lt;code&amp;gt;Request_URL&amp;lt;/code&amp;gt; kas veebileht laadib pilte ja muid komponente teiselt domeenilt&lt;br /&gt;
* &amp;lt;code&amp;gt;URL_of_Anchor&amp;lt;/code&amp;gt; kas veebileht sisaldab palju linke teisele domeenile&lt;br /&gt;
* &amp;lt;code&amp;gt;web_traffic&amp;lt;/code&amp;gt; kas veebilehe külastatavus on kõrge, keskmine või madal (Alexa ranking)&lt;br /&gt;
* &amp;lt;code&amp;gt;URL_Length&amp;lt;/code&amp;gt; ülipikk, pikk või tavaline URL&lt;br /&gt;
* &amp;lt;code&amp;gt;age_of_domain&amp;lt;/code&amp;gt; domeeni on vana või värskelt registreeritud&lt;br /&gt;
* &amp;lt;code&amp;gt;having_IP_Address&amp;lt;/code&amp;gt; URL sisaldab IP aadressi&lt;br /&gt;
&lt;br /&gt;
Väli &amp;lt;code&amp;gt;Result&amp;lt;/code&amp;gt; sisaldab lõplikku klassifikatsiooni treenimiseks ja testimiseks.&lt;br /&gt;
&lt;br /&gt;
Näide:&lt;br /&gt;
&lt;br /&gt;
  ...&lt;br /&gt;
  1,-1,1,0,-1,-1,0,1,0,-1&lt;br /&gt;
  1,-1,0,-1,-1,-1,0,1,0,1&lt;br /&gt;
  1,0,1,1,1,-1,1,1,0,-1&lt;br /&gt;
  1,1,1,-1,1,1,-1,-1,0,-1&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
== Otsustuspuu ==&lt;br /&gt;
&lt;br /&gt;
Treeni otsustuspuu esialgu kõigi andmetega: [http://scikit-learn.org/stable/modules/tree.html#classification näited].&lt;br /&gt;
&lt;br /&gt;
Proovi suvaliste treeningandmete ridadega klassifitseerimist. Tulemus peaks vastama treeningandmetele, muidu on midagi väga valesti :-)&lt;br /&gt;
&lt;br /&gt;
== Krossvalideerimine ==&lt;br /&gt;
&lt;br /&gt;
Nüüd huvitab meid, kui hästi meie otsustuspuu töötab. Kasuta selleks krossvalideerimist ja leia keskmine täpsus ja hinnangu viga, nagu [http://scikit-learn.org/stable/modules/cross_validation.html#computing-cross-validated-metrics siin näidetes].&lt;br /&gt;
&lt;br /&gt;
Krossvalideerimise korral jäetakse osa andmeid puu treenimisest välja ning kasutatakse neid hoopis täpsuse testimiseks. Seejuures korratakse seda niiviisi, et kõiki sisendandmete ridu oleks lõpuks kasutatud nii treenimiseks kui testimiseks.&lt;br /&gt;
&lt;br /&gt;
== Tulemuse parandamine ==&lt;br /&gt;
&lt;br /&gt;
See on kõige keerulisem ja võib olla ka mahukam osa ülesandest.&lt;br /&gt;
&lt;br /&gt;
Loe läbi [http://scikit-learn.org/stable/modules/tree.html#tips-on-practical-use otsustuspuu kasutamise nõuanded]. Proovi sealt midagi implementeerida ja vaata, kuidas see mõjutab krossvalideerimise tulemust.&lt;br /&gt;
&lt;br /&gt;
Huvi võiks pakkuda:&lt;br /&gt;
* dimensionaalsuse vähendamine, s.h. atribuutide valik või kombineerimine&lt;br /&gt;
* puu parameetrite, eriti sügavuse muutmine&lt;br /&gt;
* treeningandmete balanseerimine klasside järgi&lt;br /&gt;
&lt;br /&gt;
Seda osa võib teha nii pikalt ja põhjalikult, kui huvi on. Mingi üritus tulemuse kvaliteeti parandada peaks siiski olema tehtud.&lt;br /&gt;
&lt;br /&gt;
Artiklis [1] saavutati täpsus üle 94% (mitte otsustuspuudega).&lt;br /&gt;
&lt;br /&gt;
== Viited ==&lt;br /&gt;
&lt;br /&gt;
1. &amp;#039;&amp;#039;Abdelhamid et al., Phishing Detection based Associative Classification Data Mining. Expert Systems With Applications (ESWA), 41 (2014) 5948-5959&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>PriitJ</name></author>
	</entry>
</feed>