1.模型的选择与调优
a. 交叉验证
目的: 使模型更加准确可靠
原理: 将训练集数据分成 训练集 + 验证集 : 依次更换验证集来验证模型的准确度
b. 超参数网格搜索
原理:预先设置几组参数, 制作出最优的模型
c. api:
from sklearn.model_selection import GridSearchCV
初始化:
参数
i. 估计器
ii.param_grid =
{
"超参数" : [预设的超参数值]
}
iii. cv 交叉验证
2. 特征抽取:
a. 根据值出现的次数抽取
i. api:
from sklearn.feature_extraction.text import CountVectorizer
方法:
fit: 制定转换标准
transform: 转换数据
fit_transform : fit + transform
get_feature_names: 查看特征抽取的值
toarray: 将sparse矩阵,转换为one-hot模式
ii. 抽取原理:
将词语作为特征, 统计词语出现的次数
iii. 中文文章的抽取
import jieba
jieba.cut()
b. tfidf 文章抽取
i. tfidf 定义:
tf: 词频
idf: 逆文档频率
tfidf = tf * idf
ii. api:
from sklearn.feature_extraction.text import TfidfVectorizer
方法:
fit: 制定转换标准
transform: 转换数据
fit_transform : fit + transform
get_feature_names: 查看特征抽取的值
toarray: 将sparse矩阵,转换为one-hot模式
3. 朴素贝叶斯算法
a. 概率论:
i. 联合概率: 两件事情同事发生的概率
p(a, b) = p(a) * p(b)
ii.条件概率:
p(a|b)
b.贝叶斯公式
p(科技|word1, word2... wordn)
||
p(w1,w2...wn|科技) * p(科技)
---------------------------
p(w1,w2....wn)
c. 拉普拉斯平滑系数
a = 1
条件概率: p = (F + a) / (FN + am)
d. api:
from sklearn.naive_bayes import MultinomialNB
估计器的方法:
fit
predict
score
4. 线性回归算法原理:
a. 定义:
自变量(特征值) 与 因变量(目标值) 建立的 函数关系
b. 通式
h(w) = w1x1 + w2x2 + w3x3 +....+ wnxn + b
c. 求解方式:
i. 正规方法:
1). 直接计算得到损失最低的点
2). api:
from sklearn.linear_model import LinearRegression
ii. 梯度下降
1). 根据学习率与学习方向,一步一步,找到最低的点
c. 损失计算:
平方差损失:
------------------------
√ (y_true - y_predict) ^2
api:
from sklearn.metrics import mean_squared_error
mean_squared_error(y_ture, y_predict)