emredeveloper
commited on
Commit
•
650b0c9
1
Parent(s):
b54c89d
Upload 7 files
Browse files- Netflix-Subscriptions.csv +43 -0
- app.py +7 -0
- arima_model.pkl +3 -0
- netflix-ts.py +125 -0
- netflix.ipynb +0 -0
- pct_change.py +9 -0
- zamanserisi.ipynb +250 -0
Netflix-Subscriptions.csv
ADDED
@@ -0,0 +1,43 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
Time Period,Subscribers
|
2 |
+
01/04/2013,34240000
|
3 |
+
01/07/2013,35640000
|
4 |
+
01/10/2013,38010000
|
5 |
+
01/01/2014,41430000
|
6 |
+
01/04/2014,46130000
|
7 |
+
01/07/2014,47990000
|
8 |
+
01/10/2014,50650000
|
9 |
+
01/01/2015,54480000
|
10 |
+
01/04/2015,59620000
|
11 |
+
01/07/2015,62080000
|
12 |
+
01/10/2015,66020000
|
13 |
+
01/01/2016,70840000
|
14 |
+
01/04/2016,77710000
|
15 |
+
01/07/2016,79900000
|
16 |
+
01/10/2016,83280000
|
17 |
+
01/01/2017,89090000
|
18 |
+
01/04/2017,94360000
|
19 |
+
01/07/2017,99040000
|
20 |
+
01/10/2017,104020000
|
21 |
+
01/01/2018,110640000
|
22 |
+
01/04/2018,118900000
|
23 |
+
01/07/2018,124350000
|
24 |
+
01/10/2018,130420000
|
25 |
+
01/01/2019,139260000
|
26 |
+
01/04/2019,148860000
|
27 |
+
01/07/2019,151560000
|
28 |
+
01/10/2019,158330000
|
29 |
+
01/01/2020,167090000
|
30 |
+
01/04/2020,182860000
|
31 |
+
01/07/2020,192950000
|
32 |
+
01/10/2020,195150000
|
33 |
+
01/01/2021,203660000
|
34 |
+
01/04/2021,207640000
|
35 |
+
01/07/2021,209180000
|
36 |
+
01/10/2021,213560000
|
37 |
+
01/01/2022,221840000
|
38 |
+
01/04/2022,221640000
|
39 |
+
01/07/2022,220670000
|
40 |
+
01/10/2022,223090000
|
41 |
+
01/01/2023,230750000
|
42 |
+
01/04/2023,232500000
|
43 |
+
01/07/2023,238390000
|
app.py
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import gradio as gr
|
2 |
+
|
3 |
+
def greet(name):
|
4 |
+
return "Hello " + name + "!!"
|
5 |
+
|
6 |
+
iface = gr.Interface(fn=greet, inputs="text", outputs="text")
|
7 |
+
iface.launch()
|
arima_model.pkl
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:642d4de3502b2cd9973eeb371445e9c0b378c73d1cf225be765de6a3d55708ee
|
3 |
+
size 189557
|
netflix-ts.py
ADDED
@@ -0,0 +1,125 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Importing Necessay Python libraries
|
2 |
+
|
3 |
+
|
4 |
+
import pandas as pd
|
5 |
+
import numpy as np
|
6 |
+
import matplotlib.pyplot as plt
|
7 |
+
import plotly.graph_objs as go
|
8 |
+
import plotly.express as px
|
9 |
+
import plotly.io as pio
|
10 |
+
pio.templates.default = "plotly_white"
|
11 |
+
from statsmodels.tsa.arima.model import ARIMA
|
12 |
+
from statsmodels.graphics.tsaplots import plot_acf, plot_pacf
|
13 |
+
|
14 |
+
# reading the data
|
15 |
+
data = pd.read_csv('Netflix-Subscriptions.csv')
|
16 |
+
print(data.head())
|
17 |
+
|
18 |
+
|
19 |
+
|
20 |
+
data['Time Period'] = pd.to_datetime(data['Time Period'],
|
21 |
+
format='%d/%m/%Y')
|
22 |
+
print(data.head())
|
23 |
+
|
24 |
+
|
25 |
+
fig = go.Figure()
|
26 |
+
fig.add_trace(go.Scatter(x=data['Time Period'],
|
27 |
+
y=data['Subscribers'],
|
28 |
+
mode='lines', name='Subscribers'))
|
29 |
+
fig.update_layout(title='Netflix Quarterly Subscriptions Growth',
|
30 |
+
xaxis_title='Date',
|
31 |
+
yaxis_title='Netflix Subscriptions')
|
32 |
+
fig.show()
|
33 |
+
|
34 |
+
|
35 |
+
data['Quarterly Growth Rate'] = data['Subscribers'].pct_change() * 100
|
36 |
+
|
37 |
+
|
38 |
+
data.head()
|
39 |
+
|
40 |
+
data["Bar Color"] = data["Quarterly Growth Rate"].apply(lambda x: 'green ' if x>0 else 'red')
|
41 |
+
|
42 |
+
|
43 |
+
fig = go.Figure()
|
44 |
+
fig.add_trace(go.Bar(
|
45 |
+
x=data['Time Period'],
|
46 |
+
y=data['Quarterly Growth Rate'],
|
47 |
+
marker_color=data['Bar Color'],
|
48 |
+
name='Quarterly Growth Rate'
|
49 |
+
))
|
50 |
+
fig.update_layout(title='Netflix Quarterly Subscriptions Growth Rate',
|
51 |
+
xaxis_title='Time Period',
|
52 |
+
yaxis_title='Quarterly Growth Rate (%)')
|
53 |
+
fig.show()
|
54 |
+
|
55 |
+
|
56 |
+
data["Year"] = data["Time Period"].dt.year
|
57 |
+
|
58 |
+
yearly_growth = data.groupby('Year')['Subscribers'].pct_change().fillna(0) * 100
|
59 |
+
|
60 |
+
|
61 |
+
|
62 |
+
# Create a new column for bar color (green for positive growth, red for negative growth)
|
63 |
+
data['Bar Color'] = yearly_growth.apply(lambda x: 'green' if x > 0 else 'red')
|
64 |
+
|
65 |
+
# Plot the yearly subscriber growth rate using bar graphs
|
66 |
+
fig = go.Figure()
|
67 |
+
fig.add_trace(go.Bar(
|
68 |
+
x=data['Year'],
|
69 |
+
y=yearly_growth,
|
70 |
+
marker_color=data['Bar Color'],
|
71 |
+
name='Yearly Growth Rate'
|
72 |
+
))
|
73 |
+
fig.update_layout(title='Netflix Yearly Subscriber Growth Rate',
|
74 |
+
xaxis_title='Year',
|
75 |
+
yaxis_title='Yearly Growth Rate (%)')
|
76 |
+
fig.show()
|
77 |
+
|
78 |
+
|
79 |
+
|
80 |
+
time_series = data.set_index('Time Period')['Subscribers']
|
81 |
+
|
82 |
+
|
83 |
+
differenced_series = time_series.diff().dropna()
|
84 |
+
|
85 |
+
# Plot ACF and PACF of differenced time series
|
86 |
+
fig, axes = plt.subplots(1, 2, figsize=(12, 4))
|
87 |
+
plot_acf(differenced_series, ax=axes[0])
|
88 |
+
plot_pacf(differenced_series, ax=axes[1])
|
89 |
+
plt.show()
|
90 |
+
|
91 |
+
|
92 |
+
p, d, q = 1, 1, 2
|
93 |
+
model = ARIMA(time_series, order=(p, d, q))
|
94 |
+
results = model.fit()
|
95 |
+
print(results.summary())
|
96 |
+
|
97 |
+
|
98 |
+
future_steps = 20
|
99 |
+
predictions = results.predict(len(time_series), len(time_series) + future_steps - 2)
|
100 |
+
predictions = predictions.astype(int)
|
101 |
+
predictions
|
102 |
+
|
103 |
+
# Create a DataFrame with the original data and predictions
|
104 |
+
forecast = pd.DataFrame({'Original': time_series, 'Predictions': predictions})
|
105 |
+
|
106 |
+
# Plot the original data and predictions
|
107 |
+
fig = go.Figure()
|
108 |
+
|
109 |
+
fig.add_trace(go.Scatter(x=forecast.index, y=forecast['Predictions'],
|
110 |
+
mode='lines', name='Predictions'))
|
111 |
+
|
112 |
+
fig.add_trace(go.Scatter(x=forecast.index, y=forecast['Original'],
|
113 |
+
mode='lines', name='Original Data'))
|
114 |
+
|
115 |
+
fig.update_layout(title='Netflix Quarterly Subscription Predictions',
|
116 |
+
xaxis_title='Time Period',
|
117 |
+
yaxis_title='Subscribers',
|
118 |
+
legend=dict(x=0.1, y=0.9),
|
119 |
+
showlegend=True)
|
120 |
+
|
121 |
+
fig.show()
|
122 |
+
|
123 |
+
|
124 |
+
forecast
|
125 |
+
|
netflix.ipynb
ADDED
The diff for this file is too large to render.
See raw diff
|
|
pct_change.py
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import pandas as pd
|
2 |
+
|
3 |
+
data = {'Value': [100, 110, 105, 120, 125]}
|
4 |
+
df = pd.DataFrame(data)
|
5 |
+
|
6 |
+
# Yüzde değişimi hesapla
|
7 |
+
df['PctChange'] = df['Value'].pct_change()
|
8 |
+
|
9 |
+
print(df)
|
zamanserisi.ipynb
ADDED
@@ -0,0 +1,250 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"cells": [
|
3 |
+
{
|
4 |
+
"cell_type": "code",
|
5 |
+
"execution_count": 6,
|
6 |
+
"metadata": {},
|
7 |
+
"outputs": [],
|
8 |
+
"source": [
|
9 |
+
"import pandas as pd\n",
|
10 |
+
"import numpy as np\n",
|
11 |
+
"import matplotlib.pyplot as plt\n",
|
12 |
+
"from statsmodels.tsa.arima.model import ARIMA\n",
|
13 |
+
"from sklearn.metrics import mean_squared_error\n",
|
14 |
+
"\n",
|
15 |
+
"# Rastgele zaman serisi verisi oluşturma\n",
|
16 |
+
"np.random.seed(0)\n",
|
17 |
+
"dates = pd.date_range(start='2023-01-01', periods=100, freq='D')\n",
|
18 |
+
"values = np.random.rand(100) * 100\n",
|
19 |
+
"\n",
|
20 |
+
"\n"
|
21 |
+
]
|
22 |
+
},
|
23 |
+
{
|
24 |
+
"cell_type": "code",
|
25 |
+
"execution_count": 7,
|
26 |
+
"metadata": {},
|
27 |
+
"outputs": [
|
28 |
+
{
|
29 |
+
"data": {
|
30 |
+
"text/html": [
|
31 |
+
"<div>\n",
|
32 |
+
"<style scoped>\n",
|
33 |
+
" .dataframe tbody tr th:only-of-type {\n",
|
34 |
+
" vertical-align: middle;\n",
|
35 |
+
" }\n",
|
36 |
+
"\n",
|
37 |
+
" .dataframe tbody tr th {\n",
|
38 |
+
" vertical-align: top;\n",
|
39 |
+
" }\n",
|
40 |
+
"\n",
|
41 |
+
" .dataframe thead th {\n",
|
42 |
+
" text-align: right;\n",
|
43 |
+
" }\n",
|
44 |
+
"</style>\n",
|
45 |
+
"<table border=\"1\" class=\"dataframe\">\n",
|
46 |
+
" <thead>\n",
|
47 |
+
" <tr style=\"text-align: right;\">\n",
|
48 |
+
" <th></th>\n",
|
49 |
+
" <th>Close</th>\n",
|
50 |
+
" </tr>\n",
|
51 |
+
" <tr>\n",
|
52 |
+
" <th>Date</th>\n",
|
53 |
+
" <th></th>\n",
|
54 |
+
" </tr>\n",
|
55 |
+
" </thead>\n",
|
56 |
+
" <tbody>\n",
|
57 |
+
" <tr>\n",
|
58 |
+
" <th>2023-01-01</th>\n",
|
59 |
+
" <td>54.881350</td>\n",
|
60 |
+
" </tr>\n",
|
61 |
+
" <tr>\n",
|
62 |
+
" <th>2023-01-02</th>\n",
|
63 |
+
" <td>71.518937</td>\n",
|
64 |
+
" </tr>\n",
|
65 |
+
" <tr>\n",
|
66 |
+
" <th>2023-01-03</th>\n",
|
67 |
+
" <td>60.276338</td>\n",
|
68 |
+
" </tr>\n",
|
69 |
+
" <tr>\n",
|
70 |
+
" <th>2023-01-04</th>\n",
|
71 |
+
" <td>54.488318</td>\n",
|
72 |
+
" </tr>\n",
|
73 |
+
" <tr>\n",
|
74 |
+
" <th>2023-01-05</th>\n",
|
75 |
+
" <td>42.365480</td>\n",
|
76 |
+
" </tr>\n",
|
77 |
+
" </tbody>\n",
|
78 |
+
"</table>\n",
|
79 |
+
"</div>"
|
80 |
+
],
|
81 |
+
"text/plain": [
|
82 |
+
" Close\n",
|
83 |
+
"Date \n",
|
84 |
+
"2023-01-01 54.881350\n",
|
85 |
+
"2023-01-02 71.518937\n",
|
86 |
+
"2023-01-03 60.276338\n",
|
87 |
+
"2023-01-04 54.488318\n",
|
88 |
+
"2023-01-05 42.365480"
|
89 |
+
]
|
90 |
+
},
|
91 |
+
"execution_count": 7,
|
92 |
+
"metadata": {},
|
93 |
+
"output_type": "execute_result"
|
94 |
+
}
|
95 |
+
],
|
96 |
+
"source": [
|
97 |
+
"data = pd.DataFrame({'Date': dates, 'Close': values})\n",
|
98 |
+
"data.set_index('Date', inplace=True)\n",
|
99 |
+
"\n",
|
100 |
+
"# Veriyi eğitim ve test setlerine ayırma\n",
|
101 |
+
"train_size = int(len(data) * 0.8)\n",
|
102 |
+
"train_data, test_data = data[:train_size], data[train_size:]\n",
|
103 |
+
"\n",
|
104 |
+
"data.head()"
|
105 |
+
]
|
106 |
+
},
|
107 |
+
{
|
108 |
+
"cell_type": "code",
|
109 |
+
"execution_count": 9,
|
110 |
+
"metadata": {},
|
111 |
+
"outputs": [
|
112 |
+
{
|
113 |
+
"name": "stderr",
|
114 |
+
"output_type": "stream",
|
115 |
+
"text": [
|
116 |
+
"c:\\Users\\DevToolsUser\\anaconda3\\envs\\Emre\\Lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:473: ValueWarning: No frequency information was provided, so inferred frequency D will be used.\n",
|
117 |
+
" self._init_dates(dates, freq)\n",
|
118 |
+
"c:\\Users\\DevToolsUser\\anaconda3\\envs\\Emre\\Lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:473: ValueWarning: No frequency information was provided, so inferred frequency D will be used.\n",
|
119 |
+
" self._init_dates(dates, freq)\n",
|
120 |
+
"c:\\Users\\DevToolsUser\\anaconda3\\envs\\Emre\\Lib\\site-packages\\statsmodels\\tsa\\base\\tsa_model.py:473: ValueWarning: No frequency information was provided, so inferred frequency D will be used.\n",
|
121 |
+
" self._init_dates(dates, freq)\n"
|
122 |
+
]
|
123 |
+
}
|
124 |
+
],
|
125 |
+
"source": [
|
126 |
+
"\n",
|
127 |
+
"\n",
|
128 |
+
"# ARIMA modelini oluşturma ve eğitme\n",
|
129 |
+
"p, d, q = 1, 1, 1 # Parametreler\n",
|
130 |
+
"model = ARIMA(train_data['Close'], order=(p, d, q))\n",
|
131 |
+
"model_fit = model.fit()\n",
|
132 |
+
"\n"
|
133 |
+
]
|
134 |
+
},
|
135 |
+
{
|
136 |
+
"cell_type": "code",
|
137 |
+
"execution_count": 22,
|
138 |
+
"metadata": {},
|
139 |
+
"outputs": [],
|
140 |
+
"source": [
|
141 |
+
"# Tahminlemeleri yapma\n",
|
142 |
+
"forecast_steps = len(test_data)\n",
|
143 |
+
"predictions = model_fit.forecast(steps=forecast_steps)[0]\n",
|
144 |
+
"predictions = np.array(predictions)"
|
145 |
+
]
|
146 |
+
},
|
147 |
+
{
|
148 |
+
"cell_type": "code",
|
149 |
+
"execution_count": 24,
|
150 |
+
"metadata": {},
|
151 |
+
"outputs": [
|
152 |
+
{
|
153 |
+
"data": {
|
154 |
+
"text/plain": [
|
155 |
+
"numpy.ndarray"
|
156 |
+
]
|
157 |
+
},
|
158 |
+
"execution_count": 24,
|
159 |
+
"metadata": {},
|
160 |
+
"output_type": "execute_result"
|
161 |
+
}
|
162 |
+
],
|
163 |
+
"source": [
|
164 |
+
"type(predictions)"
|
165 |
+
]
|
166 |
+
},
|
167 |
+
{
|
168 |
+
"cell_type": "code",
|
169 |
+
"execution_count": 26,
|
170 |
+
"metadata": {},
|
171 |
+
"outputs": [
|
172 |
+
{
|
173 |
+
"name": "stdout",
|
174 |
+
"output_type": "stream",
|
175 |
+
"text": [
|
176 |
+
"Mean Squared Error: 749.9642818665021\n"
|
177 |
+
]
|
178 |
+
}
|
179 |
+
],
|
180 |
+
"source": [
|
181 |
+
"test_values = test_data['Close'].values\n",
|
182 |
+
"mse = np.mean((test_values - predictions)**2) # Numpy ile ortalama karesel hata hesaplaması\n",
|
183 |
+
"print(f\"Mean Squared Error: {mse}\")"
|
184 |
+
]
|
185 |
+
},
|
186 |
+
{
|
187 |
+
"cell_type": "code",
|
188 |
+
"execution_count": 28,
|
189 |
+
"metadata": {},
|
190 |
+
"outputs": [
|
191 |
+
{
|
192 |
+
"ename": "ValueError",
|
193 |
+
"evalue": "x and y must be the same size",
|
194 |
+
"output_type": "error",
|
195 |
+
"traceback": [
|
196 |
+
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
|
197 |
+
"\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)",
|
198 |
+
"Cell \u001b[1;32mIn[28], line 3\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[39m# Tahminlemeleri görselleştirme\u001b[39;00m\n\u001b[0;32m 2\u001b[0m plt\u001b[39m.\u001b[39mscatter(test_data\u001b[39m.\u001b[39mindex, test_values, label\u001b[39m=\u001b[39m\u001b[39m'\u001b[39m\u001b[39mGerçek Değerler\u001b[39m\u001b[39m'\u001b[39m)\n\u001b[1;32m----> 3\u001b[0m plt\u001b[39m.\u001b[39mscatter(test_data\u001b[39m.\u001b[39mindex, predictions, color\u001b[39m=\u001b[39m\u001b[39m'\u001b[39m\u001b[39mred\u001b[39m\u001b[39m'\u001b[39m, label\u001b[39m=\u001b[39m\u001b[39m'\u001b[39m\u001b[39mTahminlemeler\u001b[39m\u001b[39m'\u001b[39m)\n\u001b[0;32m 4\u001b[0m plt\u001b[39m.\u001b[39mxlabel(\u001b[39m'\u001b[39m\u001b[39mTarih\u001b[39m\u001b[39m'\u001b[39m)\n\u001b[0;32m 5\u001b[0m plt\u001b[39m.\u001b[39mylabel(\u001b[39m'\u001b[39m\u001b[39mKapanış Fiyatı\u001b[39m\u001b[39m'\u001b[39m)\n",
|
199 |
+
"File \u001b[1;32mc:\\Users\\DevToolsUser\\anaconda3\\envs\\Emre\\Lib\\site-packages\\matplotlib\\pyplot.py:2862\u001b[0m, in \u001b[0;36mscatter\u001b[1;34m(x, y, s, c, marker, cmap, norm, vmin, vmax, alpha, linewidths, edgecolors, plotnonfinite, data, **kwargs)\u001b[0m\n\u001b[0;32m 2857\u001b[0m \u001b[39m@_copy_docstring_and_deprecators\u001b[39m(Axes\u001b[39m.\u001b[39mscatter)\n\u001b[0;32m 2858\u001b[0m \u001b[39mdef\u001b[39;00m \u001b[39mscatter\u001b[39m(\n\u001b[0;32m 2859\u001b[0m x, y, s\u001b[39m=\u001b[39m\u001b[39mNone\u001b[39;00m, c\u001b[39m=\u001b[39m\u001b[39mNone\u001b[39;00m, marker\u001b[39m=\u001b[39m\u001b[39mNone\u001b[39;00m, cmap\u001b[39m=\u001b[39m\u001b[39mNone\u001b[39;00m, norm\u001b[39m=\u001b[39m\u001b[39mNone\u001b[39;00m,\n\u001b[0;32m 2860\u001b[0m vmin\u001b[39m=\u001b[39m\u001b[39mNone\u001b[39;00m, vmax\u001b[39m=\u001b[39m\u001b[39mNone\u001b[39;00m, alpha\u001b[39m=\u001b[39m\u001b[39mNone\u001b[39;00m, linewidths\u001b[39m=\u001b[39m\u001b[39mNone\u001b[39;00m, \u001b[39m*\u001b[39m,\n\u001b[0;32m 2861\u001b[0m edgecolors\u001b[39m=\u001b[39m\u001b[39mNone\u001b[39;00m, plotnonfinite\u001b[39m=\u001b[39m\u001b[39mFalse\u001b[39;00m, data\u001b[39m=\u001b[39m\u001b[39mNone\u001b[39;00m, \u001b[39m*\u001b[39m\u001b[39m*\u001b[39mkwargs):\n\u001b[1;32m-> 2862\u001b[0m __ret \u001b[39m=\u001b[39m gca()\u001b[39m.\u001b[39mscatter(\n\u001b[0;32m 2863\u001b[0m x, y, s\u001b[39m=\u001b[39ms, c\u001b[39m=\u001b[39mc, marker\u001b[39m=\u001b[39mmarker, cmap\u001b[39m=\u001b[39mcmap, norm\u001b[39m=\u001b[39mnorm,\n\u001b[0;32m 2864\u001b[0m vmin\u001b[39m=\u001b[39mvmin, vmax\u001b[39m=\u001b[39mvmax, alpha\u001b[39m=\u001b[39malpha, linewidths\u001b[39m=\u001b[39mlinewidths,\n\u001b[0;32m 2865\u001b[0m edgecolors\u001b[39m=\u001b[39medgecolors, plotnonfinite\u001b[39m=\u001b[39mplotnonfinite,\n\u001b[0;32m 2866\u001b[0m \u001b[39m*\u001b[39m\u001b[39m*\u001b[39m({\u001b[39m\"\u001b[39m\u001b[39mdata\u001b[39m\u001b[39m\"\u001b[39m: data} \u001b[39mif\u001b[39;00m data \u001b[39mis\u001b[39;00m \u001b[39mnot\u001b[39;00m \u001b[39mNone\u001b[39;00m \u001b[39melse\u001b[39;00m {}), \u001b[39m*\u001b[39m\u001b[39m*\u001b[39mkwargs)\n\u001b[0;32m 2867\u001b[0m sci(__ret)\n\u001b[0;32m 2868\u001b[0m \u001b[39mreturn\u001b[39;00m __ret\n",
|
200 |
+
"File \u001b[1;32mc:\\Users\\DevToolsUser\\anaconda3\\envs\\Emre\\Lib\\site-packages\\matplotlib\\__init__.py:1461\u001b[0m, in \u001b[0;36m_preprocess_data.<locals>.inner\u001b[1;34m(ax, data, *args, **kwargs)\u001b[0m\n\u001b[0;32m 1458\u001b[0m \u001b[39m@functools\u001b[39m\u001b[39m.\u001b[39mwraps(func)\n\u001b[0;32m 1459\u001b[0m \u001b[39mdef\u001b[39;00m \u001b[39minner\u001b[39m(ax, \u001b[39m*\u001b[39margs, data\u001b[39m=\u001b[39m\u001b[39mNone\u001b[39;00m, \u001b[39m*\u001b[39m\u001b[39m*\u001b[39mkwargs):\n\u001b[0;32m 1460\u001b[0m \u001b[39mif\u001b[39;00m data \u001b[39mis\u001b[39;00m \u001b[39mNone\u001b[39;00m:\n\u001b[1;32m-> 1461\u001b[0m \u001b[39mreturn\u001b[39;00m func(ax, \u001b[39m*\u001b[39m\u001b[39mmap\u001b[39m(sanitize_sequence, args), \u001b[39m*\u001b[39m\u001b[39m*\u001b[39mkwargs)\n\u001b[0;32m 1463\u001b[0m bound \u001b[39m=\u001b[39m new_sig\u001b[39m.\u001b[39mbind(ax, \u001b[39m*\u001b[39margs, \u001b[39m*\u001b[39m\u001b[39m*\u001b[39mkwargs)\n\u001b[0;32m 1464\u001b[0m auto_label \u001b[39m=\u001b[39m (bound\u001b[39m.\u001b[39marguments\u001b[39m.\u001b[39mget(label_namer)\n\u001b[0;32m 1465\u001b[0m \u001b[39mor\u001b[39;00m bound\u001b[39m.\u001b[39mkwargs\u001b[39m.\u001b[39mget(label_namer))\n",
|
201 |
+
"File \u001b[1;32mc:\\Users\\DevToolsUser\\anaconda3\\envs\\Emre\\Lib\\site-packages\\matplotlib\\axes\\_axes.py:4578\u001b[0m, in \u001b[0;36mAxes.scatter\u001b[1;34m(self, x, y, s, c, marker, cmap, norm, vmin, vmax, alpha, linewidths, edgecolors, plotnonfinite, **kwargs)\u001b[0m\n\u001b[0;32m 4576\u001b[0m y \u001b[39m=\u001b[39m np\u001b[39m.\u001b[39mma\u001b[39m.\u001b[39mravel(y)\n\u001b[0;32m 4577\u001b[0m \u001b[39mif\u001b[39;00m x\u001b[39m.\u001b[39msize \u001b[39m!=\u001b[39m y\u001b[39m.\u001b[39msize:\n\u001b[1;32m-> 4578\u001b[0m \u001b[39mraise\u001b[39;00m \u001b[39mValueError\u001b[39;00m(\u001b[39m\"\u001b[39m\u001b[39mx and y must be the same size\u001b[39m\u001b[39m\"\u001b[39m)\n\u001b[0;32m 4580\u001b[0m \u001b[39mif\u001b[39;00m s \u001b[39mis\u001b[39;00m \u001b[39mNone\u001b[39;00m:\n\u001b[0;32m 4581\u001b[0m s \u001b[39m=\u001b[39m (\u001b[39m20\u001b[39m \u001b[39mif\u001b[39;00m mpl\u001b[39m.\u001b[39mrcParams[\u001b[39m'\u001b[39m\u001b[39m_internal.classic_mode\u001b[39m\u001b[39m'\u001b[39m] \u001b[39melse\u001b[39;00m\n\u001b[0;32m 4582\u001b[0m mpl\u001b[39m.\u001b[39mrcParams[\u001b[39m'\u001b[39m\u001b[39mlines.markersize\u001b[39m\u001b[39m'\u001b[39m] \u001b[39m*\u001b[39m\u001b[39m*\u001b[39m \u001b[39m2.0\u001b[39m)\n",
|
202 |
+
"\u001b[1;31mValueError\u001b[0m: x and y must be the same size"
|
203 |
+
]
|
204 |
+
},
|
205 |
+
{
|
206 |
+
"data": {
|
207 |
+
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAGdCAYAAACyzRGfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAxI0lEQVR4nO3de3SU1b3G8WdmApkEkoFEkpmUoAGpGFPFiGCgrbWCYI9RK0eqJfXWSo2piCgIWok5qIjHW/ESrDc8It66FIxiqiJwtESjBNQYiyyJyim5eEQmEQ3QzD5/cGaayY0kTN6ZSb6ftWa58s7OOz+2yZ4n797vHpsxxggAAMAi9nAXAAAA+hfCBwAAsBThAwAAWIrwAQAALEX4AAAAliJ8AAAASxE+AACApQgfAADAUjHhLqA1n8+nXbt2KSEhQTabLdzlAACALjDGqLGxUWlpabLbO7+2EXHhY9euXUpPTw93GQAAoAd27typ4cOHd9om4sJHQkKCpIPFJyYmhrkaAADQFQ0NDUpPTw+8j3cm4sKHf6olMTGR8AEAQJTpypIJFpwCAABLET4AAIClCB8AAMBShA8AAGApwgcAALAU4QMAAFiK8AEAACxF+AAAAJaKuE3GAESHZp9RefVu1Tc2KSXBqfEZSXLY+TwmAIdG+ADQbaWVNSoqqVKNtylwzONyqjA3U9OyPGGsDEA0YNoFQLeUVtYof2VFUPCQpFpvk/JXVqi0siZMlQGIFoQPAF3W7DMqKqmSaec5/7Gikio1+9prAQAHET4AdFl59e42VzxaMpJqvE0qr95tXVEAog7hA0CX1Td2HDx60g5A/0T4ANBlKQnOkLYD0D8RPgB02fiMJHlcTnV0Q61NB+96GZ+RZGVZAKIM4QNAlznsNhXmZkpSmwDi/7owN5P9PgB0ivABoFumZXlUnJcttyt4asXtcqo4L5t9PgAcEpuMAei2aVkeTcl0s8MpgB4hfADoEYfdppxRyeEuA0AUYtoFAABYivABAAAsRfgAAACWInwAAABLET4AAIClCB8AAMBShA8AAGApwgcAALAU4QMAAFiK8AEAACxF+AAAAJYifAAAAEsRPgAAgKUIHwAAwFKEDwAAYCnCBwAAsBThAwAAWIrwAQAALEX4AAAAliJ8AAAASxE+AACApQgfAADAUoQPAABgKcIHAACwFOEDAABYKibcBQAAgIOafUbl1btV39iklASnxmckyWG3hbuskCN8AAAQAUora1RUUqUab1PgmMflVGFupqZlecJYWegx7QIAQJiVVtYof2VFUPCQpFpvk/JXVqi0siZMlfUOwgcAAGHU7DMqKqmSaec5/7Gikio1+9prEZ0IHwAAhFF59e42VzxaMpJqvE0qr95tXVG9jPABAEAY1Td2HDx60i4aED4AAAijlARnSNtFA8IHAABhND4jSR6XUx3dUGvTwbtexmckWVlWryJ8AAAQRg67TYW5mZLUJoD4vy7MzexT+30QPgAACLNpWR4V52XL7QqeWnG7nCrOy+5z+3ywyRgAABFgWpZHUzLd/WKH025d+WhubtZNN92kjIwMxcXFadSoUVq8eLGM+de9x8YYLVq0SB6PR3FxcZo8ebK2b98e8sIBAOhrHHabckYl65yxP1DOqOQ+GTykboaPpUuXqri4WPfff78++eQTLV26VHfccYfuu+++QJs77rhDy5Yt0/Lly/Xuu+9q0KBBmjp1qpqa+s4tQgAAoOdspuVli0M466yzlJqaqkcffTRwbPr06YqLi9PKlStljFFaWpquvfZaXXfddZIkr9er1NRUrVixQhdccMEhX6OhoUEul0ter1eJiYk9+CcBAACrdef9u1tXPiZOnKh169bp008/lSR98MEHevvtt3XmmWdKkqqrq1VbW6vJkycHvsflcmnChAkqKytr95z79u1TQ0ND0AMAAPRd3VpwumDBAjU0NGjMmDFyOBxqbm7WrbfeqpkzZ0qSamtrJUmpqalB35eamhp4rrUlS5aoqKioJ7UDAIAo1K0rH88995yeeuoprVq1ShUVFXriiSd055136oknnuhxAQsXLpTX6w08du7c2eNzAQCAyNetKx/z5s3TggULAms3fvSjH+mLL77QkiVLdPHFF8vtdkuS6urq5PH8657kuro6jR07tt1zxsbGKjY2toflAwCAaNOtKx/fffed7Pbgb3E4HPL5fJKkjIwMud1urVu3LvB8Q0OD3n33XeXk5ISgXAAAEO26deUjNzdXt956q0aMGKHjjjtOW7Zs0d13363LLrtMkmSz2TRnzhzdcsstGj16tDIyMnTTTTcpLS1N5557bm/UDwAAoky3wsd9992nm266SVdeeaXq6+uVlpam3//+91q0aFGgzfz587V3717NmjVLe/bs0Y9//GOVlpbK6ew7n8YHAAB6rlv7fFiBfT4AAIg+vbbPBwAAwOEifAAAAEsRPgAAgKUIHwAAwFKEDwAAYCnCBwAAsBThAwAAWIrwAQAALEX4AAAAliJ8AAAASxE+AACApQgfAADAUoQPAABgKcIHAACwFOEDAABYivABAAAsRfgAAACWInwAAABLET4AAIClYsJdAACge5p9RuXVu1Xf2KSUBKfGZyTJYbeFuyygywgfABBFSitrVFRSpRpvU+CYx+VUYW6mpmV5wlgZ0HVMuwBAlCitrFH+yoqg4CFJtd4m5a+sUGllTZgqA7qH8AEAUaDZZ1RUUiXTznP+Y0UlVWr2tdcCiCyEDwCIAuXVu9tc8WjJSKrxNqm8erd1RQE9RPgAgChQ39hx8OhJOyCcCB8AEAVSEpwhbQeEE+EDAKLA+IwkeVxOdXRDrU0H73oZn5FkZVlAjxA+ACAKOOw2FeZmSlKbAOL/ujA3k/0+EBUIH1Czz6jss6+1Zus/VPbZ16yWByLUtCyPivOy5XYFT624XU4V52WzzweiBpuM9XNsWAREl2lZHk3JdLPDKaKazRgTUX/mNjQ0yOVyyev1KjExMdzl9Gn+DYta/wD4hzD+kgIAdFV33r+Zdumn2LAIABAuhI9+ig2LAADhQvjop9iwCAAQLoSPfooNiwAA4UL46KfYsAgAEC6Ej36KDYsAAOFC+OjH2LAI/Rmb6wHhwyZj/RwbFqE/YnM9ILzYZAxAv8LmekDvYJMxAGgHm+sBkYHwAaDfYHM9IDIQPgD0G2yuB0QGwgeAfoPN9YDIQPgA0G+wuR4QGQgfAPoNNtcDIgPhA0C/wuZ6QPixyRiAfofN9YDwInwA6JccdptyRiWHuwygX2LaBQAAWIrwAQAALEX4AAAAliJ8AAAASxE+AACApQgfAADAUoQPAABgKcIHAACwFOEDAABYivABAAAsRfgAAACWInwAAABLET4AAICluh0+/vGPfygvL0/JycmKi4vTj370I73//vuB540xWrRokTwej+Li4jR58mRt3749pEUDAIDo1a3w8c0332jSpEkaMGCAXn31VVVVVemuu+7S0KFDA23uuOMOLVu2TMuXL9e7776rQYMGaerUqWpqagp58QAAIPrYjDGmq40XLFigv/3tb3rrrbfafd4Yo7S0NF177bW67rrrJEler1epqalasWKFLrjggkO+RkNDg1wul7xerxITE7taGgAACKPuvH9368rHSy+9pHHjxun8889XSkqKTjzxRD388MOB56urq1VbW6vJkycHjrlcLk2YMEFlZWXtnnPfvn1qaGgIegAAgL6rW+Fjx44dKi4u1ujRo/XXv/5V+fn5mj17tp544glJUm1trSQpNTU16PtSU1MDz7W2ZMkSuVyuwCM9Pb0n/w4AACRJzT6jss++1pqt/1DZZ1+r2dflC/ywSEx3Gvt8Po0bN0633XabJOnEE09UZWWlli9frosvvrhHBSxcuFBz584NfN3Q0EAAAQD0SGlljYpKqlTj/dc6Q4/LqcLcTE3L8oSxMrTUrSsfHo9HmZmZQceOPfZYffnll5Ikt9stSaqrqwtqU1dXF3iutdjYWCUmJgY9AADortLKGuWvrAgKHpJU621S/soKlVbWhKkytNat8DFp0iRt27Yt6Ninn36qI488UpKUkZEht9utdevWBZ5vaGjQu+++q5ycnBCUCwBAW80+o6KSKrU3weI/VlRSxRRMhOjWtMs111yjiRMn6rbbbtOMGTNUXl6uP//5z/rzn/8sSbLZbJozZ45uueUWjR49WhkZGbrpppuUlpamc889tzfqB9CJZp9RefVu1Tc2KSXBqfEZSXLYbeEuCwi58urdba54tGQk1XibVF69Wzmjkq0rDO3qVvg4+eST9eKLL2rhwoX6j//4D2VkZOjee+/VzJkzA23mz5+vvXv3atasWdqzZ49+/OMfq7S0VE6nM+TFA+gYc9/oT+obu7aXVFfboXd1a58PK7DPB3D4/HPfrX+5/dc8ivOyCSDoU8o++1oXPvzOIds9ffkpXPnoJb22zwfQE9z2Zi3mvtEfjc9IksflVEeTijYdvPI3PiPJyrLQgW5NuwDdxaV/6zH3jf7IYbepMDdT+SsrZJOCwrc/kBTmZrLmKUJw5QO9htvewoO5b/RX07I8Ks7LltsVvMbQ7XIy1RhhuPKBXnGoS/82Hbz0PyXTzV8iIZaS0LXF3V1tB0STaVkeTcl0c5dXhCN8oFdw6T98/HPftd6mdsOfTQf/EmTuG32Vw25jXIlwTLugV3DpP3z8c9+S2iy+Y+4bQCQgfKBXcOk/vJj7BhDJmHZBr+DSf/gx9w0gUhE+0Cu47S0yMPcNIBIx7YJew6V/AEB7uPKBXsWlfwBAa4QP9Dou/QMAWmLaBQAAWIrwAQAALEX4AAAAliJ8AAAAS7HgFOhEs89wpw4AhBjhA+hAaWWNikqqgj4gz+NyqjA3kz1KAOAwMO0CtKO0skb5KyvafDJvrbdJ+SsrVFpZE6bKACD6ET6AVpp9RkUlVe1+Jo3/WFFJlZp97bUAABwK4QNopbx6d5srHi0ZSTXeJpVX77auKADoQwgfQCv1jR0Hj560AwAEI3wAraQkOA/dqBvtAADBCB9AK+MzkuRxOdXRDbU2HbzrZXxGkpVlAUCfQfgAWnHYbSrMzZSkNgHE/3Vhbib7fQBADxE+gHZMy/KoOC9bblfw1Irb5VRxXjb7fADAYWCTMaAD07I8mpLpZodTAAgxwgfQCYfdppxRyeEuAwD6FKZdAACApQgfAADAUoQPAABgKcIHAACwFOEDAABYivABAAAsRfgAAACWInwAAABLET4AAIClCB8AAMBShA8AAGApwgcAALAU4QMAAFiK8AEAACxF+AAAAJYifAAAAEsRPgAAgKUIHwAAwFKEDwAAYCnCBwAAsBThAwAAWIrwAQAALEX4AAAAliJ8AAAASxE+AACApQgfAADAUoQPAABgKcIHAACwVEy4C+grmn1G5dW7Vd/YpJQEp8ZnJMlht4W7LAAAIg7hIwRKK2tUVFKlGm9T4JjH5VRhbqamZXnCWBkAAJGHaZfDVFpZo/yVFUHBQ5JqvU3KX1mh0sqaMFUGAEBkInwchmafUVFJlUw7z/mPFZVUqdnXXgsAAPonwsdhKK/e3eaKR0tGUo23SeXVu60rCgCACEf4OAz1jR0Hj560AwCgPzis8HH77bfLZrNpzpw5gWNNTU0qKChQcnKyBg8erOnTp6uuru5w64xIKQnOkLYDAKA/6HH4eO+99/TQQw/p+OOPDzp+zTXXqKSkRM8//7w2btyoXbt26bzzzjvsQiPR+IwkeVxOdXRDrU0H73oZn5FkZVkAAES0HoWPb7/9VjNnztTDDz+soUOHBo57vV49+uijuvvuu/Xzn/9cJ510kh5//HFt2rRJ77zzTsiKjhQOu02FuZmS1CaA+L8uzM1kvw8AAFroUfgoKCjQv/3bv2ny5MlBxzdv3qwDBw4EHR8zZoxGjBihsrKyds+1b98+NTQ0BD2iybQsj4rzsuV2BU+tuF1OFedls88HAACtdHuTsWeeeUYVFRV677332jxXW1urgQMHasiQIUHHU1NTVVtb2+75lixZoqKiou6WEVGmZXk0JdPNDqcAAHRBt8LHzp07dfXVV+v111+X0xmaRZQLFy7U3LlzA183NDQoPT09JOe2ksNuU86o5HCXAQBAxOvWtMvmzZtVX1+v7OxsxcTEKCYmRhs3btSyZcsUExOj1NRU7d+/X3v27An6vrq6Ornd7nbPGRsbq8TExKAHAADou7p15eP000/XRx99FHTs0ksv1ZgxY3T99dcrPT1dAwYM0Lp16zR9+nRJ0rZt2/Tll18qJycndFUDAICo1a3wkZCQoKysrKBjgwYNUnJycuD4b3/7W82dO1dJSUlKTEzUVVddpZycHJ1yyimhqxoAAEStkH+q7T333CO73a7p06dr3759mjp1qh588MFQvwwAAIhSNmNMRH3qWUNDg1wul7xeL+s/AACIEt15/+azXQAAgKUIHwAAwFKEDwAAYCnCBwAAsBThAwAAWIrwAQAALEX4AAAAliJ8AAAASxE+AACApQgfAADAUoQPAABgKcIHAACwFOEDAABYivABAAAsRfgAAACWInwAAABLET4AAIClYsJdAAC0p9lnVF69W/WNTUpJcGp8RpIcdlu4ywIQAv0mfDCQAdGjtLJGRSVVqvE2BY55XE4V5mZqWpYnjJUBCIV+ET4YyIDoUVpZo/yVFTKtjtd6m5S/skLFedn83gJRrs+v+fAPZC2Dh/Svgay0siZMlQFordlnVFRS1SZ4SAocKyqpUrOvvRYAokWfDh8MZEB0Ka/e3eYPhZaMpBpvk8qrd1tXFICQ69Phg4EMiC71jR3/vvakHYDI1KfDBwMZEF1SEpwhbQcgMvXp8MFABkSX8RlJ8ric6ug+NJsOLhYfn5FkZVkAQqxPhw8GMiC6OOw2FeZmSlKb31v/14W5mdwmD0S5Ph0+GMiA6DMty6PivGy5XcFXJN0uJ7fZAn2EzRgTUbd6NDQ0yOVyyev1KjExMSTnZJ8PIPqwMSAQXbrz/t0vwofEQAYAXcV4iZ7ozvt3v9jhVDo4BZMzKjncZQBARONKMazQp9d8AAC6jh2hYRXCBwCAHaFhKcIHAIAdoWEpwgcAgB2hYSnCBwCAHaFhKcIHAIAdoWEpwgcAgB2hYSnCB6Jes8+o7LOvtWbrP1T22desxgd6iK3tYZV+s8kY+iY2RAJCa1qWR1My3exwil7Vb7ZXR9/j3xCp9Q+wf4jkLzUAsE533r+ZdkFUYkMkAIhehA9EJTZEAoDoRfhAVGJDJACIXoQPRCU2RAKA6EX4QFRiQyQAiF6ED0QlNkQCgOhF+EDUYkMkAIhObDKGqMaGSAAQfQgfiHoOu005o5LDXQYAoIuYdgEAAJYifAAAAEsRPgAAgKUIHwAAwFKEDwAAYCnCBwAAsBThAwAAWIrwAQAALEX4AAAAliJ8AAAASxE+AACApQgfAADAUt0KH0uWLNHJJ5+shIQEpaSk6Nxzz9W2bduC2jQ1NamgoEDJyckaPHiwpk+frrq6upAWDQAAole3wsfGjRtVUFCgd955R6+//roOHDigM844Q3v37g20ueaaa1RSUqLnn39eGzdu1K5du3TeeeeFvHAAABCdbMYY09Nv/uqrr5SSkqKNGzfqpz/9qbxer4YNG6ZVq1bp3//93yVJf//733XssceqrKxMp5xyyiHP2dDQIJfLJa/Xq8TExJ6WBgAALNSd9+/DWvPh9XolSUlJSZKkzZs368CBA5o8eXKgzZgxYzRixAiVlZUdzksBAIA+Iqan3+jz+TRnzhxNmjRJWVlZkqTa2loNHDhQQ4YMCWqbmpqq2trads+zb98+7du3L/B1Q0NDT0sCAABRoMdXPgoKClRZWalnnnnmsApYsmSJXC5X4JGenn5Y5wMAAJGtR+HjD3/4g15++WWtX79ew4cPDxx3u93av3+/9uzZE9S+rq5Obre73XMtXLhQXq838Ni5c2dPSgIARIlmn1HZZ19rzdZ/qOyzr9Xs6/HSQ0Spbk27GGN01VVX6cUXX9SGDRuUkZER9PxJJ52kAQMGaN26dZo+fbokadu2bfryyy+Vk5PT7jljY2MVGxvbw/IBANGktLJGRSVVqvE2BY55XE4V5mZqWpYnjJXBSt262+XKK6/UqlWrtGbNGh1zzDGB4y6XS3FxcZKk/Px8rV27VitWrFBiYqKuuuoqSdKmTZu69Brc7QIAfVNpZY3yV1ao9ZuO7f//W5yXTQCJYt15/+5W+LDZbO0ef/zxx3XJJZdIOrjJ2LXXXqunn35a+/bt09SpU/Xggw92OO1yOMUDAKJDs8/ox0vfDLri0ZJNktvl1NvX/1wOe/vvNYhsvRY+rED4AIC+p+yzr3Xhw+8cst3Tl5+inFHJFlSEULNsnw8AALqivrH9Kx49bYfoRvgAAPS6lARnSNshuhE+AAC9bnxGkjwupzpazWHTwbtexmckWVkWwoTwAQDodQ67TYW5mZLUJoD4vy7MzWSxaT9B+AAAWGJalkfFedlyu4KnVtwuJ7fZ9jM9/mwXAAC6a1qWR1My3Sqv3q36xialJBycauGKR/9C+AAAWMpht3E7bT/HtAsAALAU4QMAAFiK8AEAACxF+AAAAJYifAAAAEsRPgAAgKW41RYAekGzz7CXBdABwgcAhFhpZY2KSqpU4/3XJ7R6XE4V5mayiycgpl0AIKRKK2uUv7IiKHhIUq23SfkrK1RaWROmyoDIQfgAgBBp9hkVlVTJtPOc/1hRSZWafe21APoPwgcAhEh59e42VzxaMpJqvE0qr95tXVFABCJ8AECI1Dd2HDx60g7oqwgfABAiKQnOQzfqRjugryJ8AECIjM9IksflVEc31Np08K6X8RlJVpYFRBzCBwCEiMNuU2FupiS1CSD+rwtzM9nvA/0e4QMAQmhalkfFedlyu4KnVtwup4rzstnnAxCbjAFAyE3L8mhKppsdToEOED4AoBc47DbljEoOdxlARGLaBQAAWIrwAQAALMW0CxBGfPIpgP6I8AGECZ98CqC/YtoFCAM++RRAf0b4ACzGJ58C6O8IH4DF+ORTAP0d4QOwGJ98CqC/I3wAFuOTTwH0d4QPwGJ88imA/o7wAViMTz4F0N8RPoAw4JNPAfRnbDIGhAmffAqgvyJ8RAG24O67+ORTAP0R4SPCsQU3AKCvYc1HBGMLbgBAX0T4iFBswQ0A6KsIHxGKLbgBAH0V4SNCsQU3AKCvInxEKLbgBgD0VYSPCMUW3ACAvorwEaHYghsA0FcRPiIYW3ADAPoiNhmLcGzBDQDoawgfUYAtuAEAfQnTLgAAwFKEDwAAYCnCBwAAsBThAwAAWIoFpwAAdFGzz3D3YQgQPgAA6ILSyhoVlVQFfeinx+VUYW4m+y51E9MuAAAcQmlljfJXVrT5tPFab5PyV1aotLImTJVFJ8IHAACdaPYZFZVUybTznP9YUUmVmn3ttUB7CB8AAHSivHp3myseLRlJNd4mlVfvtq6oKMeaDwAAOlHf2HHw6Em7cIqUBbOEDwAAOpGS4Dx0o260C5dIWjDLtAsAAJ0Yn5Ekj8upjq4P2HTwTXx8RpKVZXVLpC2Y7bXw8cADD+ioo46S0+nUhAkTVF5e3lsvBQBAr3HYbSrMzZSkNgHE/3VhbmbE7vcRiQtmeyV8PPvss5o7d64KCwtVUVGhE044QVOnTlV9fX1vvBwAAL1qWpZHxXnZcruCp1bcLqeK87Ijep+PSFww2ytrPu6++25dfvnluvTSSyVJy5cv1yuvvKLHHntMCxYs6I2XBACgV03L8mhKpjsiFmx2RyQumA15+Ni/f782b96shQsXBo7Z7XZNnjxZZWVlbdrv27dP+/btC3zd0NAQ6pIAAAgJh92mnFHJ4S6jWyJxwWzIp13+93//V83NzUpNTQ06npqaqtra2jbtlyxZIpfLFXikp6eHuiQAAPqtSFwwG/a7XRYuXCiv1xt47Ny5M9wlAQDQZ0TigtmQh48jjjhCDodDdXV1Qcfr6urkdrvbtI+NjVViYmLQAwAAhE6kLZgN+ZqPgQMH6qSTTtK6det07rnnSpJ8Pp/WrVunP/zhD6F+OQAA0AWRtGC2V+52mTt3ri6++GKNGzdO48eP17333qu9e/cG7n4BAADWi5QFs70SPn71q1/pq6++0qJFi1RbW6uxY8eqtLS0zSJUAADQ/9iMMRH1GcANDQ1yuVzyer2s/wAAIEp05/077He7AACA/oXwAQAALEX4AAAAliJ8AAAASxE+AACApQgfAADAUoQPAABgqV7ZZOxw+LcdaWhoCHMlAACgq/zv213ZPiziwkdjY6MkKT09PcyVAACA7mpsbJTL5eq0TcTtcOrz+bRr1y4lJCTIZrP+w24OR0NDg9LT07Vz586o2501mmuXort+ag/f+XtbNNcfzbVL0V1/tNZujFFjY6PS0tJkt3e+qiPirnzY7XYNHz483GUclsTExKj6gWkpmmuXort+ag/f+XtbNNcfzbVL0V1/NNZ+qCsefiw4BQAAliJ8AAAASxE+Qig2NlaFhYWKjY0NdyndFs21S9FdP7WH7/y9LZrrj+bapeiuP5pr76qIW3AKAAD6Nq58AAAASxE+AACApQgfAADAUoQPAABgqagMH0uWLNHJJ5+shIQEpaSk6Nxzz9W2bduC2jQ1NamgoEDJyckaPHiwpk+frrq6usDzH3zwgS688EKlp6crLi5Oxx57rP70pz8FnePtt9/WpEmTlJycrLi4OI0ZM0b33HPPIeszxmjRokXyeDyKi4vT5MmTtX379qDaY2Ji5HA45HA4NGzYMP3mN7/Rrl27Oq39hRde0JQpUzR06FANGDBAsbGxio2NDaq9uLhYxx9/vOLj4+VwOALtQlG7v/4hQ4bIbrfLZrPJ6XTq7LPPDtTeUf2PPfaYpkyZomHDhmnQoEE64ogjNGzYsKC+v/nmm2Wz2YIeDocjavr+qKOOalO/zWbT0KFDo6LvU1NTA+ceMGCABg8eHNT3h/qd2rp1q7KysuRwOGSz2TRo0CD98Y9/DPo3Tpo0SbGxsYG+cblcuvnmmzvtl7ffflsTJ05UXFycbDab7Ha7fvjDHwb1zaxZs4L6Jj4+XjabTVu3bu20b+rq6rRhwwZlZ2drwIABSkhIUFJSUlDf/Pd//7dyc3OVlpYmm82mY489tlfGBP94dvbZZ2vMmDFB9XfW9xs2bNCYMWPkcDgUExOjgQMHWj4mtKzf5XKFrO+tGhN6q+97e0xoad++fRo7dmybvu+Iv+9jY2N19NFHa8WKFUHPNzY2as6cOTryyCMVFxeniRMn6r333jvkebvMRKGpU6eaxx9/3FRWVpqtW7eaX/ziF2bEiBHm22+/DbS54oorTHp6ulm3bp15//33zSmnnGImTpwYeP7RRx81s2fPNhs2bDCfffaZefLJJ01cXJy57777Am0qKirMqlWrTGVlpamurjZPPvmkiY+PNw899FCn9d1+++3G5XKZ1atXmw8++MCcffbZJiMjw3z//feB2ufPn2/+67/+y5x22mkmNTXVjB8/3uTk5HRa+9VXX22WLl1q/vjHP5qLLrrIzJw508TExJjFixcHan/ppZfMK6+8YlavXm3uuusuc/nll5uYmBizZMmSw67d3/cXXHCBeeqpp8zatWtNTk6OGThwoBk/fnynfe/xeMzSpUtNeXm5ue2228y4ceOMw+EwL730UqDvzzzzTHPccceZmpoa89prr5kHH3zQvPXWW1HT9/X19UG1P/zww0aSueGGGyK+7xMSEkxaWppZsWKFueeee0xqaqqx2WzmzTffDPT9T3/6005/p6ZPn24GDhxobrnlFvPKK6+YE0880dhsNnP33XcH2sydO9cUFRWZ1157zfzlL38xRx99tLHb7Z32TUVFhbngggtMQkKCeeihh8ytt95qHA6HOeKIIwJ9c9JJJ5mzzjrL3HvvvUaSSUxMNJLMpk2bOu2bk046ycTHx5u5c+eaxYsXm1NPPdXY7Xbz+OOPB/omPz/f3HjjjeaFF14wkszcuXN7ZUzwj2dHHXWUcTqdRpLZsmVLpz+XO3bsMPHx8eaMM84weXl5Zvbs2cZut5t58+ZZOib467/wwgvNsGHDQtb3Vo0JvdX3vT0mtDR79mxz5plnBtXeEX/tc+fONVVVVea+++4zDofDlJaWBtrMmDHDZGZmmo0bN5rt27ebwsJCk5iYaP7nf/6n03N3VVSGj9bq6+uNJLNx40ZjjDF79uwxAwYMMM8//3ygzSeffGIkmbKysg7Pc+WVV5rTTjut09f65S9/afLy8jp83ufzGbfbbf7zP/8zcGzPnj0mNjbWPP300x3WfttttxmbzWa++uqrbtWemZlpioqKOq196NCh5pFHHgl57S3rl2T279/frb73127Mwb4/6qijzAknnNBhfdHW91dffbUZNWqU8fl8Ed33s2bNMpLMyy+/3Obcv/nNb4wxxpx11lnGbrd3eO6O6rfb7SYzM7PDf/eaNWuMJPPrX/+6W33jr6d136xdu9ZIMrfeequRZB555JFALR31TUZGRtA5fvWrX5mpU6caY9qOCZLMiy++GNQ+lP9v165da44++ujA/9ctW7Z0WnteXp457rjj2q3f6jFh7dq1ZsyYMeatt94KWd9bOSZY0fe9NSb4+/7jjz/uUviYP39+h7UbY8x3331nHA5H0JhgjDHZ2dnmxhtv7PTcXRWV0y6teb1eSVJSUpIkafPmzTpw4IAmT54caDNmzBiNGDFCZWVlnZ7Hf472bNmyRZs2bdKpp57aYZvq6mrV1tYGvbbL5dKECRPafW1/7Rs3btTEiRP14Ycfdrl2n8+nxsZGJSUltVt7c3OznnnmGe3du1dDhgwJee2S9MUXX0iSxo4dqwEDBnS571vW7u+HuLg4bd++XWlpaRo5cqRmzpypL7/8UlL09f3+/fu1cuVKXXbZZdq6dWtE9/2ePXskSU6ns03ffPLJJ9qyZYv+9re/yefzdXjujuo/4ogjtG/fvnbr3717t+6//34NGDBAp512Wpf7ZsuWLXrvvfd09NFHB/276urqdPnllwf+jf4apI7HhNjY2DafJTV16tTAea0cE/z133HHHUHf39n/102bNgUdb1m/lWOCv/Ynn3xS//znPwPtOqu/K31v1ZhgRd/31pjQsu/j4+M7PF9LZWVlHdYuSf/85z/V3NwcNCZIUlxcnN5+++0uvcahRH348Pl8mjNnjiZNmqSsrCxJUm1trQYOHKghQ4YEtU1NTVVtbW2759m0aZOeffZZzZo1q81zw4cPV2xsrMaNG6eCggL97ne/67Ae//lTU1MP+drz58/XMcccI+ngL9qaNWu6Vfudd96pb7/9VhkZGUG1f/TRRxo8eLBiY2P161//Wj6fTzNmzAhp7ddff73i4+MD86VvvPFG4Bxdqd9f+4wZMwJ9P3PmTK1YsUKlpaUqLi5WdXW1Ro4cGVV977d69Wp9/fXXKioqCnntoe77F154Qccee6wWL16sXbt26cCBAzr//PMlHRx8x40bp9NPP73Tc7dX/6ZNm/TVV1/pBz/4QZv67Xa7kpOT9frrr+vaa6/tUt+ceeaZQT8LJ5xwQuA5Y4wuueQSXXHFFZKk5557TpJ09NFHd9o3ktp8enZqaqoaGhq0fv16y8YEf/2zZs3So48+qnHjxgV9f0d9/80337R73oaGBsvGhJZ9n52drcWLF0sKTd9bMSb0dt/79caY0LLvW9Z9KLW1tR3W/v333yshIUE5OTmBMaG5uVkrV65UWVmZampquvw6nYn68FFQUKDKyko988wzPT5HZWWlzjnnHBUWFuqMM85o8/xbb72l999/X8uXL9e9996rp59+WpL01FNPafDgwYHHW2+91a3X/eqrr+TxePTUU0/J4XDooosukvn/DWdbntc/oLa0atUqFRUVaenSpbrkkkuCaj/mmGO0detWvfvuu/r973+vwYMHa9GiRSGtfd68eTrnnHOUmpqqY445Jqj2/fv3d6n25557TvX19YG+v/HGG3X++efr+OOP19SpU7V27VrFxcXphhtuiJq+93v00Uf185//vFd+bnqj70tKSmSM0Q9+8APFxsaqqqpKZ5xxho488kgtX75cr776auBqQsv6N2/erJ07d7Z5Hf/vVGZmptxud5v6X3/9dT300EMaNWqU7rrrLq1atUrSwasv/kV5AwYMCOqb1atXB/Wn/y9gSbrvvvvU2NiohQsXSlLQIly/Q/VNazNmzLBsTPDXv2vXLlVWVmrZsmVt2hzq59Lv888/lyTdcMMNlowJLfu+oKCgzeJ/qed9b8WY0Nt979cbY0Lrn/v2dLX21p588smgMWHZsmW68MILZbeHKDaEZPImTAoKCszw4cPNjh07go6v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",
|
208 |
+
"text/plain": [
|
209 |
+
"<Figure size 640x480 with 1 Axes>"
|
210 |
+
]
|
211 |
+
},
|
212 |
+
"metadata": {},
|
213 |
+
"output_type": "display_data"
|
214 |
+
}
|
215 |
+
],
|
216 |
+
"source": [
|
217 |
+
"# Tahminlemeleri görselleştirme\n",
|
218 |
+
"plt.scatter(test_data.index, test_values, label='Gerçek Değerler')\n",
|
219 |
+
"plt.scatter(test_data.index, predictions, color='red', label='Tahminlemeler')\n",
|
220 |
+
"plt.xlabel('Tarih')\n",
|
221 |
+
"plt.ylabel('Kapanış Fiyatı')\n",
|
222 |
+
"plt.title('ARIMA ile Rastgele Zaman Serisi Kapanış Fiyatı Tahminlemesi')\n",
|
223 |
+
"plt.legend()\n",
|
224 |
+
"plt.show()"
|
225 |
+
]
|
226 |
+
}
|
227 |
+
],
|
228 |
+
"metadata": {
|
229 |
+
"kernelspec": {
|
230 |
+
"display_name": "Emre",
|
231 |
+
"language": "python",
|
232 |
+
"name": "python3"
|
233 |
+
},
|
234 |
+
"language_info": {
|
235 |
+
"codemirror_mode": {
|
236 |
+
"name": "ipython",
|
237 |
+
"version": 3
|
238 |
+
},
|
239 |
+
"file_extension": ".py",
|
240 |
+
"mimetype": "text/x-python",
|
241 |
+
"name": "python",
|
242 |
+
"nbconvert_exporter": "python",
|
243 |
+
"pygments_lexer": "ipython3",
|
244 |
+
"version": "3.11.3"
|
245 |
+
},
|
246 |
+
"orig_nbformat": 4
|
247 |
+
},
|
248 |
+
"nbformat": 4,
|
249 |
+
"nbformat_minor": 2
|
250 |
+
}
|