|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- # predict y value using model
- try:
- y_pred=pd.Series(model.predict(X),index=y.index) #这里try里面和except里面的代码不懂是什么意思,,index=y.index是什么意思,为什么在except里面加上model.fit(X,y)
- except:
- model.fit(X,y)
- y_pred=pd.Series(model.predict(X),index=y.index)
- reside=y-y_pred
- mean_reside=reside.mean()
- std_reside=reside.std()
- z=(reside-mean_reside)/std_reside
- outliers=z[abs(z)>sigma].index #设置异常数据的条件
-
- print('R2=',model.score(X,y))
- print('mse=',mean_squared_error(y,y_pred))
- print('----------------------------------')
- print(len(outliers),'outliers')
- print(outliers.tolist)
- plt.figure(figsize=(15,5))
- ax_131=plt.subplot(1,3,1)
- plt.plot(y,y_pred,'.')
- plt.plot(y.loc[outliers],y_pred.loc[outliers],'ro')
-
- plt.legend(['Accepted','Outlier'])
- plt.xlabel('y')
- plt.ylabel('y_pred');
- plt.show() ###################代码运行结果(如图),是因为这里的区别,不加这一句就是正常结果,但是想不明白加了为什么会是图片所示的那样紫
- ax_132=plt.subplot(1,3,2)
- plt.plot(y,y-y_pred,'.')
- plt.plot(y.loc[outliers],y.loc[outliers]-y_pred.loc[outliers],'ro')
- plt.legend(['Accepled','Outlier'])
- plt.xlabel('y')
- plt.ylabel('y-y_pred')
-
- ax_133=plt.subplot(1,3,3)
- z.plot.hist(bins=50,ax=ax_133)
- z.loc[outliers].plot.hist(color='r',bins=50,ax=ax_133) #ax=ax_133是什么意思,并没有在hist函数中找到ax参数
- plt.legend(['Accepted','Outlier'])
- plt.xlabel('z')
-
- plt.savefig('outliers.png')
- return outliers
- from sklearn.linear_model import Ridge
- from sklearn.metrics import mean_squared_error
- X_train=train_data.iloc[:,0:-1] #不明白这句代码的意思
- y_train=train_data.iloc[:,-1]
- outliers=find_outliers(Ridge(),X_train,y_train)
复制代码 |
-
代码有plt.show()
-
代码没有plt.show()
|