<jupyter_start><jupyter_text>An introduction to machine learning with scikit-learn  Loading an example dataset<jupyter_code>from sklearn import datasets
iris = datasets.load_iris()
digits = datasets.load_digits()
print(digits.data)
digits.target
digits.images[0]<jupyter_output><empty_output><jupyter_text>Pada sklearn memiliki dataset standar dalam datasets. Seperti iris dan digit. Untuk dapat menggunakannya pada program diatas menggunakan perintah datasets.load_iris() sesuaikan dengan dataset yang diinginkan.  Data disimpan dalam **.data** yang merupakan n_samples, n_features. Satu atau lebih variabel respon di **.target**. Dalam digit setiap sampel asli adalah gambar bentuk(8,8) dan dapat diakses menggunakan **.images**.  Learning and predicting<jupyter_code>from sklearn import svm
clf = svm.SVC(gamma=0.001, C=100.)
clf.fit(digits.data[:-1], digits.target[:-1])
clf.predict(digits.data[-1:])<jupyter_output><empty_output><jupyter_text>Menggunakan svm untuk model klasifikasi clf sebagai estimator belajar dari model. Metode fit untuk melatih model. Metod predict untuk memprediksi nilai baru, pada ini prediksi dilakukan pada gambar terakhir dari digits.data yang akan menentukan gambar dari set pelatihan yang paling cocok dengan gambar terakhir.  Model persistence<jupyter_code>from sklearn import svm
from sklearn import datasets
clf = svm.SVC()
X, y = datasets.load_iris(return_X_y = True)
clf.fit(X, y)
import pickle
s = pickle.dumps(clf)
clf2 = pickle.loads(s)
clf2.predict(X[0:1])
y[0]
from joblib import dump, load
dump(clf, 'filename.joblib')
clf = load('filename.joblib')<jupyter_output><empty_output><jupyter_text>Conventions  Type Casting<jupyter_code>import numpy as np
from sklearn import random_projection
rng = np.random.RandomState(0)
X = rng.rand(10, 2000)
X = np.array(X, dtype='float32')
X.dtype
transformer = random_projection.GaussianRandomProjection()
X_new = transformer.fit_transform(X)
X_new.dtype
# Target regresi dijadikan float64 dan target klasifikasi dibiarkan
from sklearn import datasets
from sklearn.svm import SVC
iris = datasets.load_iris()
clf = SVC()
clf.fit(iris.data, iris.target)
list(clf.predict(iris.data[:3]))
clf.fit(iris.data, iris.target_names[iris.target])
list(clf.predict(iris.data[:3]))<jupyter_output><empty_output><jupyter_text>Di sini, predict() pertama mengembalikan array integer, karena iris.target (array integer) digunakan sesuai. predict()  kedua mengembalikan array string, karena iris.target_names cocok.  Refitting and updating parametersParameter hiper dari estimator dapat diperbarui setelah dibangun melalui metode set_params (). Memanggil fit () lebih dari sekali akan menimpa apa yang dipelajari oleh fit() sebelumnya.<jupyter_code>import numpy as np
from sklearn.datasets import load_iris
from sklearn.svm import SVC
X, y = load_iris(return_X_y=True)

clf = SVC()
clf.set_params(kernel='linear').fit(X, y)
clf.predict(X[:5])
clf.set_params(kernel='rbf').fit(X, y)
clf.predict(X[:5])<jupyter_output><empty_output><jupyter_text>Di sini, kernel default rbf pertama kali diubah menjadi linear melalui SVC.set_params () setelah estimator dibuat, dan diubah kembali ke rbf untuk mereparasi estimator dan membuat prediksi kedua.  Multiclass vs. multilabel fittingSaat menggunakan pengklasifikasi multi-kelas, tugas pembelajaran dan prediksi yang dilakukan tergantung pada format data target yang cocok.<jupyter_code>from sklearn.multiclass import OneVsRestClassifier
from sklearn.preprocessing import LabelBinarizer

X = [[1, 2], [2, 4], [4, 5], [3, 2], [3, 1]]
y = [0, 0, 1, 1, 2]

classif = OneVsRestClassifier(estimator=SVC(random_state=0))
classif.fit(X, y).predict(X)<jupyter_output><empty_output><jupyter_text>Dalam kasus di atas, classifier cocok pada array 1d label multiclass dan oleh karena itu metode predict () memberikan prediksi multiclass yang sesuai.<jupyter_code>y = LabelBinarizer().fit_transform(y)
classif.fit(X, y).predict(X)<jupyter_output><empty_output><jupyter_text>Di sini, classifier fit() pada representasi label biner 2d dari y, menggunakan LabelBinarizer. Dalam hal ini predict() mengembalikan array 2d yang mewakili prediksi multilabel yang sesuai.<jupyter_code>from sklearn.preprocessing import MultiLabelBinarizer
y = [[0, 1], [0, 2], [1, 3], [0, 2, 3], [2, 4]]
y = MultiLabelBinarizer().fit_transform(y)
classif.fit(X, y).predict(X)<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.10045766590389016, 'fraction_numerical': 0.014416475972540047, 'mean_word_length': 6.875675675675676, 'pattern_counts': {'":': 0, '<': 33, '<?xml version=': 0, '>': 33, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 3, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '8', 'dir': 'jupyter-structured-clean-dedup', 'id': '91358', 'license': 'MIT', 'n_tokens_mistral': 1687, 'n_tokens_neox': 1602, 'n_words': 422, 'path': 'minggu-14/src.ipynb', 'repo_name': 'waskito/workshop-python-2020', 'size': '4370'}