机器学习模型的100%准确性

时间:2019-05-29 18:43:16

标签: python machine-learning

是否有可能获得100%的机器学习模型精度?

我使用的数据集是IRIS数据集,包含150行和4列。

from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=.20,random_state=42)
from sklearn.preprocessing import StandardScaler

scaler = StandardScaler()

X_train_scaled = scaler.fit_transform(X_train)
X_train = pd.DataFrame(X_train_scaled)

X_test_scaled = scaler.transform(X_test)
X_test = pd.DataFrame(X_test_scaled)

from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import GridSearchCV

knn =KNeighborsClassifier()
params = {'n_neighbors':[i for i in range(1,26)]}

model = GridSearchCV(knn,params,cv=10)
model.fit(X_train,y_train)
model.best_params_  

predict = model.predict(X_test)

from sklearn.metrics import accuracy_score,confusion_matrix
print('Accuracy Score: ',accuracy_score(y_test,predict))
print('Using k-NN we get an accuracy score of: ',
      round(accuracy_score(y_test,predict),5)*100,'%')

准确度得分:1.0 使用k-NN,我们的准确度得分为100.0%

1 个答案:

答案 0 :(得分:0)

您的模型似乎没有任何问题。拆分看起来很好,没有数据泄漏。

建立100%精确模型的原因主要是因为iris dataset是模型数据集。它干净(没有异常值和缺失值),平衡良好(每个类别有50个样本),并且紧凑小巧。

第二次KNN可以很好地拟合数据集,并且要素之间也具有相关性,而且您对拆分也很满意;)

增大测试尺寸,如果发现准确性下降,则表明模型是正确的...