# ML HW 2
![](https://hackmd.io/_uploads/Skkd62UGp.png)
![](https://hackmd.io/_uploads/Hk8dTnIfp.png)
![](https://hackmd.io/_uploads/r1iu62IM6.png)
![](https://hackmd.io/_uploads/S1gtphLza.png)
![](https://hackmd.io/_uploads/ByHKThUf6.png)
![](https://hackmd.io/_uploads/Sk9KphUfT.png)
#### 4
```python
import os
import sys
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
from sklearn.metrics import classification_report, confusion_matrix
def read_csv():
df = pd.read_csv('IRIS.csv')
return df
def train_test(df):
'''
Part a : Train test split 7 : 3
'''
X = df[['sepal_length','sepal_width', 'petal_length', 'petal_width']].values
Y = df['species'].values
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size = 0.3)
return X_train, X_test, y_train, y_test
def train_model(X_train, y_train):
'''
Part b : Train model
'''
model = SVC(gamma='auto').fit(X_train,y_train)
return model
def predict(model, X_test, y_test):
'''
Part c : Predict and Results
'''
pred = model.predict(X_test)
confusion_result = confusion_matrix(y_test,pred)
classifcation_result = classification_report(y_test,pred)
return pred, confusion_result, classifcation_result
def main():
df = read_csv()
X_train, X_test, y_train, y_test = train_test(df)
model = train_model(X_train, y_train)
pred, confusion_result, classifcation_result = predict(model, X_test, y_test)
print(">>>>>>>>>>>>>>>> Confusion Matrix : <<<<<<<<<<<\n", confusion_result)
print(">>>>>>>>>>>>>>>> Classification Report:<<<<<<<<<\n", classifcation_result)
if __name__ == '__main__':
main()
```
![](https://hackmd.io/_uploads/By1CanLza.png)