반응형
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
import torch
np.set_printoptions(precision=6, suppress=True) #과학적 표기 없애고 소수 2짜리까지 표현
# Task 1-1
df = pd.read_csv("./owid-covid-data.csv")
# Task 1-2
df['date'] = pd.to_datetime(df['date'])
df['date']
0 2020-02-24
1 2020-02-25
2 2020-02-26
3 2020-02-27
4 2020-02-28
...
127812 2021-10-28
127813 2021-10-29
127814 2021-10-30
127815 2021-10-31
127816 2021-11-01
Name: date, Length: 127817, dtype: datetime64[ns]
# Task 2-1
date_df = df.set_index(['date'])
per_df = date_df.loc[:,['location','total_cases_per_million','new_cases_per_million','people_vaccinated_per_hundred','people_fully_vaccinated_per_hundred']]
jp_df = per_df[per_df['location'] == 'Japan']
kr_df = per_df[per_df['location'] == 'South Korea']
sr_one = jp_df['total_cases_per_million'] # jp의 total_cases_per_million
sr_two = kr_df['total_cases_per_million'] # kr의 total_cases_per_million
fig = plt.figure(figsize = (20,5))
ax = fig.add_subplot(1,1,1)
ax.plot(sr_one.index,sr_one.values,marker='o',markerfacecolor = 'green',markersize = 1, color = 'olive',linewidth =0.5, label = "Ratio of covid in japan")
ax.plot(sr_two.index,sr_two.values,marker='o',markerfacecolor = 'red',markersize = 1, color = 'magenta',linewidth =0.5, label = "Ratio of covid in Korea")
ax.legend(loc = 'best')
ax.set_title("Ratio of confirmed cases of covid in Korea and Japan")
ax.set_xlabel("date")
ax.set_ylabel("Percentage of confirmed cases by date")
plt.show()
# Task 2-2
sr_one = jp_df['new_cases_per_million'] # jp의 new_cases_per_million
sr_two = kr_df['new_cases_per_million'] # kr의 new_cases_per_million
fig = plt.figure(figsize = (20,5))
ax = fig.add_subplot(1,1,1)
ax.plot(sr_one.index,sr_one.values,marker='o',markerfacecolor = 'green',markersize = 1, color = 'olive',linewidth =0.5, label = "Ratio of covid in japan")
ax.plot(sr_two.index,sr_two.values,marker='o',markerfacecolor = 'red',markersize = 1, color = 'magenta',linewidth =0.5, label = "Ratio of covid in Korea")
ax.legend(loc = 'best')
ax.set_title("Ratio of new cases of covid in Korea and Japan")
ax.set_xlabel("date")
ax.set_ylabel("Percentage of new cases by date")
plt.show()
# Task 2-3
sr_one = jp_df['people_vaccinated_per_hundred'] # jp의 people_vaccinated_per_hundred
sr_two = kr_df['people_vaccinated_per_hundred'] # kr의 people_vaccinated_per_hundred
fig = plt.figure(figsize = (20,5))
ax = fig.add_subplot(1,1,1)
ax.plot(sr_one.index,sr_one.values,marker='o',markerfacecolor = 'green',markersize = 1, color = 'olive',linewidth =0.5, label = "Ratio of covid in japan")
ax.plot(sr_two.index,sr_two.values,marker='o',markerfacecolor = 'red',markersize = 1, color = 'magenta',linewidth =0.5, label = "Ratio of covid in Korea")
ax.legend(loc = 'best')
ax.set_title("Ratio of people_vaccinated_per_hundred of covid in Korea and Japan")
ax.set_xlabel("date")
ax.set_ylabel("Percentage of people_vaccinated_per_hundred by date")
plt.show()
# Task 2-4
sr_one = jp_df['people_fully_vaccinated_per_hundred'] # jp의 people_fully_vaccinated_per_hundred
sr_two = kr_df['people_fully_vaccinated_per_hundred'] # kr의 people_fully_vaccinated_per_hundred
fig = plt.figure(figsize = (20,5))
ax = fig.add_subplot(1,1,1)
ax.plot(sr_one.index,sr_one.values,marker='o',markerfacecolor = 'green',markersize = 1, color = 'olive',linewidth =0.5, label = "Ratio of covid in japan")
ax.plot(sr_two.index,sr_two.values,marker='o',markerfacecolor = 'red',markersize = 1, color = 'magenta',linewidth =0.5, label = "Ratio of covid in Korea")
ax.legend(loc = 'best')
ax.set_title("Ratio of people_fully_vaccinated_per_hundred of covid in Korea and Japan")
ax.set_xlabel("date")
ax.set_ylabel("Percentage of people_fully_vaccinated_per_hundred by date")
plt.show()
# Task 3-1
new_df = df[['location','date','total_deaths_per_million','total_cases_per_million','people_vaccinated_per_hundred','human_development_index']]
print(new_df)
location ... human_development_index
0 Afghanistan ... 0.511
1 Afghanistan ... 0.511
2 Afghanistan ... 0.511
3 Afghanistan ... 0.511
4 Afghanistan ... 0.511
... ... ... ...
127812 Zimbabwe ... 0.571
127813 Zimbabwe ... 0.571
127814 Zimbabwe ... 0.571
127815 Zimbabwe ... 0.571
127816 Zimbabwe ... 0.571
[127817 rows x 6 columns]
# Task 3-2
# 최근날짜 기준이라 nan값을 가지고 있어도 불러왔습니다.
nan_location_maxdate = new_df.loc[new_df.groupby(['location'])['date'].idxmax()]
print(nan_location_maxdate)
# Task3에서 사용할 결측값을 제거한 최근날짜입니다.
# Task 별로 결측값 제거
task3_df = new_df.dropna(axis=0,subset =['total_deaths_per_million','total_cases_per_million','people_vaccinated_per_hundred'])
task3_df = task3_df.loc[task3_df.groupby(['location'])['date'].idxmax()]
task3_df
location ... human_development_index
616 Afghanistan ... 0.511
1244 Africa ... NaN
1860 Albania ... 0.795
2476 Algeria ... 0.748
3086 Andorra ... 0.868
... ... ... ...
125409 Wallis and Futuna ... NaN
126059 World ... 0.737
126630 Yemen ... 0.470
127224 Zambia ... 0.584
127816 Zimbabwe ... 0.571
[233 rows x 6 columns]
location | date | total_deaths_per_million | total_cases_per_million | people_vaccinated_per_hundred | human_development_index | |
---|---|---|---|---|---|---|
607 | Afghanistan | 2021-10-23 | 182.074 | 3914.606 | 6.06 | 0.511 |
1244 | Africa | 2021-11-01 | 159.008 | 6191.136 | 8.93 | NaN |
1857 | Albania | 2021-10-29 | 1012.554 | 64164.370 | 35.29 | 0.795 |
2474 | Algeria | 2021-10-30 | 132.641 | 4625.137 | 14.26 | 0.748 |
3057 | Andorra | 2021-10-03 | 1680.585 | 196783.618 | 70.30 | 0.868 |
... | ... | ... | ... | ... | ... | ... |
125184 | Vietnam | 2021-10-31 | 224.949 | 9383.039 | 58.40 | 0.704 |
126059 | World | 2021-11-01 | 635.699 | 31383.570 | 49.63 | 0.737 |
126626 | Yemen | 2021-10-28 | 61.461 | 319.803 | 1.07 | 0.470 |
127169 | Zambia | 2021-09-07 | 191.325 | 10955.962 | 1.64 | 0.584 |
127815 | Zimbabwe | 2021-10-31 | 309.962 | 8810.992 | 22.02 | 0.571 |
193 rows × 6 columns
# Task 3-3
#확진자 비율 대비 사망자비율
task3_df['scatter_y'] = task3_df['total_deaths_per_million'] / task3_df['total_cases_per_million']
plt.figure(figsize=(10, 10))
plt.scatter(task3_df['people_vaccinated_per_hundred'],task3_df['scatter_y'],linewidth=1.5,edgecolors='black')
plt.title("correlation")
plt.xlabel("people_vaccinated_per_hundred")
plt.ylabel("total_deaths_per_million/total_cases_per_million")
plt.show()
# Task 3-4
import sys
def corre(X,Y):
mean_x = X.sum()/len(X)
mean_y = Y.sum()/len(Y)
std_x = (sum((x - mean_x) ** 2 for x in X)/len(X)) ** 0.5
std_y = (sum((y - mean_y) ** 2 for y in Y)/len(Y)) ** 0.5
cov = sum((x - mean_x) * (y - mean_y) for x, y in zip(X, Y))/len(X)
corr = cov/std_x/std_y
print("Correlation:", corr)
# 상관계수 구하기
corre(task3_df['people_vaccinated_per_hundred'],task3_df['scatter_y'])
Correlation: -0.25186827436417203
# Task 4-1
task4_df = task3_df.dropna(axis=0,subset =['human_development_index','people_vaccinated_per_hundred'])
corre(task4_df['human_development_index'],task4_df['people_vaccinated_per_hundred'])
Correlation: 0.822352862798583
# Task 4-2
def linear_regression(x_train,y_train):
W = torch.zeros(1,1)
b = torch.zeros(1,1)
lr = 0.01
for epoch in range(20001):
W.requires_grad_(True)
b.requires_grad_(True)
hypothesis = x_train * W + b
cost = torch.mean((hypothesis - y_train) ** 2)
cost.backward()
with torch.no_grad() as grd:
W = W - lr * W.grad
b = b - lr * b.grad
if epoch % 100 == 0:
print( 'epoch: {}, cost: {:.6f}, W: {}, b: {}'.format(epoch,
cost.item(), W.squeeze(), b.squeeze()))
print('W: {:.6f}, b:{}'.format(W.squeeze(), b.squeeze()))
x_train = []
y_train = []
hdi = task4_df['human_development_index']
vaccin = task4_df['people_vaccinated_per_hundred']
hdi = hdi - hdi.sum()/len(hdi)
vaccin = vaccin - vaccin.sum()/len(vaccin)
for i in hdi:
x_train.append([i])
for j in vaccin:
y_train.append([j])
x_train = torch.FloatTensor(x_train)
y_train = torch.FloatTensor(y_train)
linear_regression(x_train,y_train)
epoch: 0, cost: 755.567505, W: 0.06798353046178818, b: -2.38418573772492e-09
epoch: 100, cost: 711.369019, W: 6.713360786437988, b: 2.6226043559063328e-08
epoch: 200, cost: 670.993591, W: 13.064826011657715, b: 4.2915349496297495e-08
epoch: 300, cost: 634.110779, W: 19.135374069213867, b: 2.622604000634965e-08
epoch: 400, cost: 600.418274, W: 24.93742561340332, b: 3.337861542718201e-08
epoch: 500, cost: 569.640259, W: 30.48286247253418, b: 5.722047902168015e-08
epoch: 600, cost: 541.524475, W: 35.78303909301758, b: 6.914142147707025e-08
epoch: 700, cost: 515.840759, W: 40.84880447387695, b: 6.914142147707025e-08
epoch: 800, cost: 492.378662, W: 45.69051742553711, b: 6.437303312623044e-08
epoch: 900, cost: 470.946045, W: 50.31809616088867, b: 9.536746858884726e-08
epoch: 1000, cost: 451.367371, W: 54.74100112915039, b: 1.1444092962165087e-07
epoch: 1100, cost: 433.482300, W: 58.968265533447266, b: 5.006792846984354e-08
epoch: 1200, cost: 417.144257, W: 63.00858688354492, b: 7.867814133533102e-08
epoch: 1300, cost: 402.219513, W: 66.87020111083984, b: 7.390974587906385e-08
epoch: 1400, cost: 388.585754, W: 70.56102752685547, b: 1.1682509182264766e-07
epoch: 1500, cost: 376.131256, W: 74.088623046875, b: 1.0967251995452898e-07
epoch: 1600, cost: 364.754028, W: 77.46022033691406, b: 1.2636182589176315e-07
epoch: 1700, cost: 354.361023, W: 80.68267059326172, b: 1.0251995519183765e-07
epoch: 1800, cost: 344.867004, W: 83.7625961303711, b: 7.629392229091536e-08
epoch: 1900, cost: 336.194244, W: 86.706298828125, b: 1.0728833643725011e-07
epoch: 2000, cost: 328.271637, W: 89.51982116699219, b: 1.0013577167455878e-07
epoch: 2100, cost: 321.034363, W: 92.20890808105469, b: 8.583063504374877e-08
epoch: 2200, cost: 314.423157, W: 94.7790298461914, b: 5.7220429283688645e-08
epoch: 2300, cost: 308.383820, W: 97.23548889160156, b: 5.483625642455081e-08
epoch: 2400, cost: 302.866882, W: 99.58331298828125, b: 9.059902339458858e-08
epoch: 2500, cost: 297.827118, W: 101.8272933959961, b: 1.1205668215552578e-07
epoch: 2600, cost: 293.223297, W: 103.97203063964844, b: 9.775158815727991e-08
epoch: 2700, cost: 289.017761, W: 106.02189636230469, b: 8.821483277188236e-08
epoch: 2800, cost: 285.175964, W: 107.98111724853516, b: 7.152553394007555e-08
epoch: 2900, cost: 281.666504, W: 109.85368347167969, b: 6.556508225230573e-08
epoch: 3000, cost: 278.460602, W: 111.6434326171875, b: 6.079672232317535e-08
epoch: 3100, cost: 275.532166, W: 113.35393524169922, b: 2.861022352362852e-08
epoch: 3200, cost: 272.856873, W: 114.98885345458984, b: 8.344644086832886e-09
epoch: 3300, cost: 270.412994, W: 116.55148315429688, b: 1.1920922915464871e-08
epoch: 3400, cost: 268.180542, W: 118.04499816894531, b: 4.529951880272165e-08
epoch: 3500, cost: 266.141174, W: 119.47245025634766, b: 1.0251996940269237e-07
epoch: 3600, cost: 264.278198, W: 120.83676147460938, b: 1.0013577877998614e-07
epoch: 3700, cost: 262.576416, W: 122.14073944091797, b: 8.702274811867028e-08
epoch: 3800, cost: 261.021851, W: 123.38703155517578, b: 5.483626708269185e-08
epoch: 3900, cost: 259.601746, W: 124.57820892333984, b: 5.841255301675119e-08
epoch: 4000, cost: 258.304443, W: 125.71669006347656, b: 6.079672232317535e-08
epoch: 4100, cost: 257.119385, W: 126.80484771728516, b: 4.1723236421375987e-08
epoch: 4200, cost: 256.036804, W: 127.84487915039062, b: 5.3644164665911376e-08
epoch: 4300, cost: 255.047882, W: 128.83889770507812, b: 2.622601158464022e-08
epoch: 4400, cost: 254.144485, W: 129.7889862060547, b: 4.05311197937408e-08
epoch: 4500, cost: 253.319260, W: 130.69700622558594, b: 5.245204803827619e-08
epoch: 4600, cost: 252.565399, W: 131.56488037109375, b: 3.9339028035101364e-08
epoch: 4700, cost: 251.876770, W: 132.3943634033203, b: 5.364415400777034e-08
epoch: 4800, cost: 251.247696, W: 133.18716430664062, b: 5.0067878731852034e-08
epoch: 4900, cost: 250.673019, W: 133.94493103027344, b: 4.887579052592628e-08
epoch: 5000, cost: 250.148071, W: 134.6691436767578, b: 5.722043994182968e-08
epoch: 5100, cost: 249.668533, W: 135.36134338378906, b: 1.788137637959153e-08
epoch: 5200, cost: 249.230469, W: 136.02293395996094, b: 9.536725187331285e-09
epoch: 5300, cost: 248.830276, W: 136.6552734375, b: -4.053117308444598e-08
epoch: 5400, cost: 248.464722, W: 137.25961303710938, b: -4.1723271948512775e-08
epoch: 5500, cost: 248.130798, W: 137.8372344970703, b: -5.602839081575439e-08
epoch: 5600, cost: 247.825745, W: 138.38931274414062, b: -5.245211198712241e-08
epoch: 5700, cost: 247.547089, W: 138.91697692871094, b: -3.218654143211097e-08
epoch: 5800, cost: 247.292511, W: 139.4213104248047, b: -4.768373429442363e-08
epoch: 5900, cost: 247.059937, W: 139.90338134765625, b: -1.311303421402954e-08
epoch: 6000, cost: 246.847534, W: 140.36407470703125, b: -1.6689307713591006e-08
epoch: 6100, cost: 246.653473, W: 140.80438232421875, b: -3.5762874883715767e-09
epoch: 6200, cost: 246.476242, W: 141.2252197265625, b: -2.8610241287196914e-08
epoch: 6300, cost: 246.314285, W: 141.62745666503906, b: -5.722047546896647e-08
epoch: 6400, cost: 246.166397, W: 142.01190185546875, b: -3.218651656311522e-08
epoch: 6500, cost: 246.031250, W: 142.37933349609375, b: -4.768373429442363e-08
epoch: 6600, cost: 245.907852, W: 142.73049926757812, b: -3.457070363310777e-08
epoch: 6700, cost: 245.795059, W: 143.06619262695312, b: -3.3378604769040976e-08
epoch: 6800, cost: 245.692032, W: 143.3870391845703, b: -3.0994396382766354e-08
epoch: 6900, cost: 245.597916, W: 143.69366455078125, b: -4.410741993865486e-08
epoch: 7000, cost: 245.511978, W: 143.98670959472656, b: -6.437299759909365e-08
epoch: 7100, cost: 245.433441, W: 144.266845703125, b: -4.0531134004595515e-08
epoch: 7200, cost: 245.361710, W: 144.53456115722656, b: -5.8412542358610153e-08
epoch: 7300, cost: 245.296234, W: 144.79039001464844, b: -5.6028348183190246e-08
epoch: 7400, cost: 245.236359, W: 145.03494262695312, b: -3.933904224595608e-08
epoch: 7500, cost: 245.181671, W: 145.2686767578125, b: -6.79492657695846e-08
epoch: 7600, cost: 245.131760, W: 145.4920654296875, b: -6.675717401094516e-08
epoch: 7700, cost: 245.086090, W: 145.7056121826172, b: -4.887579052592628e-08
epoch: 7800, cost: 245.044418, W: 145.90968322753906, b: -6.556508935773309e-08
epoch: 7900, cost: 245.006317, W: 146.10470581054688, b: -6.198882118724214e-08
epoch: 8000, cost: 244.971527, W: 146.29115295410156, b: -4.8875801184067313e-08
epoch: 8100, cost: 244.939789, W: 146.46929931640625, b: -6.079673653403006e-08
epoch: 8200, cost: 244.910782, W: 146.6396026611328, b: -5.245210488169505e-08
epoch: 8300, cost: 244.884232, W: 146.8023681640625, b: -6.079675785031213e-08
epoch: 8400, cost: 244.860001, W: 146.95794677734375, b: -4.410744836036429e-08
epoch: 8500, cost: 244.837906, W: 147.1066131591797, b: -1.9073491230869877e-08
epoch: 8600, cost: 244.817673, W: 147.24871826171875, b: -2.026558476586615e-08
epoch: 8700, cost: 244.799210, W: 147.38455200195312, b: -3.4570710738535126e-08
epoch: 8800, cost: 244.782349, W: 147.51437377929688, b: -7.152556236178498e-08
epoch: 8900, cost: 244.766922, W: 147.6385040283203, b: -5.602836594675864e-08
epoch: 9000, cost: 244.752853, W: 147.75704956054688, b: -4.768370232000052e-08
epoch: 9100, cost: 244.739990, W: 147.87042236328125, b: -4.6491610561361085e-08
epoch: 9200, cost: 244.728241, W: 147.97874450683594, b: -5.364417887676609e-08
epoch: 9300, cost: 244.717545, W: 148.08226013183594, b: -4.4107423491368536e-08
epoch: 9400, cost: 244.707748, W: 148.1812286376953, b: -3.576277407546513e-08
epoch: 9500, cost: 244.698761, W: 148.27581787109375, b: -1.6689275739167897e-08
epoch: 9600, cost: 244.690613, W: 148.3661651611328, b: -1.907345215101941e-08
epoch: 9700, cost: 244.683121, W: 148.45260620117188, b: -3.337856213647683e-08
epoch: 9800, cost: 244.676315, W: 148.53514099121094, b: -1.7881353286952617e-08
epoch: 9900, cost: 244.670090, W: 148.61412048339844, b: 1.549724970573152e-08
epoch: 10000, cost: 244.664383, W: 148.6895294189453, b: 1.549724970573152e-08
epoch: 10100, cost: 244.659164, W: 148.7615966796875, b: 7.152599401649695e-09
epoch: 10200, cost: 244.654434, W: 148.8304901123047, b: 5.483632392611071e-08
epoch: 10300, cost: 244.650070, W: 148.8963623046875, b: -5.96041793698987e-09
epoch: 10400, cost: 244.646103, W: 148.9593505859375, b: 1.4305154394378405e-08
epoch: 10500, cost: 244.642502, W: 149.01956176757812, b: 4.440892098500626e-14
epoch: 10600, cost: 244.639160, W: 149.07699584960938, b: -4.768327066528855e-09
epoch: 10700, cost: 244.636154, W: 149.1319580078125, b: -9.536694989265015e-09
epoch: 10800, cost: 244.633392, W: 149.1845245361328, b: 2.7418186832051106e-08
epoch: 10900, cost: 244.630875, W: 149.23468017578125, b: 1.5497258587515716e-08
epoch: 11000, cost: 244.628555, W: 149.28268432617188, b: 4.768376626884674e-08
epoch: 11100, cost: 244.626465, W: 149.32858276367188, b: 5.483632747882439e-08
epoch: 11200, cost: 244.624527, W: 149.37232971191406, b: 3.695492267752343e-08
epoch: 11300, cost: 244.622803, W: 149.4142303466797, b: 7.03335274465644e-08
epoch: 11400, cost: 244.621185, W: 149.45433044433594, b: 4.41074803347874e-08
epoch: 11500, cost: 244.619705, W: 149.49267578125, b: 5.960469451338213e-08
epoch: 11600, cost: 244.618378, W: 149.52923583984375, b: 2.980235436211842e-08
epoch: 11700, cost: 244.617142, W: 149.56417846679688, b: 6.07967791665942e-08
epoch: 11800, cost: 244.616028, W: 149.59759521484375, b: 4.1723296817508526e-08
epoch: 11900, cost: 244.615005, W: 149.62957763671875, b: 4.410749099292843e-08
epoch: 12000, cost: 244.614044, W: 149.66009521484375, b: 2.622609329705483e-08
epoch: 12100, cost: 244.613220, W: 149.68917846679688, b: 3.099446033161257e-08
epoch: 12200, cost: 244.612442, W: 149.71697998046875, b: 4.2915402787002677e-08
epoch: 12300, cost: 244.611755, W: 149.7436065673828, b: 4.768376626884674e-08
epoch: 12400, cost: 244.611099, W: 149.7691650390625, b: 2.1457731591567608e-08
epoch: 12500, cost: 244.610458, W: 149.7935791015625, b: -7.15249681704222e-09
epoch: 12600, cost: 244.609940, W: 149.81668090820312, b: -7.152503478380368e-09
epoch: 12700, cost: 244.609436, W: 149.83897399902344, b: 2.145772626249709e-08
epoch: 12800, cost: 244.608994, W: 149.86033630371094, b: 4.887586158019985e-08
epoch: 12900, cost: 244.608582, W: 149.88046264648438, b: 4.291539568157532e-08
epoch: 13000, cost: 244.608215, W: 149.90013122558594, b: 3.576283802431135e-08
epoch: 13100, cost: 244.607864, W: 149.91844177246094, b: 2.384236141850238e-09
epoch: 13200, cost: 244.607544, W: 149.93634033203125, b: -5.960414384276191e-09
epoch: 13300, cost: 244.607254, W: 149.953125, b: -3.5762266481498273e-09
epoch: 13400, cost: 244.606995, W: 149.96951293945312, b: -1.4305065576536435e-08
epoch: 13500, cost: 244.606766, W: 149.98477172851562, b: 1.0728883559352198e-08
epoch: 13600, cost: 244.606522, W: 149.9999542236328, b: 1.5497260363872556e-08
epoch: 13700, cost: 244.606354, W: 150.01368713378906, b: 2.7418193937478463e-08
epoch: 13800, cost: 244.606155, W: 150.0274200439453, b: 1.7881442104794587e-08
epoch: 13900, cost: 244.605988, W: 150.04025268554688, b: 1.1920979758883732e-08
epoch: 14000, cost: 244.605850, W: 150.05245971679688, b: -1.78813479578821e-08
epoch: 14100, cost: 244.605682, W: 150.06466674804688, b: 1.9073526758006665e-08
epoch: 14200, cost: 244.605591, W: 150.0756072998047, b: 2.3841897345278085e-08
epoch: 14300, cost: 244.605453, W: 150.08628845214844, b: 6.198887092523364e-08
epoch: 14400, cost: 244.605347, W: 150.0969696044922, b: 7.390979561705535e-08
epoch: 14500, cost: 244.605255, W: 150.10662841796875, b: 8.940698847936801e-08
epoch: 14600, cost: 244.605164, W: 150.11578369140625, b: 4.7683752057992024e-08
epoch: 14700, cost: 244.605057, W: 150.12493896484375, b: 4.7683744952564666e-08
epoch: 14800, cost: 244.604996, W: 150.13409423828125, b: 3.099444612075786e-08
epoch: 14900, cost: 244.604950, W: 150.14173889160156, b: 1.5497240823947322e-08
epoch: 15000, cost: 244.604858, W: 150.1493682861328, b: 1.0728868460319063e-08
epoch: 15100, cost: 244.604828, W: 150.15699768066406, b: 1.1921266196424085e-09
epoch: 15200, cost: 244.604752, W: 150.1646270751953, b: 5.960497873047643e-09
epoch: 15300, cost: 244.604706, W: 150.17138671875, b: -5.960429483309326e-09
epoch: 15400, cost: 244.604691, W: 150.177490234375, b: 1.1920964659850597e-08
epoch: 15500, cost: 244.604630, W: 150.18359375, b: 1.1920969988921115e-08
epoch: 15600, cost: 244.604599, W: 150.189697265625, b: 3.814701798887654e-08
epoch: 15700, cost: 244.604568, W: 150.19580078125, b: 3.814701798887654e-08
epoch: 15800, cost: 244.604523, W: 150.20184326171875, b: 6.318097689472779e-08
epoch: 15900, cost: 244.604523, W: 150.2064208984375, b: 3.8147035752444935e-08
epoch: 16000, cost: 244.604492, W: 150.21099853515625, b: 2.503401397291327e-08
epoch: 16100, cost: 244.604477, W: 150.215576171875, b: 5.364424993103967e-08
epoch: 16200, cost: 244.604431, W: 150.22015380859375, b: 4.887587579105457e-08
epoch: 16300, cost: 244.604431, W: 150.2247314453125, b: 4.768378758512881e-08
epoch: 16400, cost: 244.604416, W: 150.22930908203125, b: 1.5497272798370432e-08
epoch: 16500, cost: 244.604385, W: 150.23388671875, b: -2.384179254022456e-08
epoch: 16600, cost: 244.604370, W: 150.23744201660156, b: -4.76831063522809e-09
epoch: 16700, cost: 244.604370, W: 150.24049377441406, b: 1.4305182816087836e-08
epoch: 16800, cost: 244.604370, W: 150.24354553222656, b: -8.344578361629829e-09
epoch: 16900, cost: 244.604340, W: 150.24659729003906, b: 7.152629155626755e-09
epoch: 17000, cost: 244.604340, W: 150.24964904785156, b: 8.34472224653382e-09
epoch: 17100, cost: 244.604324, W: 150.25270080566406, b: 1.668938054422142e-08
epoch: 17200, cost: 244.604324, W: 150.25575256347656, b: 2.861031056511365e-08
epoch: 17300, cost: 244.604324, W: 150.25880432128906, b: 3.576286999873446e-08
epoch: 17400, cost: 244.604309, W: 150.26185607910156, b: 6.198892066322514e-08
epoch: 17500, cost: 244.604279, W: 150.26490783691406, b: 5.36442783527491e-08
epoch: 17600, cost: 244.604279, W: 150.26795959472656, b: 5.960475135680099e-08
epoch: 17700, cost: 244.604263, W: 150.2700653076172, b: 5.72205536286674e-08
epoch: 17800, cost: 244.604279, W: 150.27159118652344, b: 4.053124413871956e-08
epoch: 17900, cost: 244.604279, W: 150.2731170654297, b: 4.053125834957427e-08
epoch: 18000, cost: 244.604279, W: 150.27464294433594, b: 3.0994510069604075e-08
epoch: 18100, cost: 244.604263, W: 150.2761688232422, b: 2.741823834639945e-08
epoch: 18200, cost: 244.604263, W: 150.27769470214844, b: 1.1921039266837852e-08
epoch: 18300, cost: 244.604279, W: 150.2792205810547, b: 1.1922074438786012e-09
epoch: 18400, cost: 244.604263, W: 150.28074645996094, b: 1.1922074438786012e-09
epoch: 18500, cost: 244.604233, W: 150.2822723388672, b: 3.5763920713804964e-09
epoch: 18600, cost: 244.604263, W: 150.28379821777344, b: -8.344534840887263e-09
epoch: 18700, cost: 244.604263, W: 150.2853240966797, b: -5.2451973431288934e-08
epoch: 18800, cost: 244.604263, W: 150.28684997558594, b: -1.5497095162686492e-08
epoch: 18900, cost: 244.604263, W: 150.2883758544922, b: -1.4305005180403896e-08
epoch: 19000, cost: 244.604263, W: 150.28990173339844, b: -1.1919862874520959e-09
epoch: 19100, cost: 244.604233, W: 150.2914276123047, b: 1.0728943955484738e-08
epoch: 19200, cost: 244.604233, W: 150.29295349121094, b: -1.9073375767675316e-08
epoch: 19300, cost: 244.604233, W: 150.2944793701172, b: -3.6954777016262597e-08
epoch: 19400, cost: 244.604233, W: 150.29600524902344, b: -5.0067811230292136e-08
epoch: 19500, cost: 244.604233, W: 150.2975311279297, b: -2.9802228240782824e-08
epoch: 19600, cost: 244.604233, W: 150.29905700683594, b: -2.0265478184455787e-08
epoch: 19700, cost: 244.604233, W: 150.3005828857422, b: -9.536648803987191e-09
epoch: 19800, cost: 244.604233, W: 150.30210876464844, b: -4.768278216715771e-09
epoch: 19900, cost: 244.604218, W: 150.3028564453125, b: -4.7682773285373514e-09
epoch: 20000, cost: 244.604218, W: 150.3028564453125, b: -4.7682773285373514e-09
W: 150.302856, b:-4.7682773285373514e-09
# Task 4-3
def matplot_linear(x_train,y_train):
W = torch.zeros(1,1)
b = torch.zeros(1,1)
lr = 0.01
for epoch in range(20001):
W.requires_grad_(True)
b.requires_grad_(True)
hypothesis = x_train * W+ b
cost = torch.mean((hypothesis - y_train) ** 2)
cost.backward()
with torch.no_grad() as grd:
W = W - lr * W.grad
b = b - lr * b.grad
# 학습한 linear regression
y = x_train * W + b
fig = plt.figure(figsize = (10,5))
ax = fig.add_subplot(1,1,1)
ax.scatter(hdi,vaccin,linewidth=1,edgecolors='black', label = "scatter plot")
ax.plot(x_train,y,color = 'magenta',linewidth =1, label = "linear Regression")
ax.legend(loc = 'best')
ax.set_title("")
ax.set_xlabel("human_development_index")
ax.set_ylabel("people_vaccinated_per_hundred")
plt.show()
matplot_linear(x_train,y_train)
'AI > AI Project' 카테고리의 다른 글
KNN으로 citrus data set 분류하기 (1) | 2024.01.30 |
---|---|
사용자 MBTI 유추하기 프로젝트 (4) | 2023.12.05 |
Spark MLLib Titanic Data - MulticlassClassification (0) | 2023.09.12 |
Yolov5모델로 쓰레기 탐지하기 (0) | 2023.09.12 |
Transformer로 spam 데이터 판별 (0) | 2023.09.10 |