Data Analysis and Visualization with Python

Hello, one more beautiful day! In this article, we will continue to code Python with you. So what are we doing today? We will talk about one of my favorite topics, data analysis. You can get your data set from data sites such as Kaggle or UCI. In addition to these, I did research on Iris Flower Data Set and chose it for you.

The Iris flower dataset is a multivariate dataset presented by the British statistician and biologist Ronald Fisher in his 1936 article on the use of multiple measures in taxonomic problems. It is sometimes referred to as the Anderson Iris dataset because Edgar Anderson collected data to measure the morphological variation of Iris flowers of three related species. The dataset consists of 50 samples from each of the three Iris species (Iris Setosa, Iris virginica and Iris versicolor).

Four properties were extracted from each sample:

    1. The length of the sepals in centimeters
    2. The width of the sepals in centimeters
    3. The length of the petals in centimeters
    4. The width of the petals in centimeters

This dataset becomes a typical test case for many statistical classification techniques in machine learning, such as support vector machines.

Iris dataset

The visual you see above is also included in the notebook I created in Colab. In this visual, we see examples from the data set. You can access it via the Colab link at the end of the article. It is already in the literature as one of the most frequently and fundamentally used data sets in the field of data science.

STEPS

✨ The necessary libraries must be introduced in Colab and then the path of the data set in the folder must be specified. Then you can print the df variable to see the data set content or use the df.head( ) command to access the first 5 lines.

Veri kümesini ve kitaplıkları içe aktarma

Veri Kümesini İncele

✨ If you wish, let’s run the df.head( ) command and see how we will get an output.

Baş Komuta

✨ We include the values of the features in the data set above. Variables like sepal_length and petal_width are numerical variables. In addition, the feature of the flower type referred to as species is referred to as a categorical variable. First of all, it is useful to know which type of variable this data falls into.

⚠️ If it is desired to estimate the categorical data, namely the type of flower from the numerical variables (features between sepal_length and petal_width), this is a classification problem.

Descriptive Statistics

✨ Descriptive statistics are printed with Pandas’ describe method. If you want to follow, you can access the original documents of Pandas. In this way, how much data each feature contains – it is possible to see the lost data – it is informed. Standard deviation, average, minimum and maximum values of the properties are seen.

Describe Method

For example, in these data, the sepal_length feature is specified as 150000 lines in total and the standard deviation of these values is approximately 0.83.

⏳ The 25% and 75% range are known as Quartiles. By controlling these values, data can be analyzed.

✨ To get information about the data set, df.info( ) command should be run.

According to this information, we see that there is no row with an empty value. In addition to these, we also know that the features that exist numerically have float type.

✨ The df.isna( ) command checks if there is missing data (Not a Number) in the data set. We expect the row with the missing data to be ‘True’. However, as we have seen above, we do not have any lost data.

NaN Any

✨ The df.isna( ).any( ) command returns True if the data set contains even 1 missing data while checking lost data.

Not a Number Value

🖇 NOTE: Click on the link for the Colab link I mentioned above.

In the second article of the series, I will refer to the small points in the data analysis and the visualization area. Stay healthy ✨

REFERENCES

  1. https://pandas.pydata.org/pandas-docs/stable/index.html.
  2. https://www.kaggle.com/arshid/iris-flower-dataset.
  3. Machine Learning Days | Merve Noyan | Data Visualization | Study Jams 2 |, https://www.youtube.com/watch?v=JL35pUrth4g.
  4. https://www.kaggle.com/peterchang77/exploratory-data-analysis.

 

Python ile Veri Analizi ve Görselleştirme

Güzel bir günden daha merhaba! Bu yazıda sizler ile birlikte Python kodlamaya devam edeceğiz. Peki bugün neler yapıyoruz? En sevdiğim konulardan biri olan veri analizine birlikte deyineceğiz. Veri setinizi Kaggle veya UCI gibi veri sitelerinden temin edebilirsiniz. Bunların yanı sıra Iris Çiçek Veri Seti hakkında araştırma yapıp sizler için seçtim.

Iris çiçeği veri seti, İngiliz istatistikçi ve biyolog Ronald Fisher tarafından 1936’daki taksonomik problemlerde çoklu ölçümlerin kullanımı adlı makalesinde sunulan çok değişkenli bir veri setidir. Bazen Anderson Iris veri seti olarak adlandırılır çünkü Edgar Anderson, üç ilgili türün Iris çiçeklerinin morfolojik varyasyonunu ölçmek için verileri toplamıştır. Veri seti, üç Iris türünün (Iris Setosa, Iris virginica ve Iris versicolor) her birinden olmak üzere 50 örnekten oluşur.

Her numuneden dört özellik çıkarılmıştır:

    1. çanak yaprakları santimetre cinsinden uzunluğu
    2. çanak yaprakları santimetre cinsinden genişliği
    3. taç yapraklarının santimetre cinsinden uzunluğu
    4. taç yapraklarının santimetre cinsinden genişliği

Bu veri kümesi, destek vektör makineleri gibi makine öğreniminde birçok istatistiksel sınıflandırma tekniği için tipik bir test senaryosu haline gelmektedir.

Iris veri kümesi

Yukarıda gördüğünüz görsel Colab’da oluşturduğum not defteri içerisinde de yer almaktadır. Bu görselde veri setinden örnekler görmekteyiz. Yazının sonunda yer alan Colab linki üzerinden erişim sağlayabilirsiniz. Zaten veri bilimi alanında en sık ve temel olarak kullanılan veri setlerinden bir tanesi olarak literatürde yer almaktadır.

ADIMLAR

✨ Colab’ da gerekli kütüphaneler tanıtılmalı ve ardından klasör içerisinde yer alan veri setinin yolunun belirtilmesi gerekmektedir. Ardından veri seti içeriğini görmek için df değişkenini yazdırabilir veya ilk 5 satırına erişmek için df.head( ) komutunu kullanabilirsiniz.

Veri kümesini ve kitaplıkları içe aktarma

Veri Kümesini İncele

✨ Dilerseniz df.head( ) komutunu da çalıştırıp nasıl bir çıktı alacağız birlikte görelim.

Baş Komuta

✨ Yukarıda veri setinde yer alan özelliklerin değerlerine yer vermekteyiz. sepal_length ve petal_width gibi değişkenler numerical (sayısal) değişkenlerdir. Bir de bunun yanı sıra species olarak geçen çiçek türü özelliği ise categorical (kategorik) değişken olarak geçmektedir. Öncelikli olarak bu verilerin hangi değişken türüne girdiğini bilmekte fayda var.

⚠️ Eğer burada yer alan sayısal değişkenlerden (sepal_length ve petal_width arası özellikler) kategorik verinin yani çiçek türünün tahmini yapılmak isteniyorsa bu bir sınıflandırma problemidir.

✨ Pandas’ ın describe metodu ile tanımlayıcı istatistikler yazdırılmaktadır. Takip etmek isterseniz Pandas’ ın orijinal dokümanlarından erişebilirsiniz. Bu şekilde her özellik ne kadar veri içeriyorsa -kayıp verileri de görmemiz mümkün- bunun bilgilendirmesi yapılmaktadır. Özelliklerin standart sapması, ortalaması, minimum ve maksimum değerleri görülmektedir.

Describe Method

Örneğin bu veriler içerisinde sepal_length özelliği toplam 150000 satır ve bu değerlerin standart sapması ise yaklaşık olarak 0.83 olarak belirtilmiştir.

⏳ 25% ve 75% aralığı ise Quartile (Çeyrekler Aralığı) olarak bilinmektedir. Bu değerler kontrol edilerek verinin analizi yapılabilmektedir.

✨ Veri seti hakkında bilgi almak için ise df.info( ) komutu çalıştırılmalıdır.

Bu bilgilere göre boş değer olan satır bulunmamakta olduğunu görüyoruz. Bunların yanı sıra sayısal olarak var olan özelliklerin float tipine sahip olduğunun da bilgisine sahip oluyoruz.

df.isna( ) komutu veri setinde kayıp veri (Not a Number) olup olmadığını kontrol etmektedir. Kayıp verinin olduğu satırın ‘True’ olmasını beklemekteyiz. Ancak yukarıda gördüğümüz gibi kayıp verimiz bulunmamaktadır.

NaN Any

df.isna( ).any( ) komutu ise veri setinde kayıp veriler kontrol edilirken 1 adet bile kayıp veri içeriyor ise True olarak dönmektedir.

Not a Number Value

🖇 NOT: Yukarıda sözünü ettiğim Colab bağlantısı için bağlantıya tıklayınız.

Serinin 2. yazısında ise veri analizinde kalan ufak noktalara ve görselleştirme alanına deyineceğim. Sağlıcakla kalın ✨

REFERANSLAR

  1. https://pandas.pydata.org/pandas-docs/stable/index.html.
  2. https://www.kaggle.com/arshid/iris-flower-dataset.
  3. Machine Learning Days | Merve Noyan | Data Visualization | Study Jams 2 |, https://www.youtube.com/watch?v=JL35pUrth4g.
  4. https://www.kaggle.com/peterchang77/exploratory-data-analysis.