<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 如何開發和評估樸素的家庭用電量預測方法 > 原文: [https://machinelearningmastery.com/naive-methods-for-forecasting-household-electricity-consumption/](https://machinelearningmastery.com/naive-methods-for-forecasting-household-electricity-consumption/) 鑒于智能電表的興起以及太陽能電池板等發電技術的廣泛采用,可提供大量的用電數據。 該數據代表了多變量時間序列的功率相關變量,而這些變量又可用于建模甚至預測未來的電力消耗。 在本教程中,您將了解如何為“家庭功耗”數據集開發測試工具,并評估三種樸素的預測策略,為更復雜的算法提供基線。 完成本教程后,您將了解: * 如何加載,準備和下采樣家庭功耗數據集,為開發模型做好準備。 * 如何為強大的測試工具開發度量標準,數據集拆分和前進驗證元素,以評估預測模型。 * 如何開發,評估和比較一套樸素的持久性預測方法的表現。 讓我們開始吧。 ![How to Develop and Evaluate Naive Forecast Methods for Forecasting Household Electricity Consumption](https://img.kancloud.cn/f2/92/f292f485703d79e1ef8c23b7b7e151fb_640x429.jpg) 如何制定和評估用于預測家庭用電量的樸素預測方法 照片來自 [Philippe Put](https://www.flickr.com/photos/34547181@N00/5603088218/) ,保留一些權利。 ## 教程概述 本教程分為四個部分;他們是: 1. 問題描述 2. 加載并準備數據集 3. 模型評估 4. 樸素的預測模型 ## 問題描述 '[家庭用電量](https://archive.ics.uci.edu/ml/datasets/individual+household+electric+power+consumption)'數據集是一個多變量時間序列數據集,描述了四年內單個家庭的用電量。 該數據是在 2006 年 12 月至 2010 年 11 月之間收集的,并且每分鐘收集家庭內的能耗觀察結果。 它是一個多變量系列,由七個變量組成(除日期和時間外);他們是: * **global_active_power** :家庭消耗的總有功功率(千瓦)。 * **global_reactive_power** :家庭消耗的總無功功率(千瓦)。 * **電壓**:平均電壓(伏特)。 * **global_intensity** :平均電流強度(安培)。 * **sub_metering_1** :廚房的有功電能(瓦特小時的有功電能)。 * **sub_metering_2** :用于洗衣的有功能量(瓦特小時的有功電能)。 * **sub_metering_3** :氣候控制系統的有功電能(瓦特小時的有功電能)。 有功和無功電能參考[交流電](https://en.wikipedia.org/wiki/AC_power)的技術細節。 可以通過從總活動能量中減去三個定義的子計量變量的總和來創建第四個子計量變量,如下所示: ```py sub_metering_remainder = (global_active_power * 1000 / 60) - (sub_metering_1 + sub_metering_2 + sub_metering_3) ``` ## 加載并準備數據集 數據集可以從 UCI 機器學習庫下載為單個 20 兆字節的.zip 文件: * [household_power_consumption.zip](https://archive.ics.uci.edu/ml/machine-learning-databases/00235/household_power_consumption.zip) 下載數據集并將其解壓縮到當前工作目錄中。您現在將擁有大約 127 兆字節的文件“ _household_power_consumption.txt_ ”并包含所有觀察結果。 我們可以使用 _read_csv()_ 函數來加載數據,并將前兩列合并到一個日期時間列中,我們可以將其用作索引。 ```py # load all data dataset = read_csv('household_power_consumption.txt', sep=';', header=0, low_memory=False, infer_datetime_format=True, parse_dates={'datetime':[0,1]}, index_col=['datetime']) ``` 接下來,我們可以用'_ 標記所有[缺失值](https://machinelearningmastery.com/handle-missing-timesteps-sequence-prediction-problems-python/)?_ '具有 _NaN_ 值的字符,這是一個浮點數。 這將允許我們將數據作為一個浮點值數組而不是混合類型(效率較低)。 ```py # mark all missing values dataset.replace('?', nan, inplace=True) # make dataset numeric dataset = dataset.astype('float32') ``` 我們還需要填寫缺失值,因為它們已被標記。 一種非常簡單的方法是從前一天的同一時間復制觀察。我們可以在一個名為 _fill_missing()_ 的函數中實現它,該函數將從 24 小時前獲取數據的 NumPy 數組并復制值。 ```py # fill missing values with a value at the same time one day ago def fill_missing(values): one_day = 60 * 24 for row in range(values.shape[0]): for col in range(values.shape[1]): if isnan(values[row, col]): values[row, col] = values[row - one_day, col] ``` 我們可以將此函數直接應用于 DataFrame 中的數據。 ```py # fill missing fill_missing(dataset.values) ``` 現在,我們可以使用上一節中的計算創建一個包含剩余子計量的新列。 ```py # add a column for for the remainder of sub metering values = dataset.values dataset['sub_metering_4'] = (values[:,0] * 1000 / 60) - (values[:,4] + values[:,5] + values[:,6]) ``` 我們現在可以將清理后的數據集版本保存到新文件中;在這種情況下,我們只需將文件擴展名更改為.csv,并將數據集保存為“ _household_power_consumption.csv_ ”。 ```py # save updated dataset dataset.to_csv('household_power_consumption.csv') ``` 將所有這些結合在一起,下面列出了加載,清理和保存數據集的完整示例。 ```py # load and clean-up data from numpy import nan from numpy import isnan from pandas import read_csv from pandas import to_numeric # fill missing values with a value at the same time one day ago def fill_missing(values): one_day = 60 * 24 for row in range(values.shape[0]): for col in range(values.shape[1]): if isnan(values[row, col]): values[row, col] = values[row - one_day, col] # load all data dataset = read_csv('household_power_consumption.txt', sep=';', header=0, low_memory=False, infer_datetime_format=True, parse_dates={'datetime':[0,1]}, index_col=['datetime']) # mark all missing values dataset.replace('?', nan, inplace=True) # make dataset numeric dataset = dataset.astype('float32') # fill missing fill_missing(dataset.values) # add a column for for the remainder of sub metering values = dataset.values dataset['sub_metering_4'] = (values[:,0] * 1000 / 60) - (values[:,4] + values[:,5] + values[:,6]) # save updated dataset dataset.to_csv('household_power_consumption.csv') ``` 運行該示例將創建新文件' _household_power_consumption.csv_ ',我們可以將其用作建模項目的起點。 ## 模型評估 在本節中,我們將考慮如何開發和評估家庭電力數據集的預測模型。 本節分為四個部分;他們是: 1. 問題框架 2. 評估指標 3. 訓練和測試集 4. 前瞻性驗證 ### 問題框架 有許多方法可以利用和探索家庭用電量數據集。 在本教程中,我們將使用這些數據來探索一個非常具體的問題;那是: > 鑒于最近的耗電量,未來一周的預期耗電量是多少? 這要求預測模型預測未來七天每天的總有功功率。 從技術上講,考慮到多個預測步驟,這個問題的框架被稱為多步驟時間序列預測問題。利用多個輸入變量的模型可以稱為多變量多步時間序列預測模型。 這種類型的模型在規劃支出方面可能有助于家庭。在供應方面,它也可能有助于規劃特定家庭的電力需求。 數據集的這種框架還表明,將每分鐘功耗的觀察結果下采樣到每日總數是有用的。這不是必需的,但考慮到我們對每天的總功率感興趣,這是有道理的。 我們可以使用 pandas DataFrame 上的 [resample()函數](https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.resample.html)輕松實現這一點。使用參數' _D_ '調用此函數允許按日期時間索引的加載數據按天分組([查看所有偏移別名](http://pandas.pydata.org/pandas-docs/stable/timeseries.html#offset-aliases))。然后,我們可以計算每天所有觀測值的總和,并為八個變量中的每一個創建每日耗電量數據的新數據集。 下面列出了完整的示例。 ```py # resample minute data to total for each day from pandas import read_csv # load the new file dataset = read_csv('household_power_consumption.csv', header=0, infer_datetime_format=True, parse_dates=['datetime'], index_col=['datetime']) # resample data to daily daily_groups = dataset.resample('D') daily_data = daily_groups.sum() # summarize print(daily_data.shape) print(daily_data.head()) # save daily_data.to_csv('household_power_consumption_days.csv') ``` 運行該示例將創建一個新的每日總功耗數據集,并將結果保存到名為“ _household_power_consumption_days.csv_ ”的單獨文件中。 我們可以將其用作數據集,用于擬合和評估所選問題框架的預測模型。 ### 評估指標 預測將包含七個值,一個用于一周中的每一天。 多步預測問題通常分別評估每個預測時間步長。這有助于以下幾個原因: * 在特定提前期評論技能(例如+1 天 vs +3 天)。 * 在不同的交付時間基于他們的技能對比模型(例如,在+1 天的模型和在日期+5 的模型良好的模型)。 總功率的單位是千瓦,并且具有也在相同單位的誤差度量將是有用的。均方根誤差(RMSE)和平均絕對誤差(MAE)都符合這個要求,盡管 RMSE 更常用,將在本教程中采用。與 MAE 不同,RMSE 更能預測預測誤差。 此問題的表現指標是從第 1 天到第 7 天的每個提前期的 RMSE。 作為捷徑,使用單個分數總結模型的表現以幫助模型選擇可能是有用的。 可以使用的一個可能的分數是所有預測天數的 RMSE。 下面的函數 _evaluate_forecasts()_ 將實現此行為并基于多個七天預測返回模型的表現。 ```py # evaluate one or more weekly forecasts against expected values def evaluate_forecasts(actual, predicted): scores = list() # calculate an RMSE score for each day for i in range(actual.shape[1]): # calculate mse mse = mean_squared_error(actual[:, i], predicted[:, i]) # calculate rmse rmse = sqrt(mse) # store scores.append(rmse) # calculate overall RMSE s = 0 for row in range(actual.shape[0]): for col in range(actual.shape[1]): s += (actual[row, col] - predicted[row, col])**2 score = sqrt(s / (actual.shape[0] * actual.shape[1])) return score, scores ``` 運行該函數將首先返回整個 RMSE,無論白天,然后每天返回一系列 RMSE 分數。 ### 訓練和測試集 我們將使用前三年的數據來訓練預測模型和評估模型的最后一年。 給定數據集中的數據將分為標準周。這些是從周日開始到周六結束的周。 這是使用所選模型框架的現實且有用的方法,其中可以預測未來一周的功耗。它也有助于建模,其中模型可用于預測特定日期(例如星期三)或整個序列。 我們將數據拆分為標準周,從測試數據集向后工作。 數據的最后一年是 2010 年,2010 年的第一個星期日是 1 月 3 日。數據于 2010 年 11 月中旬結束,數據中最接近的最后一個星期六是 11 月 20 日。這給出了 46 周的測試數據。 下面提供了測試數據集的每日數據的第一行和最后一行以供確認。 ```py 2010-01-03,2083.4539999999984,191.61000000000055,350992.12000000034,8703.600000000033,3842.0,4920.0,10074.0,15888.233355799992 ... 2010-11-20,2197.006000000004,153.76800000000028,346475.9999999998,9320.20000000002,4367.0,2947.0,11433.0,17869.76663959999 ``` 每日數據從 2006 年底開始。 數據集中的第一個星期日是 12 月 17 日,這是第二行數據。 將數據組織到標準周內為訓練預測模型提供了 159 個完整的標準周。 ```py 2006-12-17,3390.46,226.0059999999994,345725.32000000024,14398.59999999998,2033.0,4187.0,13341.0,36946.66673200004 ... 2010-01-02,1309.2679999999998,199.54600000000016,352332.8399999997,5489.7999999999865,801.0,298.0,6425.0,14297.133406600002 ``` 下面的函數 _split_dataset()_ 將每日數據拆分為訓練集和測試集,并將每個數據組織成標準周。 使用特定行偏移來使用數據集的知識來分割數據。然后使用 NumPy [split()函數](https://docs.scipy.org/doc/numpy/reference/generated/numpy.split.html)將分割數據集組織成每周數據。 ```py # split a univariate dataset into train/test sets def split_dataset(data): # split into standard weeks train, test = data[1:-328], data[-328:-6] # restructure into windows of weekly data train = array(split(train, len(train)/7)) test = array(split(test, len(test)/7)) return train, test ``` 我們可以通過加載每日數據集并打印訓練和測試集的第一行和最后一行數據來測試此功能,以確認它們符合上述預期。 完整的代碼示例如下所示。 ```py # split into standard weeks from numpy import split from numpy import array from pandas import read_csv # split a univariate dataset into train/test sets def split_dataset(data): # split into standard weeks train, test = data[1:-328], data[-328:-6] # restructure into windows of weekly data train = array(split(train, len(train)/7)) test = array(split(test, len(test)/7)) return train, test # load the new file dataset = read_csv('household_power_consumption_days.csv', header=0, infer_datetime_format=True, parse_dates=['datetime'], index_col=['datetime']) train, test = split_dataset(dataset.values) # validate train data print(train.shape) print(train[0, 0, 0], train[-1, -1, 0]) # validate test print(test.shape) print(test[0, 0, 0], test[-1, -1, 0]) ``` 運行該示例表明,訓練數據集確實有 159 周的數據,而測試數據集有 46 周。 我們可以看到,第一行和最后一行的訓練和測試數據集的總有效功率與我們定義為每組標準周界限的特定日期的數據相匹配。 ```py (159, 7, 8) 3390.46 1309.2679999999998 (46, 7, 8) 2083.4539999999984 2197.006000000004 ``` ### 前瞻性驗證 將使用稱為[前進驗證](https://machinelearningmastery.com/backtest-machine-learning-models-time-series-forecasting/)的方案評估模型。 這是需要模型進行一周預測的地方,然后該模型的實際數據可用于模型,以便它可以用作在隨后一周進行預測的基礎。這對于如何在實踐中使用模型以及對模型有益而使其能夠利用最佳可用數據都是現實的。 我們可以通過分離輸入數據和輸出/預測數據來證明這一點。 ```py Input, Predict [Week1] Week2 [Week1 + Week2] Week3 [Week1 + Week2 + Week3] Week4 ... ``` 評估此數據集上的預測模型的前瞻性驗證方法在下面實現,命名為 _evaluate_model()_。 為模型提供函數的名稱作為參數“ _model_func_ ”。該功能負責定義模型,使模型適合訓練數據,并進行一周的預測。 然后使用先前定義的 _evaluate_forecasts()_ 函數,針對測試數據集評估模型所做的預測。 ```py # evaluate a single model def evaluate_model(model_func, train, test): # history is a list of weekly data history = [x for x in train] # walk-forward validation over each week predictions = list() for i in range(len(test)): # predict the week yhat_sequence = model_func(history) # store the predictions predictions.append(yhat_sequence) # get real observation and add to history for predicting the next week history.append(test[i, :]) predictions = array(predictions) # evaluate predictions days for each week score, scores = evaluate_forecasts(test[:, :, 0], predictions) return score, scores ``` 一旦我們對模型進行評估,我們就可以總結表現。 以下名為 _summarize_scores()_ 的函數將模型的表現顯示為單行,以便與其他模型進行比較。 ```py # summarize scores def summarize_scores(name, score, scores): s_scores = ', '.join(['%.1f' % s for s in scores]) print('%s: [%.3f] %s' % (name, score, s_scores)) ``` 我們現在已經開始評估數據集上的預測模型的所有元素。 ## 樸素的預測模型 在任何新的預測問題上測試樸素的預測模型是很重要的。 來自[幼稚模型](https://machinelearningmastery.com/persistence-time-series-forecasting-with-python/)的結果提供了預測問題有多困難的定量概念,并提供了可以評估更復雜的預測方法的基準表現。 在本節中,我們將開發和比較三種用于家庭功率預測問題的樸素預測方法;他們是: * 每日持續性預測。 * 每周持續預測。 * 每周一年的持續預測。 ### 每日持續性預測 我們將開發的第一個樸素的預測是每日持久性模型。 該模型從預測期間(例如星期六)之前的最后一天獲取有效功率,并將其用作預測期間(星期日至星期六)中每天的功率值。 下面的 _daily_persistence()_ 函數實現了每日持久性預測策略。 ```py # daily persistence model def daily_persistence(history): # get the data for the prior week last_week = history[-1] # get the total active power for the last day value = last_week[-1, 0] # prepare 7 day forecast forecast = [value for _ in range(7)] return forecast ``` ### 每周持續預測 預測標準周時的另一個好的樸素預測是使用整個前一周作為未來一周的預測。 這是基于下周將與本周非常相似的想法。 下面的 _weekly_persistence()_ 函數實現了每周持久性預測策略。 ```py # weekly persistence model def weekly_persistence(history): # get the data for the prior week last_week = history[-1] return last_week[:, 0] ``` ### 每周一年的持續預測 類似于上周用于預測下周的想法是使用去年同一周預測下周的想法。 也就是說,使用 52 周前的觀察周作為預測,基于下周將與一年前的同一周相似的想法。 下面的 _week_one_year_ago_persistence()_ 函數實現了一年前的預測策略。 ```py # week one year ago persistence model def week_one_year_ago_persistence(history): # get the data for the prior week last_week = history[-52] return last_week[:, 0] ``` ### 樸素的模型比較 我們可以使用上一節中開發的測試工具來比較每個預測策略。 首先,可以加載數據集并將其拆分為訓練集和測試集。 ```py # load the new file dataset = read_csv('household_power_consumption_days.csv', header=0, infer_datetime_format=True, parse_dates=['datetime'], index_col=['datetime']) # split into train and test train, test = split_dataset(dataset.values) ``` 每個策略都可以根據唯一名稱存儲在字典中。此名稱可用于打印和創建樂譜圖。 ```py # define the names and functions for the models we wish to evaluate models = dict() models['daily'] = daily_persistence models['weekly'] = weekly_persistence models['week-oya'] = week_one_year_ago_persistence ``` 然后,我們可以列舉每個策略,使用前向驗證對其進行評估,打印分數,并將分數添加到線圖中以進行視覺比較。 ```py # evaluate each model days = ['sun', 'mon', 'tue', 'wed', 'thr', 'fri', 'sat'] for name, func in models.items(): # evaluate and get scores score, scores = evaluate_model(func, train, test) # summarize scores summarize_scores('daily persistence', score, scores) # plot scores pyplot.plot(days, scores, marker='o', label=name) ``` 將所有這些結合在一起,下面列出了評估三種樸素預測策略的完整示例。 ```py # naive forecast strategies from math import sqrt from numpy import split from numpy import array from pandas import read_csv from sklearn.metrics import mean_squared_error from matplotlib import pyplot # split a univariate dataset into train/test sets def split_dataset(data): # split into standard weeks train, test = data[1:-328], data[-328:-6] # restructure into windows of weekly data train = array(split(train, len(train)/7)) test = array(split(test, len(test)/7)) return train, test # evaluate one or more weekly forecasts against expected values def evaluate_forecasts(actual, predicted): scores = list() # calculate an RMSE score for each day for i in range(actual.shape[1]): # calculate mse mse = mean_squared_error(actual[:, i], predicted[:, i]) # calculate rmse rmse = sqrt(mse) # store scores.append(rmse) # calculate overall RMSE s = 0 for row in range(actual.shape[0]): for col in range(actual.shape[1]): s += (actual[row, col] - predicted[row, col])**2 score = sqrt(s / (actual.shape[0] * actual.shape[1])) return score, scores # summarize scores def summarize_scores(name, score, scores): s_scores = ', '.join(['%.1f' % s for s in scores]) print('%s: [%.3f] %s' % (name, score, s_scores)) # evaluate a single model def evaluate_model(model_func, train, test): # history is a list of weekly data history = [x for x in train] # walk-forward validation over each week predictions = list() for i in range(len(test)): # predict the week yhat_sequence = model_func(history) # store the predictions predictions.append(yhat_sequence) # get real observation and add to history for predicting the next week history.append(test[i, :]) predictions = array(predictions) # evaluate predictions days for each week score, scores = evaluate_forecasts(test[:, :, 0], predictions) return score, scores # daily persistence model def daily_persistence(history): # get the data for the prior week last_week = history[-1] # get the total active power for the last day value = last_week[-1, 0] # prepare 7 day forecast forecast = [value for _ in range(7)] return forecast # weekly persistence model def weekly_persistence(history): # get the data for the prior week last_week = history[-1] return last_week[:, 0] # week one year ago persistence model def week_one_year_ago_persistence(history): # get the data for the prior week last_week = history[-52] return last_week[:, 0] # load the new file dataset = read_csv('household_power_consumption_days.csv', header=0, infer_datetime_format=True, parse_dates=['datetime'], index_col=['datetime']) # split into train and test train, test = split_dataset(dataset.values) # define the names and functions for the models we wish to evaluate models = dict() models['daily'] = daily_persistence models['weekly'] = weekly_persistence models['week-oya'] = week_one_year_ago_persistence # evaluate each model days = ['sun', 'mon', 'tue', 'wed', 'thr', 'fri', 'sat'] for name, func in models.items(): # evaluate and get scores score, scores = evaluate_model(func, train, test) # summarize scores summarize_scores(name, score, scores) # plot scores pyplot.plot(days, scores, marker='o', label=name) # show plot pyplot.legend() pyplot.show() ``` 首先運行該示例打印每個模型的總分和每日分數。 我們可以看到每周策略的表現優于每日策略,而一年前的一周( _week-oya_ )表現稍好一些。 我們可以在每個模型的總體 RMSE 分數和每個預測日的每日分數中看到這一點。一個例外是第一天(星期日)的預測誤差,其中似乎每日持久性模型的表現優于兩周策略。 我們可以使用周-oya 策略,總體 RMSE 為 465.294 千瓦作為表現的基準,以便更復雜的模型在這個特定的問題框架中被認為是熟練的。 ```py daily: [511.886] 452.9, 596.4, 532.1, 490.5, 534.3, 481.5, 482.0 weekly: [469.389] 567.6, 500.3, 411.2, 466.1, 471.9, 358.3, 482.0 week-oya: [465.294] 550.0, 446.7, 398.6, 487.0, 459.3, 313.5, 555.1 ``` 還會創建每日預測錯誤的折線圖。 除了第一天的情況外,我們可以看到每周策略的相同觀察模式總體上比日常策略表現更好。 令人驚訝的是(對我來說)一年前的一周比前一周表現更好。我原本預計上周的耗電量會更加相關。 檢查同一圖表中的所有策略表明可能導致更好表現的策略的可能組合。 ![Line Plot Comparing Naive Forecast Strategies for Household Power Forecasting](https://3qeqpr26caki16dnhd19sv6by6v-wpengine.netdna-ssl.com/wp-content/uploads/2018/07/Line-Plot-Comparing-Naive-Forecast-Strategies-for-Household-Power-Forecasting.png) 線路圖比較家庭電力預測的樸素預測策略 ### 擴展 本節列出了一些擴展您可能希望探索的教程的想法。 * **額外的樸素戰略**。提出,開發和評估一種更為樸素的策略,用于預測下周的功耗。 * **樸素合奏策略**。制定集合策略,結合三種提議的樸素預測方法的預測。 * **優化的直接持久性模型**。在直接持久性模型中測試并找到用于每個預測日的最佳相對前一天(例如-1 或-7)。 如果你探索任何這些擴展,我很想知道。 ## 進一步閱讀 如果您希望深入了解,本節將提供有關該主題的更多資源。 ### API * [pandas.read_csv API](https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html) * [pandas.DataFrame.resample API](https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.resample.html) * [重采樣偏移別名](http://pandas.pydata.org/pandas-docs/stable/timeseries.html#offset-aliases) * [sklearn.metrics.mean_squared_error API](http://scikit-learn.org/stable/modules/generated/sklearn.metrics.mean_squared_error.html) * [numpy.split API](https://docs.scipy.org/doc/numpy/reference/generated/numpy.split.html) ### 用品 * [個人家庭用電量數據集,UCI 機器學習庫](https://archive.ics.uci.edu/ml/datasets/individual+household+electric+power+consumption)。 * [交流電源,維基百科](https://en.wikipedia.org/wiki/AC_power#Active,_reactive,_and_apparent_power)。 ## 摘要 在本教程中,您了解了如何為家庭功耗數據集開發測試工具,并評估三種樸素的預測策略,這些策略為更復雜的算法提供基線。 具體來說,你學到了: * 如何加載,準備和下采樣家庭功耗數據集,以便進行建模。 * 如何為強大的測試工具開發度量標準,數據集拆分和前進驗證元素,以評估預測模型。 * 如何開發,評估和比較一套樸素的持久性預測方法的表現。 你有任何問題嗎? 在下面的評論中提出您的問題,我會盡力回答。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看