# In[10]: print(metrics.f1_score(test_obj.df['sky_status'], pred)) # In[11]: cm = metrics.confusion_matrix(test_obj.df['sky_status'], pred) # In[12]: visualize.plot_confusion_matrix2(cm, ('cloudy', 'clear')) # In[13]: fig, ax = plt.subplots(figsize=(12, 8)) _ = ax.bar(range(len(clf.feature_importances_)), clf.feature_importances_) _ = ax.set_xticks(range(len(clf.feature_importances_))) _ = ax.set_xticklabels(test_obj.features_, rotation=45) _ = ax.set_ylabel('Importance') _ = ax.set_xlabel('Feature') _ = fig.tight_layout()
# In[41]: print(metrics.accuracy_score(test_obj.df['sky_status'], pred)) # In[42]: print(metrics.recall_score(test_obj.df['sky_status'], pred)) # In[43]: cm = metrics.confusion_matrix(test_obj.df['sky_status'], pred) # In[44]: visualize.plot_confusion_matrix2(cm, ('cloudy', 'clear')) # In[45]: fig, ax = plt.subplots(figsize=(12, 8)) _ = ax.bar(range(len(clf.feature_importances_)), clf.feature_importances_) _ = ax.set_xticks(range(len(clf.feature_importances_))) _ = ax.set_xticklabels(test_obj.features_, rotation=45) _ = ax.set_ylabel('Importance') _ = ax.set_xlabel('Feature') _ = fig.tight_layout() # In[46]:
# In[220]: print(metrics.recall_score(test_obj.df['sky_status'], pred)) # In[221]: cm = metrics.confusion_matrix(test_obj.df['sky_status'], pred) # In[222]: visualize.plot_confusion_matrix2(cm, ('cloudy', 'clear')) # In[223]: fig, ax = plt.subplots(figsize=(12, 8)) _ = ax.bar(range(len(clf.feature_importances_)), clf.feature_importances_) _ = ax.set_xticks(range(len(clf.feature_importances_))) _ = ax.set_xticklabels(test_obj.features_, rotation=45) _ = ax.set_ylabel('Importance') _ = ax.set_xlabel('Feature') _ = fig.tight_layout()
get_ipython().magic("config InlineBackend.figure_format = 'retina'") matplotlib.rcParams.update({'font.size': 16}) import warnings warnings.filterwarnings(action='ignore') plt.close('all') # Train on default data# nsrdb = pd.read_pickle('abq_nsrdb_1.pkl.gz') detect_obj = cs_detection.ClearskyDetection.read_pickle('abq_nsrdb_1.pkl.gz', 'GHI', 'Clearsky GHI pvlib', 'sky_status') detect_obj.df.index = detect_obj.df.index.tz_convert('MST')train_obj = cs_detection.ClearskyDetection(detect_obj.df, 'GHI', 'Clearsky GHI pvlib', 'sky_status') train_obj.trim_dates(None, '01-01-2015') test_obj = cs_detection.ClearskyDetection(detect_obj.df, 'GHI', 'Clearsky GHI pvlib', 'sky_status') test_obj.trim_dates('01-01-2015', None)clf = ensemble.RandomForestClassifier(n_jobs=-1, n_estimators=32, max_depth=10, random_state=42)clf = train_obj.fit_model(clf)pred = test_obj.predict(clf)print(metrics.accuracy_score(test_obj.df['sky_status'], pred))print(metrics.recall_score(test_obj.df['sky_status'], pred))cm = metrics.confusion_matrix(test_obj.df['sky_status'], pred)visualize.plot_confusion_matrix2(cm, ('cloudy', 'clear'))fig, ax = plt.subplots(figsize=(12, 8)) _ = ax.bar(range(len(clf.feature_importances_)), clf.feature_importances_) _ = ax.set_xticks(range(len(clf.feature_importances_))) _ = ax.set_xticklabels(test_obj.features_, rotation=45) _ = ax.set_ylabel('Importance') _ = ax.set_xlabel('Feature') _ = fig.tight_layout()fig, ax = plt.subplots(figsize=(12, 8)) nsrdb_mask = test_obj.df['sky_status'].values ax.plot(test_obj.df.index, test_obj.df['GHI'], label='GHI', alpha=.5) ax.plot(test_obj.df.index, test_obj.df['Clearsky GHI pvlib'], label='GHIcs', alpha=.5) ax.scatter(test_obj.df[pred & ~nsrdb_mask].index, test_obj.df[pred & ~nsrdb_mask]['GHI'], label='RF only', zorder=10, s=10)