模型训练不出分,显示y有问题,提示看不太懂
x=data[["ym","ProjectStatus","BidAmount","APR","Bidders","Sex","Age","Education","MaritalStatus","LoanNumbers","Income","hasHouse","houseLoan","hasCar","carLoan","WorkingHour","CompanySize"]]
y=data[["CreditRating"]]
x_train,x_test,y_train,y_test=train_test_split(x,y,random_state=22,test_size=0.2)
#实例化一个转换器,调用fit_transform方法
transfer=StandardScaler()
x_train=transfer.fit_transform(x_train)
x_test=transfer.fit_transform(x_test)
#实例化一个估计器
estimator=KNeighborsClassifier(n_neighbors=1)
#调用交叉验证网格搜索模型
param_grid={"n_neighbors":[1,3,5,7,9]}
estimator=GridSearchCV(estimator,param_grid=param_grid,cv=10,n_jobs=1)
#模型训练
estimator.fit(x_train,y_train)
#模型评估
#1、输出预测值
y_pre=estimator.predict(x_test)
print("预测值是:\n",y_pre)
print("预测值和真实值对比:\n",y_pre==y_test)
#2、输出准确率
ret=estimator.best_score_(x_test,y_test)
print("准确率是:\n",ret)
C:\Users\17877\anaconda3\lib\site-packages\sklearn\neighbors_classification.py:179: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().
return self._fit(X, y)