Useful shortcuts for vi editor

Monday, 9 May 2011

Optimum Solution for Cam Studio V2.0

As you know, we need to record our screen as a video when showing something like a lecture or a project to spectators. Therefore, we can use Cam Studio which is freeware. It is so helpful that I want to share this blog writing. By the way, I actually say how to record into optimum video. No worries, you can get this my little “secret” tip to look below the text.


You did have my confidence. I hope you remember me during recording. J

Sunday, 8 May 2011

T-SQL’de Constraint Konusu (Kısıtlar)

T-SQL Constraint konusunu inceleyemeye çalışacağız.

Kısıtlar çeşitlerine göre 5 başlıkta incelenmektedir. Bunlar;
  • NOT NULL
  • DEFAULT
  • UNIQUE
  • CHECK
  • PRIMARY AND FOREIGN KEY

Sırayla bu ifadeler nasıl kullanılıyor aşağıdaki tablo yardımıyla bakalım.

CREATE TABLE Sinavlar
(
SinavID int NOT NULL UNIQUE,
FK_OgrenciID int REFERENCES Ogrenciler (OgrenciID) NOT NULL,
FK_DersID int REFERENCES Ders(DersID) NOT NULL,
Notu int NOT NULL CHECK (Notu =>0 AND Notu <=100),
Tarih date DEFAULT GETDATE()
)

NOT NULL:

Tablo içindeki istenilen verilerin boş kalmasını engellemek için kullanılan bir kısıttır.

  • Sınavlar tablosunda SinavID ve Notu sütunlarının değerinin boş kalmaması istendi.

Tablo oluşturduktan sonra da kısıtlarımızı yazabiliriz;

ALTER TABLE Sinavlar
ALTER COLUMN Notu int NOT NULL

DEFAULT:

Tablo içindeki istenilen verilere herhangi bir değer atanmamışsa otomatik olarak bir değer yazılması anlamı taşıyan bir kısıttır.

  • Sınavlar tablosunda Tarih sütununun değeri, eğer bir değer atanmazsa o anda tabloya girilen kayıt (insert işlemi) anındaki tarih bilgisi olması istendi.

Tablo sonrası kısıt yazımı;

ALTER TABLE Sinavlar
ALTER COLUMN Tarih SET DEFAULT GETDATE()

İlgili kısıdı tablodan kaldırmak için;

ALTER TABLE Sinavlar
ALTER COLUMN Tarih DROP DEFAULT

UNIQUE:

Tablo içindeki istenilen verilerin diğer verilerden farklı olmasını sağlayan bir kısıttır.

  • Sınavlar tablosunda SinavID sütununun değeri, benzersiz (unique) olması sağlandı.

Tablo sonrası kısıt yazımı;

ALTER TABLE Sinavlar
ADD CONSTRAINT uq_SinavID UNIQUE (SinavID)

İlgili kısıdı tablodan kaldırmak için;

ALTER TABLE Sinavlar
DROP CONSTRAINT uq_SinavID

CHECK:

Tablo içindeki istenilen verilerin belirli bir kural aralığında olmasını sağlayan bir kısıttır.

  • Sınavlar tablosunda Notu sütunun değeri 0 ila 100 arasında olması sağlandı.

Tablo sonrası kısıt yazımı;

ALTER TABLE Sinavlar
ADD CONSTRAINT chk_Not CHECK (Notu=>0 AND Notu=<=100)

İlgili kısıdı tablodan kaldırmak için;

ALTER TABLE Sinavlar
DROP CONSTRAINT uq_chk_Not

PRIMARY KEY:

Tablo içindeki her bir kaydın farklılığını gösteren, her bir satıra bir kimlik kazandıran bir anahtardır. Her bir tablo için en fazla bir adet primary key (birincil anahtar) tanımlanabilir ve birincil anahtar sütunu boş değer (null) alamaz. Unique ile primary key yaptıkları aynıdır. Primary key tanımlandığında otomatik olarak unique kısıdı tabloya eklenir. Ayrıca unique kısıdı birincil anahtardan farklı olarak istenilen sayıda bir tabloda tanımlanabilir.

Tablo sonrası kısıt yazımı;

ALTER TABLE Sinavlar
ADD CONSTRAINT pk_SinavID PRIMARY KEY (SinavID)

İlgili kısıdı tablodan kaldırmak için;

ALTER TABLE Sinavlar
DROP CONSTRAINT pk_SinavID

FOREIGN KEY:

Tabloları birbirine bağlamak için kullanılan bir anahtardır. Türkçe olarak İkincil veya yabancı anahtar denilebilir.

  • Sınavlar tablosunda FK_OgrenciID ve FK_DersID sütununları Ogrenciler ve Ders tablolarındaki birincil anahtarlar ile eşleşmektedir.

Tablo sonrası kısıt yazımı;

ALTER TABLE Sinavlar
ADD CONSTRAINT fk_OgrenciID FOREIGN KEY (FK_OgrenciID)
REFERENCES Ogrenciler(OgrenciID)

İlgili kısıdı tablodan kaldırmak için;

ALTER TABLE Sinavlar
DROP CONSTRAINT fk_OgrenciID

Herkese iyi çalışmalar. J

Saturday, 7 May 2011

Veritabanını sisteme attach (ekleme) nasıl yapılır?

MSSQL veritabanını SQL Management Studio Express'de attach (eklemek) için servislerden MSSQL Server servisi kapatılır. Sonra Visual Studio'dan (Server Explorer'dan) detach (çıkartılır) daha sonra istediğimiz projemize ekleriz.

Kullanıcıya veritabanı ile ilgili haklar vermek için (yazma, okuma, vs.) projenin bulunduğu klasöre gelip, sağ tıklayıp user (kullanıcıya) gerekli haklar tanınır.

İyi çalışmalar. :)

Friday, 6 May 2011

Demografi Nedir?

Demografi, sözlük anlamına göre nüfus bilimidir. Başka bir değişle, özellikle insanların nüfus gelişimlerini istatistik biliminin yardımıyla irdeleyen önemli bir bilim dalıdır. Yapılan demografi araştırmaları ile istenilen konuda ülkelerin eğitim, ırk, din ve etnik gibi kıstaslara göre gruplandırmaya yarar. Mesela herhangi bir mevcut nüfustaki, yaş, cinsiyet, evlilik durumu, tahsil durumu gibi kıstaslara göre sosyal ve ekonomik gelişmeleri inceler.

Demography, konusunu incelediniz.

İyi çalışmalar. J

Thursday, 5 May 2011

Korelasyon Katsayısı Nedir?

Korelasyon Katsayısı, istatistikte kullanılan bir katsayıdır. Kabaca, analizi yapılacak değişkenlerin aralarındaki bağlılığı bir katsayı ile belirtmeye yarar.

-1 ile +1 aralığında değerler alır. -1 veya +1 ‘e yakın katsayı, değişkenler veya gruplar arasındaki ilişkinin kuvvetli olduğunu, 0 olması durumunda aralarında kısmen veya hiçbir bağın olmadığını, diğer seçenekler için kısmi bağın olduğu söylenebilir. Burada ortaya çıkan katsayının yorumu analiz edilen örnek grupların azlığı veya çokluğu ile doğrudan ilişkilidir. Eğer örnek sayısı az ise çıkan katsayının uç değerlere yakın olması (-1 veya +1) çok önemlidir. Bunun dışında eğer örnek sayısı çok ise çıkan katsayının (0 ila +1 veya 0 ila -1) uç değerlere yakın olmasa bile önemi yüksektir.

Correlation Coefficent, konusunu incelediniz.

İyi çalışmalar. J

Wednesday, 4 May 2011

WEKA ile Daire Fiyatını Tahmin Etme

Lineer Regresyon (Doğrusal Eğri Uydurma) Analizi ile WEKA yazılımı yardımıyla 7 veri satırına sahip veri setimizde daire fiyatına ait formülsel tahmini araştıracağız.

Veri madenciliği uygulamalarında özellikle üniversitelerde ve eğitim yapılan kurumlarda üzerinde proje geliştirilen WEKA yazılımını kullanacağız.

WEKA yazılımına geçmeden önce veri setimize bir göz atalım. (Aşağıdaki ekran görüntüsüne bakarak sizde aynı şekilde ev.afff dosyası oluşturabilirsiniz.)


Ekran görüntüsünde, ev.afff uzantılı dosyamızda WEKA yazılımının anlayacağı şekilde veriler tanımlandığını görmekteyiz. 6 adet niteliğe ve 7 adet veri satırına sahibiz.

WEKA yazılımında bu afff uzatıntılı dosya ile satisFiyatı niteliğine ait tahmin formülünü bulmaya çalışacağız.

Öncelikle WEKA yazılımını bilgisayarımıza indirerek olayımıza başlayalım.
Yükleme işlemi bittiğine göre ev.afff uzantılı dosyamızı WEKA yazılımına bütünleşik açarsak şu şekilde bir ekran görüntüsüyle karşılaşmamız kuvvetle muhtemeldir. J


Şimdi madenciliğe başlayalım. Sınıflandırma yöntemlerinden biri olan Lineer Regresyon Analizini (Doğrusal Eğri Uydurma) kullanacağız.


Sınıflandırma işlemine başlamak için Start düğmesine basmamız yeterli.


Sınıflandırma sonucunda;

satisFiyatina ait formülümüzü bulmuş durumdayız. Korelasyon katsayısı 0.9945 ile epey yüksek çıktı. Bu iyiye işaret, demek ki niteliklerimiz birbirlerine sımsıkı bağlılar. J

Mutlak ve mutlak karesel hatanın yüksek çıkmasının bir önemi bulunmamakta ve önemli olan bizim için bağıl hatanın (hata yüzdesi) önemlidir. Bu değer de yüzde 13 lerde çıkmıştır. Nispeten iyi bir sonuç elde ettiğimiz söylenebilir.

Veri madenciliğinde WEKA ile Lineer Regresyon Analizi yaptınız. İyi çalışmalar J

İlham : Sultan Turhan J


Tuesday, 3 May 2011

Mutlak Hata ve Bağıl Hata Nedir?

Bu yazımızda mutlak hata ve bağıl hata konularına değineceğiz.

Bu konulara aşağıdaki ekran görüntüsünde görülen veri setini kullanarak bakacağız.

 
Mutlak hata, gerçek değer ile seçilen yaklaşık değer farkının mutlak değeri denilmektedir. 


Aşağıdaki ekran görüntüsünde görüldüğü üzere, mutlak hata; asıl olan veri setimizde (yani istediğimiz) yer alan gerçek değerden, tahmin edilen değerin farkının mutlak değeri bizim mutlak hatamız olmaktadır.

Bağıl hata ise; tahmin edilen sonuç ile gerçek sonucun farkının, gerçek sonuca bölümü denir. Çoğunlukla yüzdesel ifade edildiği için hata yüzdesi olarak da anılır. Aynı veri setimizdeki bağıl hataya bakacak olursak; elde ettiğimiz sonuçlar aşağıdaki ekran görüntüsü gibi olur.

Bağıl hata sonucunda negatif değerlerden kurtulmak için mutlak değer alındığını da ekleyelim.

Mutlak Hata ile Bağıl Hata konularını incelediniz. İyi çalışmalar. J

Monday, 2 May 2011

Türev ve İntegral Nedir?


Matemetik derslerinde sıkça karşımıza çıkan türev ve integral tanımlarına bakacağız.

Türev, değişimin hızını tanımlar. Bir f(x) fonksiyonun herhangi bir x0 noktasındaki türevi, fonksiyonun o noktadaki değişme hızını gösterir. Buna o noktadaki eğim de diyoruz.

İntegral, Kalkülüsün temel teoremi türev alma ve integral alma işlemlerinin birbirinin tersi olduğunu, bir integral sabiti farkıyla birinden diğerine gidilip gelinebilineceğini gösterir.

Kaynak: Bilim ve Teknik Mart 2011 sayısı

İyi çalışmalar. J

Sunday, 1 May 2011

Normalizasyon nedir, nasıl yapılır?

Normalizasyon, veri setimizde bulunan verilerin istediğimiz şekle veya aralığa getirmektir. Kısacası, kendimize göre normalleştirmemiz diyebiliriz. J

Normalizasyonun birden çok yöntemi vardır ama en temeldeki bir yöntemi kullanacağız.

V’ = V – min(set) / max(set) – min(set)

Gördüğünüz gibi formülümüz gayet kolay; yeni, normalize edilmiş verimiz, veri setimizdeki en düşük veriyi, setimizdeki en yüksek ile en düşük verinin çıkarılan sonuca bölünerek bulunuyor.

Excel’de konuyla ilgili bir örnek yaparsak, şu şekilde olabilir;


Veri setimiz rastgele sayılardan oluşsun. Bu veri setimizi normalize veri seti haline getirmek isteyelim. Yapacağımız işlem, formüldekini aynen uygulamak olacaktır.
C sütunu bizim normalize ettiğimiz verileri içersin. C2 satır-sütunda aşağıdaki Excel formülünü yazarsak, tutup kulağından indirirken bize zorluk çıkarmaz. J


Yazdığımız formülü C sütununda tatbik ettikten sonra normalize veri setimizin aşağıdaki ekran görüntüsü gibi olmasını bekleriz.


Bir adım daha gidersek normalize edilmiş verilerimizin daha kolay anlaşılır ve kullanıbilir olmasını istediğimizi düşünelim ve veri setimizdeki verilerin 0 ila 100 aralığında olmasını isteyelim.

Bunun için basitçe elde ettiğimiz değerleri 100 ile çarparsak istediğimiz gerçekleşmiş olur.


Normalizasyon konusunu incelediniz. İyi çalışmalar. J