【机器学习】代码知识点汇总(特征函数,多项式模型拟合,训练数据和验证数据,正则化,超参数)

多项式回归

from sklearn.preprocessing import PolynomialFeatures
poly3 = PolynomialFeatures(degree = 3)
x_x2_and_x3 = poly3.fit_transform(arbitraary_data[['x']])

代码说明:指定计算所有指数不超过3的 degree =3,将数据转换为一个特征矩阵,

如果是具体的数据,.fit_transform() 内可以填写具体的数据,.shape()可以查看特征矩阵

用.get_feature_names([特征]) 查看特征名称

后续运行就用线性回归做预测

from sklearn.pipeline import Pipeline

pipeline_version_of_model = Pipeline([
    ('josh_transform',PolynomialFeatures(degree=3)),
    ('josh_regression',LinearRegression(fit_intercept = False)),
])
pipeline_version_of_model.fit(arbitrary_data[['x']],arbitrary_data['y'])

pipeline_version_of_model.named_steps['jsoh_regression'].coef_

两个步骤同时写(特征矩阵和回归),

six_vehicles = vehicle_data.sample(6)

从数据中随机选取6个数据

训练数据和验证数据

这网站可以了解更多方差的信息:
https://en.wikipedia.org/wiki/Bias-variance_tradeoff

把数据分为两块,训练数据用来训练模型,验证数据用来计算损失

from sklearn.utils import shuffle
diamond_data = shuffile(diamond_data)

代码说明:shuffile是将数据随机打乱

a,b,c = np.split(diamond_data,[1500,1800])

代码说明:np的分割,将数据分为三部分,1500之前,1500-1800,1800之后

正则化

a = linear_model.Ridge(alpha = 1)
a.fit(b,c[['price']])

代码说明:alpha:元参数,和模型复杂度有关联,alpha越大,参数越小

ss = StandardScaler()
ss.fit(a)
a_ss = ss.transform(a)
b_ss = linear_model.Ridge(alpha = 100)
b_ss.fit(b,c[['price']])

代码说明:对数据进行缩放

用Pipeline来写会简单一些

abc = Pipeline([
    ('scale',StandardScraler()),
    ('model',linear_model.Ridge(alpha=100))
])
abc.fit(b,c[['price']])

Lasso回归

abc = Pipeline([
    ('scale',StandardScraler()),
    ('poly',PolynomialFeatures(degree=3))
    ('model',linear_model.Lasso(alpha=80,fit_intercept = False))
])
abc.fit(b,c[['price']])
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值