fork download
  1. # your code goes here
  2. import numpy as np
  3. import pandas as pd
  4. import matplotlib.pyplot as plt
  5. from scipy.stats import zscore
  6. from sklearn.neighbors import KNeighborsClassifier as knclassifier
  7. %matplotlib inline
  8. datalabel = ['Sepal length', 'Sepal width', 'Petal length', 'Petal width', 'Class']
  9. df = pd.read_csv(r"C:\Users\bit.LAB4-23\Downloads\iris.data", delimiter=",", header=None)
  10. df.columns = datalabel
  11. numeric_cols = df.select_dtypes(include=[np.number]).columns
  12. df_norm = df[numeric_cols].apply(zscore)
  13. df_norm['Class'] = df['Class']
  14. trainset = df_norm.sample(frac=0.75, random_state=83)
  15. testset = df_norm.drop(trainset.index)
  16.  
  17. accuracy = []
  18. def classify(n=3):
  19. knn = knclassifier(n_neighbors=n)
  20. knn.fit(trainset[numeric_cols], trainset['Class'])
  21. predictions = knn.predict(testset[numeric_cols])
  22. acc = knn.score(testset[numeric_cols], testset['Class'])
  23. accuracy.append(acc)
  24.  
  25. for x in range(3,21,2):
  26. classify(x)
  27. print(accuracy)
  28. plt.plot(accuracy)
Runtime error #stdin #stdout #stderr 0.12s 92224KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
Traceback (most recent call last):
  File "./prog.py", line 3, in <module>
ImportError: No module named 'pandas'