一、机器学习训练的要素
数据、转换数据的模型、衡量模型好坏的损失函数、调整模型权重以便最小化损失函数的算法
二、机器学习的组成部分
1、按照学习结果分类
预测、聚类、分类、降维
2、按照学习方法分类
监督学习,无监督学习,半监督学习,增强学习
补充:特征提取(BOW TFIDF Ngram)
三、实战中文垃圾文件分类
1、数据提取
def get_data():
'''
获取数据,数据的载入
:return: 文本数据,对应的labels
'''
with open("data/ham_data.txt", encoding="utf8") as ham_f, open("data/spam_data.txt", encoding="utf8") as spam_f:
ham_data = ham_f.readlines()
spam_data = spam_f.readlines()
ham_label = np.ones(len(ham_data)).tolist()
spam_label = np.zeros(len(spam_data)).tolist()
corpus = ham_data + spam_data
labels = ham_label + spam_label
return corpus, labels
def prepare_datasets(corpus, labels, test_data_proportion=0.3):
'''
将数据分为训练集和测试集
:param corpus: 文本数据
:param labels: label数据
:param test_data_proportion:测试数据占比
:return: 训练数据,测试数据,训练label,测试label
'''
train_X, test_X, train_Y, test_Y = train_test_split(corpus, labels,
test_size=test_data_proportion, random_state=42)
return train_X, test_X, train_Y, test_Y
2、对数据进行规整化和预处理
import re
import string
import jieba