இரண்டுக்கும் மேற்பட்ட மதிப்புகளைப் பொறுத்து ஒரு taraget variable எவ்வாறு அமைகிறது எனக் காண்பதே multi-variate analysis ஆகும். Parallel coordinates என்பது இத்தகைய multi dimensional data-வைக் காண்பதற்கு உதவும் வரைபட வகை ஆகும்.
இங்கு plotly மற்றும் matplotlib மூலம் இத்தகைய வரைபடங்கள் வரைந்து கட்டப்பட்டுள்ளது. ‘SalePrice’ எனும் categorical variable-க்கு தரவுகள் எவ்வாறு சீராகப் பரவியுள்ளது என்பதை இந்த வரைபடம் காட்டும். இதை வைத்து இதில் ஏதாவது trend உள்ளதா என்பதை நாம் கண்டறியலாம். Plotly மூலம் வரையும் போது, ஒவ்வொரு column-லும் உள்ள min மற்றும் max மதிப்புகளை அதன் range-ஆக கொடுக்கப்பட்டுள்ளதை கவனிக்கவும். இந்த வரைபடம் ஒரு html கோப்பாக interactive முறையில் சேமிக்கப்படுகிறது.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import pandas as pd | |
import matplotlib.pyplot as plt | |
from pandas.plotting import parallel_coordinates | |
import plotly | |
import plotly.graph_objs as go | |
import numpy as np | |
df = pd.read_csv("14_input_data.csv") | |
parallel_coordinates(df, 'SalePrice') | |
plt.savefig('ParallelCoordinates.jpg') | |
desc_data = df.describe() | |
desc_data.to_csv('./metrics.csv') | |
X = df[list(df.columns)[:-1]] | |
y = df['SalePrice'] | |
data = [ | |
go.Parcoords( | |
line = dict(colorscale = 'Jet', | |
showscale = True, | |
reversescale = True, | |
cmin = -4000, | |
cmax = -100), | |
dimensions = list([ | |
dict(range = [1,10], | |
label = 'OverallQual', values = df['OverallQual']), | |
dict(range = [0,6110], | |
label = 'TotalBsmtSF', values = df['TotalBsmtSF']), | |
dict(tickvals = [334,4692], | |
label = '1stFlrSF', values = df['1stFlrSF']), | |
dict(range = [334,5642], | |
label = 'GrLivArea', values = df['GrLivArea']), | |
dict(range = [0,3], | |
label = 'FullBath', values = df['FullBath']), | |
dict(range = [2,14], | |
label = 'TotRmsAbvGrd', values = df['TotRmsAbvGrd']), | |
dict(range = [0,3], | |
label = 'Fireplaces', values = df['Fireplaces']), | |
dict(range = [0,4], | |
label = 'GarageCars', values = df['GarageCars']), | |
dict(range = [0,1418], | |
label = 'GarageArea', values = df['GarageArea']), | |
dict(range = [34900,555000], | |
label = 'SalePrice', values = df['SalePrice']) | |
]) | |
) | |
] | |
plotly.offline.plot(data, filename = './parallel_coordinates_plot.html', auto_open= True) |