是否有可能获得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%
答案 0 :(得分:0)
您的模型似乎没有任何问题。拆分看起来很好,没有数据泄漏。
建立100%
精确模型的原因主要是因为iris dataset
是模型数据集。它干净(没有异常值和缺失值),平衡良好(每个类别有50个样本),并且紧凑小巧。
第二次KNN
可以很好地拟合数据集,并且要素之间也具有相关性,而且您对拆分也很满意;)
增大测试尺寸,如果发现准确性下降,则表明模型是正确的...