Please complete the following task exercises.
Ref: Page232



Task 1: Data Retrieval

Complete the following code

url='https://raw.githubusercontent.com/MicrosoftLearning/mslearn-dp100/main/data/diabetes.csv'
df=read.csv(url ,header=????)



Task 2: Data Checking

Check the data
Number of observations _____
Write down a command to show part of data:
______________________________



Task 3: Normalization

What is normalizaton: See Lecture Note 243
Complete the following code
X <- (X - min(X)) / (max(X) - min(X)) Y <- (Y - min(Y)) / (max(Y) - min(Y))

#df.n = df
#df.n[ , 2] = (df[ , 2]- min(df[ , 2])) / (max(df[ , 2])-min(df[ , 2]))
#???
#???
head(df.n)



Task 4: Build Neuralnet Formula

Complete the following code

print(colnames(df.n))
 [1] "PatientID"              "Pregnancies"           
 [3] "PlasmaGlucose"          "DiastolicBloodPressure"
 [5] "TricepsThickness"       "SerumInsulin"          
 [7] "BMI"                    "DiabetesPedigree"      
 [9] "Age"                    "Diabetic"              
f='Diabetic~????'



Task 5: Prepare Training and Testing Data

Execute the following code

rows  = sample(nrow(df.n))
df.ns = df.n[rows, ]
df.ns.train=df.ns[1   :700 , ]
df.ns.test=df.ns[700:1000 , ]



Task 6: Build/Plot the Model

Execute the following code

#model = neuralnet::neuralnet(f, data = df.ns.train, 
#                           hidden = c(?,?), linear.output = FALSE)
plot(model)



Task 7: Find the Accuracy

data.frame(predict=round(predict(model, df.ns.test),0) , actual=df.ns.test$Diabetic)
#total_testing_obs = ???
#accuracy = sum(round(predict(model, df.ns.test),0) == df.ns.test$Diabetic)/ total_testing_obs
print(accuracy)
[1] 0.8533333
LS0tCnRpdGxlOiAi5Lq65bel5pm66IO955+l6K2Y5Y+K5oeJ55So6K2J5pu477yI5YW86K6A5Yi277yJ5a+m57+S5LiJIgpzdWJ0aXRsZTogJ0Nhc2U6IERpYWJldGljIFBlcmRpdGlvbiBpbiBSJwpvdXRwdXQ6CiAgaHRtbF9ub3RlYm9vazogZGVmYXVsdAotLS0KCgpQbGVhc2UgY29tcGxldGUgdGhlIGZvbGxvd2luZyB0YXNrIGV4ZXJjaXNlcy48YnI+ClJlZjogUGFnZTIzMjxicj4KCjxicj4KPGJyPgoKIyMjIyBUYXNrIDE6IERhdGEgUmV0cmlldmFsIApDb21wbGV0ZSB0aGUgZm9sbG93aW5nIGNvZGUKYGBge3J9CnVybD0naHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL01pY3Jvc29mdExlYXJuaW5nL21zbGVhcm4tZHAxMDAvbWFpbi9kYXRhL2RpYWJldGVzLmNzdicKZGY9cmVhZC5jc3YodXJsICxoZWFkZXI9Pz8/PykKYGBgCgo8YnI+Cjxicj4KCiMjIyMgVGFzayAyOiBEYXRhIENoZWNraW5nIApDaGVjayB0aGUgZGF0YTxicj4KTnVtYmVyIG9mIG9ic2VydmF0aW9ucyBfX19fXyA8YnI+CldyaXRlIGRvd24gYSBjb21tYW5kIHRvIHNob3cgcGFydCBvZiBkYXRhOjxicj4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyPgoKPGJyPgo8YnI+CgojIyMjIFRhc2sgMzogTm9ybWFsaXphdGlvbgpXaGF0IGlzIG5vcm1hbGl6YXRvbjogU2VlIExlY3R1cmUgTm90ZSAyNDM8YnI+CkNvbXBsZXRlIHRoZSBmb2xsb3dpbmcgY29kZTxicj4KIFggPC0gKFggLSBtaW4oWCkpIC8gKG1heChYKSAtIG1pbihYKSkKIFkgPC0gKFkgLSBtaW4oWSkpIC8gKG1heChZKSAtIG1pbihZKSkKYGBge3J9CiNkZi5uID0gZGYKI2RmLm5bICwgMl0gPSAoZGZbICwgMl0tIG1pbihkZlsgLCAyXSkpIC8gKG1heChkZlsgLCAyXSktbWluKGRmWyAsIDJdKSkKIz8/PwojPz8/CmhlYWQoZGYubikKYGBgCgo8YnI+Cjxicj4KCiMjIyMgVGFzayA0OiBCdWlsZCBOZXVyYWxuZXQgRm9ybXVsYQpDb21wbGV0ZSB0aGUgZm9sbG93aW5nIGNvZGU8YnI+CmBgYHtyfQpwcmludChjb2xuYW1lcyhkZi5uKSkKZj0nRGlhYmV0aWN+Pz8/PycKYGBgCjxicj4KPGJyPgoKIyMjIyBUYXNrIDU6IFByZXBhcmUgVHJhaW5pbmcgYW5kIFRlc3RpbmcgRGF0YQpFeGVjdXRlIHRoZSBmb2xsb3dpbmcgY29kZTxicj4KYGBge3J9CnJvd3MgID0gc2FtcGxlKG5yb3coZGYubikpCmRmLm5zID0gZGYubltyb3dzLCBdCmRmLm5zLnRyYWluPWRmLm5zWzEgICA6NzAwICwgXQpkZi5ucy50ZXN0PWRmLm5zWzcwMDoxMDAwICwgXQpgYGAKCgo8YnI+Cjxicj4KCiMjIyMgVGFzayA2OiBCdWlsZC9QbG90IHRoZSBNb2RlbApFeGVjdXRlIHRoZSBmb2xsb3dpbmcgY29kZTxicj4KYGBge3J9CiNtb2RlbCA9IG5ldXJhbG5ldDo6bmV1cmFsbmV0KGYsIGRhdGEgPSBkZi5ucy50cmFpbiwgCiMgICAgICAgICAgICAgICAgICAgICAgICAgICBoaWRkZW4gPSBjKD8sPyksIGxpbmVhci5vdXRwdXQgPSBGQUxTRSkKYGBgCgoKYGBge3J9CnBsb3QobW9kZWwpCmBgYAoKCjxicj4KPGJyPgoKIyMjIyBUYXNrIDc6IEZpbmQgdGhlIEFjY3VyYWN5CmBgYHtyfQpkYXRhLmZyYW1lKHByZWRpY3Q9cm91bmQocHJlZGljdChtb2RlbCwgZGYubnMudGVzdCksMCkgLCBhY3R1YWw9ZGYubnMudGVzdCREaWFiZXRpYykKYGBgCgoKCmBgYHtyfQojdG90YWxfdGVzdGluZ19vYnMgPSA/Pz8KI2FjY3VyYWN5ID0gc3VtKHJvdW5kKHByZWRpY3QobW9kZWwsIGRmLm5zLnRlc3QpLDApID09IGRmLm5zLnRlc3QkRGlhYmV0aWMpLyB0b3RhbF90ZXN0aW5nX29icwpwcmludChhY2N1cmFjeSkKYGBgCgo=