sklearn笔记14 str类型的数据转换与训练预测

完整代码 sklearn代码9 7-KNN-salay

获取数据

data = pd.read_csv('./salary.txt')

data.head()

在这里插入图片描述

data.columns   #获取数据的列名

在这里插入图片描述

data.drop(labels=['final_weight','education','capital_gain','capital_loss'],
         axis=1,
         inplace = True)   #取消一些不必要的数据
data.shape
data.head()

在这里插入图片描述

X = data.iloc[:,0:-1]

y = data['salary']   ##将salary单独划分
# 方法将数据中str转换成int float从而方便计算
# map方法,apply transfrom
u = X['workclass'].unique()  ##所有职业属性都被取出
u

在这里插入图片描述

np.argwhere(u == 'Local-gov')[0,0]   #取出索引
def convert(x):
    return np.argwhere(u == x)[0,0]
X['workclass'] = X['workclass'].map(convert)
X.head()

在这里插入图片描述

cols = ['marital_status', 'occupation', 'relationship', 'race', 'sex', 'native_country']

for col in cols:
    u = X[col].unique()
    
    def convert(x):
        return np.argwhere(u == x)[0,0]
    X[col] = X[col].map(convert)
X.head()

在这里插入图片描述

knn = KNeighborsClassifier()

kFold = KFold(10)

for train,test in kFold.split(X,y):
    print(train.shape,test.shape)

knn.fit()

在这里插入图片描述

准确率较低 影响因素较多

knn = KNeighborsClassifier()

kFold = KFold(10)

knn = KNeighborsClassifier()

accuracy = 0

for train,test in kFold.split(X,y):
    knn.fit(X.loc[train],y[train])
    acc = knn.score(X.loc[test],y[test])
    accuracy  += acc/10
print(accuracy)

在这里插入图片描述
作业:
#从preprocessing 数据预处理中找一找有没有其他方法将str—int,float类型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值