added my data ML test
This commit is contained in:
parent
8edd4c5b6d
commit
67e003df8b
57 changed files with 40473 additions and 4 deletions
128
JR_day2_tensorflow/lidoML_TF.py
Normal file
128
JR_day2_tensorflow/lidoML_TF.py
Normal file
|
@ -0,0 +1,128 @@
|
|||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
Created on Thu Jan 23 09:59:50 2020
|
||||
|
||||
@author: tanu
|
||||
"""
|
||||
#%%
|
||||
# LIDO ML: tensorflow
|
||||
#%%
|
||||
|
||||
from sklearn.datasets import load_boston
|
||||
from sklearn.pipeline import Pipeline
|
||||
from sklearn.preprocessing import MinMaxScaler
|
||||
import jrpytensorflow
|
||||
import tensorflow as tf
|
||||
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
boston = load_boston()
|
||||
#X, y = boston.data, boston.target
|
||||
|
||||
|
||||
from sklearn.model_selection import train_test_split
|
||||
|
||||
from sklearn.datasets import load_digits
|
||||
|
||||
digits = load_digits()
|
||||
|
||||
X_train, X_test, y_train, y_test = train_test_split(
|
||||
X, y, test_size = 0.2
|
||||
)
|
||||
#%%
|
||||
# P1
|
||||
X,y = jrpytensorflow.datasets.load_circles()
|
||||
|
||||
plt.figure()
|
||||
plt.scatter(X[:,0], X[:,1], c = y, edgecolor = 'black')
|
||||
|
||||
#2)
|
||||
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
|
||||
)
|
||||
|
||||
|
||||
preprocess = Pipeline(
|
||||
steps = [
|
||||
('rescale', MinMaxScaler())
|
||||
]
|
||||
)
|
||||
|
||||
preprocess.fit(X_train)
|
||||
|
||||
X_train = preprocess.transform(X_train)
|
||||
X_test = preprocess.transform(X_test)
|
||||
|
||||
import tensorflow as tf
|
||||
logModel = tf.keras.models.Sequential([
|
||||
tf.keras.layers.Dense(1, activation = 'sigmoid')
|
||||
|
||||
])
|
||||
|
||||
logModel.compile(optimizer = 'sgd',
|
||||
loss = 'binary_crossentropy')
|
||||
history = logModel.fit(X, y, epochs = 100)
|
||||
|
||||
logModel.summary()
|
||||
|
||||
|
||||
#4) predicted probability: for X
|
||||
model(X) # tf object
|
||||
model.predict(X) # array
|
||||
|
||||
|
||||
model(X).numpy().ravel() > 0.5
|
||||
|
||||
sum(model(X).numpy().ravel() > 0.5)
|
||||
#101
|
||||
|
||||
sum( ( model(X).numpy().ravel() > 0.5) == y)
|
||||
#97
|
||||
|
||||
# 4*) predicted probability: for X_test
|
||||
|
||||
logModel.compile(optimizer = 'sgd',
|
||||
loss = 'binary_crossentropy')
|
||||
history = logModel.fit(X_test, y_test, epochs = 100)
|
||||
|
||||
logModel.summary()
|
||||
|
||||
|
||||
|
||||
model(X_test) # tf object
|
||||
model.predict(X_test) # array
|
||||
|
||||
|
||||
model(X_test).numpy().ravel() > 0.5
|
||||
|
||||
sum( model(X_test).numpy().ravel() > 0.5)
|
||||
#22
|
||||
|
||||
sum((model(X_test).numpy().ravel() > 0.5) == y_test)
|
||||
#21
|
||||
|
||||
#%%
|
||||
# Practical 2
|
||||
#%%
|
||||
|
||||
from tensorflow import keras
|
||||
|
||||
def smallModel():
|
||||
model = tf.keras.models.Sequential([
|
||||
tf.keras.layers.Dense(20, activation = 'relu'),
|
||||
tf.keras.layers.Dense(10, activation = 'relu'),
|
||||
tf.keras.layers.Dense(1, activation = 'softmax')
|
||||
])
|
||||
model.compile(optimizer = 'sgd',
|
||||
loss = 'binary_crossentropy',
|
||||
metrics = ['accuracy'])
|
||||
|
||||
return model
|
||||
|
||||
model = smallModel()
|
||||
model.summary()
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue