python机器学习的范式流程详细代码(以随机森林为例)

各位朋友大家好,今天开始和大家一起学习python机器学习,初学的老师在数据科学领域往往会问学习R语言好,还是python好这个经久不衰的问题。我的建议是R语言的优点是它的灵活性和代码的简洁性,但正是由于上面的优点使得它的代码可读性不高。而python则是公认的胶水语言,虽然也很简洁灵活,但是从代码的书写量来讲相对于R语言来讲是多的,但它的易懂性是R无法匹敌的,以上这些特点就决定了两者相辅相成的结论。做统计,做机器学习倾向于R语言,而做深度学习则倾向于python。当然两者在做数据清洗时是不相上下的,R有成熟的tidyverse,python有成熟的pandas。今天我们就从传统机器学习开始给大家用Python跑跑数据,希望能多和CSDN的老师交流。

首先把传统机器学习的流程给大家,今天我们用Kaggle的Glod Price数据集来作为演示,数据集的下载链接如下:https://www.kaggle.com/altruistdelhite04/gold-price-data

 #首先载入编程所需要的库

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestRegressor
from sklearn import metrics
import os

#载入数据
os.chdir(r"G:\Pythoncode")
gold_data = pd.read_csv('gld_price_data.csv')

#我们查看一下前5行数据
gold_data.head()

 #我们看一下数据里面有没有空值
gold_data.isnull().sum()

#我们进行特征变量和预测变量的划分
X = gold_data.drop(['Date','GLD'],axis=1)
Y = gold_data['GLD']
#我们把除了Date和GLD列以外的列均作为特征变量,将GLD作为预测变量

#下面是划分训练接和测试集
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size = 0.2, random_state=2)

#我们调入随机森林模型对象
regressor = RandomForestRegressor(n_estimators=100)

#拟合训练集
regressor.fit(X_train,Y_train)

#模型拟合好以后,我们利用测试集进行评估
test_data_prediction = regressor.predict(X_test)

#计算模型评估指标,我们这里计算的是R方
error_score = metrics.r2_score(Y_test, test_data_prediction)
print("R squared error : ", error_score)

#最后我们比较一下真实值和预测值
#现将Y_test转换成为列表
Y_test = list(Y_test)
#我们进行可视化
#画真实值
plt.plot(Y_test, color='blue', label = 'Actual Value')
#画预测值
plt.plot(test_data_prediction, color='green', label='Predicted Value')
#设置图片的名称
plt.title('Actual Price vs Predicted Price')
#x轴的名称
plt.xlabel('Number of values')
#y轴的名称
plt.ylabel('GLD Price')
plt.legend()
plt.show()

这就是python做传统机器学习的整个流程,希望大家多多支持,共同学习! 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞时过

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值