Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python机器学习_Python_Scikit Learn - Fatal编程技术网

Python机器学习

Python机器学习,python,scikit-learn,Python,Scikit Learn,我试图预测我的服务器负载,但我得到了低于10%的准确率。我用线性回归来预测数据,有人能帮我吗 ps,csv文件包含日期和时间,因此我将两者转换为整数。不确定我是否做对了 这是我的密码: import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import mpl_toolkits import imp from sklearn.preprocessing import

我试图预测我的服务器负载,但我得到了低于10%的准确率。我用线性回归来预测数据,有人能帮我吗

ps,csv文件包含日期和时间,因此我将两者转换为整数。不确定我是否做对了

这是我的密码:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import mpl_toolkits
import imp
from sklearn.preprocessing import LabelEncoder
from sklearn import preprocessing

data = pd.read_csv(".....\\Machine_Learning_Serious\\Server_Prediction\\testing_server.csv")
describe = data.describe()

data_cleanup = {"Timestamp":{'AM': 0, 'PM': 1},
    "Function":{'ccpl_db01': 0, 'ccpl_fin01': 1, 'ccpl_web01': 2},
    "Type": {'% Disk Time': 0, 'CPU Load': 1, 'DiskFree%_C:': 2, 'DiskFree%_D:': 3, 'DiskFree%_E:': 4, 'FreeMemory': 5, 'IIS Current Connections': 6, 'Processor Queue Length': 7, 'SQL_Buffer cache hit ratio': 8, 'SQL_User Connections': 9}}
data.replace(data_cleanup,inplace = True)
final_data = data.head()
#print(final_data)

from sklearn.linear_model import LinearRegression
reg = LinearRegression()
labels = data['Data']
train1 = data.drop(['Data'], axis = 1)

from sklearn.model_selection import train_test_split
from sklearn import ensemble
x_train , x_test , y_train , y_test = train_test_split(train1, labels, test_size = 0.25, random_state = 2)
#clf = ensemble.GradientBoostingRegressor(n_estimators= 400 , max_depth = 5,min_samples_split = 2, learning_rate = 0.1,loss='ls')
fitting = reg.fit(x_train,y_train)
score = reg.score(x_test,y_test)
  • 主要的目标是预测正确的负荷,但现在我太离题了

也许先做一些探索性的数据分析,看看是否能找出目标变量和功能之间的模式

也可以从日期/时间变量中提取一些特征,而不是将它们用作整数(如工作日、季节等)

您还可以尝试转换您的功能(日志、sqrt),以查看分数是否有所提高


我还建议您尝试一个简单的随机森林/xgboost模型,以检查它对线性回归模型的性能

也许您的数据和标签之间根本没有线性关系?@ChristianKönig,嗯……我如何知道是否存在线性关系?还有什么可以检查的吗?嗯,这就是机器学习的全部意义,不是吗?查找数据中的连接。如果有一个简单的方法来检查,你为什么要做线性回归?@ChristianKönig,嗯……我现在明白了……谢谢!