马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
从百度CV的代码呈现出的使连续型数据,怎么呈现出离散型的啊
代码:
```python
target=train['price']
sortindex = train[['bodyType','fuelType','gearbox']].isnull().sum().sort_values().index
sortindex = list(sortindex)
sortindex
for i in sortindex:
#构建新特征和新标签
df = train
fillc = df.loc[:,i][]()
df = pd.concat([df.loc[:,df.columns != i],target],axis=1)
# target 标签
#在新特征中,对有缺失值的列,用0填补 df_0:数组类型
df_0 =SimpleImputer(missing_values=np.nan,strategy='constant',fill_value=0).fit_transform(df)
# 找出训练集和测试集
# 找出当列非空的值
Ytrain = fillc[fillc.notnull()]
# 找出当列空的值
Ytest = fillc[fillc.isnull()]
# 根据非空值找出一整行数组
Xtrain = df_0[Ytrain.index,:]
# 根据空值找出一整行数组
Xtest = df_0[Ytest.index,:]
#⽤随机森林回归来训练预测
rfc = RandomForestRegressor(n_estimators=50) #n_estimators弱学习器的最大迭代次数
rfc = rfc.fit(Xtrain, Ytrain)
Ypredict = rfc.predict(Xtest)
#将填补好的特征返回到我们的原始的特征中
train.loc[train.loc[:,i].isnull(),i] = Ypredict[]([]([]()))
```
结果:train['fuelType'].unique()
array([0. , 1. , 1.26, 0.4 , 2. , 3. , 0.04, 0.76, 0.16, 0.22, 0.08,
0.06, 0.94, 0.56, 0.2 , 0.38, 0.3 , 0.5 , 0.9 , 0.7 , 0.98, 0.84,
0.86, 0.02, 0.6 , 0.48, 0.14, 0.78, 0.36, 0.74, 0.28, 1.08, 0.42,
0.24, 0.32, 0.52, 0.8 , 0.88, 0.12, 0.18, 0.26, 0.92, 0.96, 0.46,
0.34, 0.1 , 0.64, 0.54, 4. , 0.44, 1.06, 0.58, 1.02, 5. , 1.8 ,
1.28, 0.66, 0.62, 0.82, 0.68, 1.36, 1.32, 1.38, 1.14, 1.48, 6. ,
0.72, 1.24, 1.1 , 1.6 , 1.68, 1.16, 1.12, 3.02, 1.42, 1.3 , 1.4 ,
1.7 , 2.26, 1.72, 1.04, 1.22, 1.86, 1.2 , 2.12, 1.96, 1.74, 1.5 ,
2.74, 2.28, 1.64, 1.62, 1.18, 2.32])
想要的结果:bodyType是0-7的离散型,fuelType是0-6的离散型数据,gearbox是0/1的离散型数据
感谢感谢
如果需要数据可以加我qq:1394292124
麻烦老哥们了 |