skor. 0
Ini mencakup pendekatan plotly
#load the libraries import pandas as pd import numpy as np import plotly.express as px import plotly.graph_objects as go # create the data N = 50 x = pd.Series(np.random.randn(N)) y = x*2.2 - 1.8 # plot the data as a scatter plot fig = px.scatter(x=x, y=y) # fit a linear model m, c = fit_line(x = x, y = y) # add the linear fit on top fig.add_trace( go.Scatter( x=x, y=m*x + c, mode="lines", line=go.scatter.Line(color="red"), showlegend=False) ) # optionally you can show the slop and the intercept mid_point = x.mean() fig.update_layout( showlegend=False, annotations=[ go.layout.Annotation( x=mid_point, y=m*mid_point + c, xref="x", yref="y", text=str(round(m, 2))+'x+'+str(round(c, 2)) , ) ] ) fig.show()di mana fit_line_ berada
def fit_line(x, y): # given one dimensional x and y vectors - return x and y for fitting a line on top of the regression # inspired by the numpy manual - //docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.lstsq.html x = x.to_numpy() # convert into numpy arrays y = y.to_numpy() # convert into numpy arrays A = np.vstack([x, np.ones(len(x))]).T # sent the design matrix using the intercepts m, c = np.linalg.lstsq(A, y, rcond=None)[0] return m, c _kode, yang akan digunakan untuk setiap kolom secara rekursif. Misalnya ['hijau', 'kuning'] setiap baris kolom akan diisi dengan warna hijau atau kuning, sebagai alternatif. Jika hanya ada satu kolom yang akan diplot, maka hanya warna pertama dari daftar warna yang akan digunakan
diwarnai sesuai. Misalnya, jika kolom Anda disebut a dan b, maka lewati {'a'. 'hijau', 'b'. ‘red’} akan mewarnai garis untuk kolom a berwarna hijau dan garis untuk kolom b berwarna merah
Baru di versi 1. 1. 0
**kwargsArgumen kata kunci tambahan didokumentasikan di
ndarray dikembalikan dengan satu per kolom ketika subplots=True
Lihat juga
Plot y versus x sebagai garis dan/atau penanda
Contoh
>>> s = pd.Series([1, 3, 2]) >>> s.plot.line() <AxesSubplot: ylabel='Density'>
Contoh berikut menunjukkan populasi beberapa hewan selama bertahun-tahun
>>> df = pd.DataFrame({ .. 'pig': [20, 18, 489, 675, 1776], .. 'horse': [4, 25, 281, 600, 1900] .. }, index=[1990, 1997, 2003, 2009, 2014]) >>> lines = df.plot.line()
Contoh dengan subplot, sehingga array sumbu dikembalikan
>>> axes = df.plot.line(subplots=True) >>> type(axes) <class 'numpy.ndarray'> _
Mari ulangi contoh yang sama, tetapi tentukan warna untuk setiap kolom (dalam hal ini, untuk setiap hewan)
Dengan data yang diberikan, kami dapat mencoba menemukan garis yang paling cocok. Setelah kami menemukan garis yang paling cocok, kami dapat menggunakannya untuk membuat prediksi
Pertimbangkan kami memiliki data tentang rumah. harga, ukuran, jalan masuk dan sebagainya. Anda dapat mengunduh dataset untuk artikel ini di sini
Data dapat berupa data apa pun yang disimpan dari Excel ke dalam format csv, kami akan menggunakan Python Pandas untuk memuat data
Kursus terkait- Pengantar Pembelajaran Mesin untuk Pengembang Python
Modul yang diperlukan
Anda harus menginstal beberapa modul
sudo pip install sklearn
sudo pip install scipy
sudo pip install scikit-learn
Muat dataset dan plot
Anda dapat memilih perangkat grafis, baris ini opsional
matplotlib.use('GTKAgg')
_
Kita mulai dengan memuat modul, dan dataset. Tanpa data, kami tidak dapat membuat prediksi yang baik
Langkah pertama adalah memuat dataset. Data akan dimuat menggunakan Python Pandas, modul analisis data. Itu akan dimuat ke dalam struktur yang dikenal sebagai Bingkai Data Panda, yang memungkinkan untuk setiap manipulasi baris dan kolom
Kami membuat dua array. X (ukuran) dan Y (harga). Secara intuitif kami berharap menemukan beberapa korelasi antara harga dan ukuran
Data akan dipecah menjadi set pelatihan dan tes. Setelah kami memiliki data uji, kami dapat menemukan garis yang paling cocok dan membuat prediksi
import matplotlib
matplotlib.use('GTKAgg')
import matplotlib.pyplot as plt
import numpy as np
from sklearn import datasets, linear_model
import pandas as pd
# Load CSV and columns
df = pd.read_csv("Housing.csv")
Y = df['price']
X = df['lotsize']
X=X.reshape(len(X),1)
Y=Y.reshape(len(Y),1)
# Split the data into training/testing sets
X_train = X[:-250]
X_test = X[-250:]
# Split the targets into training/testing sets
Y_train = Y[:-250]
Y_test = Y[-250:]
# Plot outputs
plt.scatter(X_test, Y_test, color='black')
plt.title('Test Data')
plt.xlabel('Size')
plt.ylabel('Price')
plt.xticks(())
plt.yticks(())
plt.show()
Akhirnya kami memplot data uji
Kami telah membuat dua kumpulan data dan memiliki data uji di layar. Kami dapat terus membuat garis yang paling sesuai