Python机器学习
我试图预测我的服务器负载,但我得到了低于10%的准确率。我用线性回归来预测数据,有人能帮我吗 ps,csv文件包含日期和时间,因此我将两者转换为整数。不确定我是否做对了 这是我的密码: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
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)
- 主要的目标是预测正确的负荷,但现在我太离题了
我还建议您尝试一个简单的随机森林/xgboost模型,以检查它对线性回归模型的性能也许您的数据和标签之间根本没有线性关系?@ChristianKönig,嗯……我如何知道是否存在线性关系?还有什么可以检查的吗?嗯,这就是机器学习的全部意义,不是吗?查找数据中的连接。如果有一个简单的方法来检查,你为什么要做线性回归?@ChristianKönig,嗯……我现在明白了……谢谢!