Hi, I’m traying to do this example from [Ml regression in Python (plotly.com)], but can’t manage to make it work … at this instant I can’t ask in stackoverflow, can some one please check why this code doesn’t work for me?:
import numpy as np
import plotly.express as px
import plotly.graph_objects as go
from sklearn.neighbors import KNeighborsRegressor
df = px.data.tips()
X = df.total_bill.values.reshape(-1, 1)
x_range = np.linspace(X.min(), X.max(), 100)
# Model #1
knn_dist = KNeighborsRegressor(10, weights='distance')
knn_dist.fit(X, df.tip)
y_dist = knn_dist.predict(x_range.reshape(-1, 1))
# Model #2
knn_uni = KNeighborsRegressor(10, weights='uniform')
knn_uni.fit(X, df.tip)
y_uni = knn_uni.predict(x_range.reshape(-1, 1))
fig = px.scatter(df, x='total_bill', y='tip', color='sex', opacity=0.65)
fig.add_traces(go.Scatter(x=x_range, y=y_uni, name='Weights: Uniform'))
fig.add_traces(go.Scatter(x=x_range, y=y_dist, name='Weights: Distance'))
fig.show()
This is my code:
import numpy as np
import plotly.express as px
import plotly.graph_objects as go
from sklearn.neighbors import KNeighborsRegressor
import pandas as pd
from csv import reader
nombre_del_archivo = "data.csv"
df = pd.read_csv(nombre_del_archivo)
tmp = df.select_dtypes(include=['Int64'])
df[tmp.columns]= tmp.astype('float64')
file_name = nombre_del_archivo
with open(file_name, "r", encoding='cp437') as csv_file:
csv_reader = reader(csv_file)
head = next(csv_reader)
print("head:")
print(", ".join(head))
for row in csv_reader:
(", ".join(row))
dff=df
dff=pd.DataFrame(dff)
dfff=dff.copy()
dfff5=dfff
dfff5=dfff5.loc[:,['VPIP','PFR']]
dfff5=dfff5.dropna()
drop1, drop2 = dfff5.columns[0:3].tolist()
print("df",dfff5)
dff5_=pd.DataFrame(dfff5['VPIP'])
dff5__=pd.DataFrame(dfff5['PFR'])
X=dff5_
xxl=len(X)
Xx=np.array(X)
yY=np.array(dff5__)
X = dff5_.values.reshape(-1,1 )
print("X",X)
print("x_shape)",np.shape(X))
x_range = np.linspace(X.min(), X.max(), 100)
print("x_range)",x_range)
print("x_rangeshape",np.shape(x_range))
y=dff5__
print("y",y)
# Model #1
knn_dist = KNeighborsRegressor(10, weights='distance')
knn_dist.fit(X, y)
y_dist = knn_dist.predict(x_range.reshape(-1,1 ))
print("ydist",y_dist)
print("y_distshape",np.shape(y_dist))
print("ydist",y_dist)
# Model #2
knn_uni = KNeighborsRegressor(10, weights='uniform')
knn_uni.fit(X, y)
y_uni = knn_uni.predict(x_range.reshape(-1,1 ))
print("yuni",y_uni)
print("y_distshape",np.shape(y_uni))
print("yuni",y_uni)
figure = px.scatter(dfff5, x=dff5_.loc[:,'VPIP'], y=dff5__.loc[:,'PFR'], opacity=0.65)
figure.add_traces(go.Scatter(x=x_range, y=y_uni, name='Weights: Uniform'))
figure.add_traces(go.Scatter(x=x_range, y=y_dist, name='Weights: Distance'))
figure.update_layout(transition_duration=500,)
figure.show()