# -*- coding: utf-8 -*-
"""Untitled1.ipynb

Automatically generated by Colaboratory.

Original file is located at
    https://colab.research.google.com/drive/1ZYu9AlSlQEaT9mYvZp5ExVMJAv4Tm7KU

BELAJAR  MACHINE LEARNING DICODING DENGAN PYTHON SKLEARN PENGENALAN DATA
          Glossarium:
                    - NOMRALIZATION                   => MinMaxScaler, StandardScaler
                    - STANDARIZATION                  => StandardScaler
                    - TRAINING SET DAN TEST UJI       => train_test_split
                    - EVALUASI DENGAN CROSS VALIDATOR => cross_val_score,
"""



#Normalization untuk menormalisasi data yang perbandinganya sangat jauh. contohnya gaji pegawai tahun ke berapa ?





from sklearn.preprocessing import MinMaxScaler, StandardScaler

import numpy as np

data = np.array([[12000000, 33], [35000000, 45], [4000000, 23], [6500000, 26], [9000000, 29]])
data

scaler = MinMaxScaler()

scaler.fit(data)

scaler.transform(data)

#                                                                                       STANDARIZATION SKLEARN

# Standardization adalah proses konversi nilai-nilai dari suatu fitur sehingga nilai-nilai tersebut memiliki skala yang sama.pembuktian standarization rumus => z = (value - mean)/ standar deviation



# mean dan standar deviasinya sudah di training data nya. jadi jika di masukan rumus maka hasilnya akan berbeda.

standar_scaler = StandardScaler()

standar_scaler.fit(data)

standar_scaler.transform(data)

#                                                                                 TRAINING SET DAN TEST UJI 
# from sklearn.model_selection import train_test_split; x_train, x_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=1 )

"""
penjelasan => random_state digunakan untuk dapat memastikan bahwa hasil pembagian dataset konsisten dan memberikan data yang sama setiap kali model dijalankan. data sama.
train_test_split => membagi array x dan y dengan test_size = 0.2 atau 20% dari data record. jika data 2000 maka 20% data testing dan 80% data training

 """





from sklearn.model_selection import train_test_split

from sklearn.preprocessing import StandardScaler

import pandas as pd

parsing = pd.read_csv('https://raw.githubusercontent.com/TynClause/dataset_DSC/main/kc_house_data.csv')

data = parsing[['price', 'bedrooms']]
data = data.to_numpy()

parser = MinMaxScaler()
parser.fit(data)

get_normalization = parser.transform(data)

x_train,x_test = train_test_split(get_normalization, test_size=0.3, random_state=42) # => train_test_split(x,y,test_size, random_state) . x dari dataset y adalah parameter target yg dicapai.
x_test

import matplotlib.pyplot as plt

plt.scatter(x_test[:100],x_train[:100])

#                                                                                              CROSS VALIDATOR

#K-Fold Cross Validation atau lebih sering disebut cross validation adalah salah satu teknik yang populer dipakai dalam evaluasi model ML. Pada cross validation dataset dibagi sebanyak K lipatan. 
#Pada setiap iterasi setiap lipatan akan dipakai satu kali sebagai data uji dan lipatan sisanya dipakai sebagai data latih

#. Dengan menggunakan cross validation kita akan memperoleh hasil evaluasi yang lebih akurat karena model dievaluasi dengan seluruh data. Berikut adalah ilustrasi dari K-cross validation.

# cross_validation_score pada classifier decision_tree. Dataset yang digunakan adalah dataset iris.



from sklearn import datasets



parsing_iris = datasets.load_iris()
x = parsing_iris.data
y = parsing_iris.target

# membuat model dengan decision tree ckassifier. decision tree, menggunakan library scikit learn. Model machine learning juga sering disebut sebagai classifier.

from sklearn import tree

from sklearn.model_selection import cross_val_score

classifier = tree.DecisionTreeClassifier()

cross_val_score(classifier, x, y, cv=5) # Cross_val_score mengembalikan nilai berupa larik atau array yang terdiri dari akurasi pengujian setiap fold dari dataset.

# Elemen pertama dari larik menunjukkan nilai 0.96666 yang berarti ketika fold pertama dijadikan validation set dan fold lainnya dijadikan train set, hasil dari pengujian tersebut adalah akurasi sebesar 0.96666.



#Contoh lain evaluasi cross validator

from sklearn import datasets, linear_model
from sklearn.model_selection import cross_val_score
diabetes = datasets.load_diabetes()
X = diabetes.data[:150]
y = diabetes.target[:150]
lasso = linear_model.Lasso()

print(X)

print(y)

print(cross_val_score(lasso, X, y, cv=3))
# -*- coding: utf-8 -*-
"""Untitled1.ipynb

Automatically generated by Colaboratory.

Original file is located at
    https://colab.research.google.com/drive/1ZYu9AlSlQEaT9mYvZp5ExVMJAv4Tm7KU

BELAJAR  MACHINE LEARNING DICODING DENGAN PYTHON SKLEARN PENGENALAN DATA
          Glossarium:
                    - NOMRALIZATION                   => MinMaxScaler, StandardScaler
                    - STANDARIZATION                  => StandardScaler
                    - TRAINING SET DAN TEST UJI       => train_test_split
                    - EVALUASI DENGAN CROSS VALIDATOR => cross_val_score,
"""



#Normalization untuk menormalisasi data yang perbandinganya sangat jauh. contohnya gaji pegawai tahun ke berapa ?





from sklearn.preprocessing import MinMaxScaler, StandardScaler

import numpy as np

data = np.array([[12000000, 33], [35000000, 45], [4000000, 23], [6500000, 26], [9000000, 29]])
data

scaler = MinMaxScaler()

scaler.fit(data)

scaler.transform(data)

#                                                                                       STANDARIZATION SKLEARN

# Standardization adalah proses konversi nilai-nilai dari suatu fitur sehingga nilai-nilai tersebut memiliki skala yang sama.pembuktian standarization rumus => z = (value - mean)/ standar deviation



# mean dan standar deviasinya sudah di training data nya. jadi jika di masukan rumus maka hasilnya akan berbeda.

standar_scaler = StandardScaler()

standar_scaler.fit(data)

standar_scaler.transform(data)

#                                                                                 TRAINING SET DAN TEST UJI 
# from sklearn.model_selection import train_test_split; x_train, x_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=1 )

"""
penjelasan => random_state digunakan untuk dapat memastikan bahwa hasil pembagian dataset konsisten dan memberikan data yang sama setiap kali model dijalankan. data sama.
train_test_split => membagi array x dan y dengan test_size = 0.2 atau 20% dari data record. jika data 2000 maka 20% data testing dan 80% data training

 """





from sklearn.model_selection import train_test_split

from sklearn.preprocessing import StandardScaler

import pandas as pd

parsing = pd.read_csv('https://raw.githubusercontent.com/TynClause/dataset_DSC/main/kc_house_data.csv')

data = parsing[['price', 'bedrooms']]
data = data.to_numpy()

parser = MinMaxScaler()
parser.fit(data)

get_normalization = parser.transform(data)

x_train,x_test = train_test_split(get_normalization, test_size=0.3, random_state=42) # => train_test_split(x,y,test_size, random_state) . x dari dataset y adalah parameter target yg dicapai.
x_test

import matplotlib.pyplot as plt

plt.scatter(x_test[:100],x_train[:100])

#                                                                                              CROSS VALIDATOR

#K-Fold Cross Validation atau lebih sering disebut cross validation adalah salah satu teknik yang populer dipakai dalam evaluasi model ML. Pada cross validation dataset dibagi sebanyak K lipatan. 
#Pada setiap iterasi setiap lipatan akan dipakai satu kali sebagai data uji dan lipatan sisanya dipakai sebagai data latih

#. Dengan menggunakan cross validation kita akan memperoleh hasil evaluasi yang lebih akurat karena model dievaluasi dengan seluruh data. Berikut adalah ilustrasi dari K-cross validation.

# cross_validation_score pada classifier decision_tree. Dataset yang digunakan adalah dataset iris.



from sklearn import datasets



parsing_iris = datasets.load_iris()
x = parsing_iris.data
y = parsing_iris.target

# membuat model dengan decision tree ckassifier. decision tree, menggunakan library scikit learn. Model machine learning juga sering disebut sebagai classifier.

from sklearn import tree

from sklearn.model_selection import cross_val_score

classifier = tree.DecisionTreeClassifier()

cross_val_score(classifier, x, y, cv=5) # Cross_val_score mengembalikan nilai berupa larik atau array yang terdiri dari akurasi pengujian setiap fold dari dataset.

# Elemen pertama dari larik menunjukkan nilai 0.96666 yang berarti ketika fold pertama dijadikan validation set dan fold lainnya dijadikan train set, hasil dari pengujian tersebut adalah akurasi sebesar 0.96666.



#Contoh lain evaluasi cross validator

from sklearn import datasets, linear_model
from sklearn.model_selection import cross_val_score
diabetes = datasets.load_diabetes()
X = diabetes.data[:150]
y = diabetes.target[:150]
lasso = linear_model.Lasso()

print(X)

print(y)

print(cross_val_score(lasso, X, y, cv=3))
# -*- coding: utf-8 -*- Untitled1.ipynb  Automatically generated by Colaboratory.  Original file is located at     https://colab.research.google.com/drive/1ZYu9AlSlQEaT9mYvZp5ExVMJAv4Tm7KU  BELAJAR  MACHINE LEARNING DICODING DENGAN PYTHON SKLEARN PENGENALAN DATA           Glossarium:                     - NOMRALIZATION                   => MinMaxScaler, StandardScaler                     - STANDARIZATION                  => StandardScaler                     - TRAINING SET DAN TEST UJI       => train_test_split                     - EVALUASI DENGAN CROSS VALIDATOR => cross_val_score, #Normalization untuk menormalisasi data yang perbandinganya sangat jauh. contohnya gaji pegawai tahun ke berapa ? #                                                                                       STANDARIZATION SKLEARN # Standardization adalah proses konversi nilai-nilai dari suatu fitur sehingga nilai-nilai tersebut memiliki skala yang sama.pembuktian standarization rumus => z = (value - mean)/ standar deviation # mean dan standar deviasinya sudah di training data nya. jadi jika di masukan rumus maka hasilnya akan berbeda. #                                                                                 TRAINING SET DAN TEST UJI # from sklearn.model_selection import train_test_split; x_train, x_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=1 ) penjelasan => random_state digunakan untuk dapat memastikan bahwa hasil pembagian dataset konsisten dan memberikan data yang sama setiap kali model dijalankan. data sama. train_test_split => membagi array x dan y dengan test_size = 0.2 atau 20% dari data record. jika data 2000 maka 20% data testing dan 80% data training # => train_test_split(x,y,test_size, random_state) . x dari dataset y adalah parameter target yg dicapai. #                                                                                              CROSS VALIDATOR #K-Fold Cross Validation atau lebih sering disebut cross validation adalah salah satu teknik yang populer dipakai dalam evaluasi model ML. Pada cross validation dataset dibagi sebanyak K lipatan. #Pada setiap iterasi setiap lipatan akan dipakai satu kali sebagai data uji dan lipatan sisanya dipakai sebagai data latih #. Dengan menggunakan cross validation kita akan memperoleh hasil evaluasi yang lebih akurat karena model dievaluasi dengan seluruh data. Berikut adalah ilustrasi dari K-cross validation. # cross_validation_score pada classifier decision_tree. Dataset yang digunakan adalah dataset iris. # membuat model dengan decision tree ckassifier. decision tree, menggunakan library scikit learn. Model machine learning juga sering disebut sebagai classifier. # Cross_val_score mengembalikan nilai berupa larik atau array yang terdiri dari akurasi pengujian setiap fold dari dataset. # Elemen pertama dari larik menunjukkan nilai 0.96666 yang berarti ketika fold pertama dijadikan validation set dan fold lainnya dijadikan train set, hasil dari pengujian tersebut adalah akurasi sebesar 0.96666. #Contoh lain evaluasi cross validator