机器学习入门训练1-简单的数据构造

1.样本中对3、5、15分别取余,找出其倍数。

def func(max):
    res = []
    for i in range(1, max):
        if i % 15 == 0:
            res.append('fizzbuzz')
        elif i % 3 == 0:
            res.append('fizz')
        elif i % 5 == 0:
            res.append('buzz')
        else:
            res.append(str(i))
    print(' '.join(res))
func(max=100)

2.问题变为,机器怎么去发现这些是3、5倍数的数字的特征。

3.机器学习第一步:对数据进行训练集和测试集的划分

train_data = []
for i in range(1, 101):
    train_data.append([i]) 

test_data = []
for i in range(101, 301):
    test_data.append([i]) 

4.机器学习第二步:标注数据

def data_labeling(number):
    if number % 3 == 0 and number % 5 == 0:
       return 0
    elif number % 3 == 0:
       return 1
    elif number % 5 == 0:
       return 2
    else:
       return 3

5.机器学习第三步:特征提取

def feature_extract(number):
    feature_array = []
    if number % 3 == 0:
        feature_array.append(1)
    else:
        feature_array.append(0)

    if number % 5 == 0:
            feature_array.append(1)
    else:
        feature_array.append(0)
    return feature_array

6.机器学习第四步:构造、训练并应用模型

for _n_neighbors in [5]:
    model = KNeighborsClassifier(n_neighbors=_n_neighbors) 
    model.fit(train_data, train_label) 
    print('knn k {} train score: {}'.format(_n_neighbors, model.score(train_data, train_label)))
    prediction = model.predict(test_data)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值