Une donnée préliminaire
a d'abord introduit le package numpopique de calcul scientifique, les pandas, le matplotlib, le sac d'apprentissage marboré et la machine Sklearn.
import pandas as pdimport numpy as npimport seaborn as snsimport matplotlib as mplimport matplotlib.pyplot as pltfrom IPython.display import displayplt.style.use("fivethirtyeight")sns.set_style({'font.sans-serif':['simhei','Arial']})%matplotlib inline# 检查Python版本from sys import version_infoif version_info.major != 3: raise Exception('请使用Python 3 来完成此项目')
Ensuite, entrez des données et effectuez des observations préliminaires, y compris
valeur inhabituelle , valeur inhabituelle et peut-être Description Statistiques .
# 导入链家二手房数据lianjia_df = pd.read_csv('lianjia.csv')display(lianjia_df.head(n=2))
Au total 11 caractéristiques d'origine ont été observées. Il existe des ensembles de données détectés avec un total de 23677 données, dans lesquels l'ascenseur a un manque de valeur significatif.
# 检查缺失值情况lianjia_df.info()
Les résultats ci-dessus fournissent des valeurs statistiques de valeurs numériques, y compris
moyen
lianjia_df.describe()
, écart type moyenne . Valeur minimale , Valeur maximale , 25% , 75% point . Ces statistiques sont simplement simples. Pour la compréhension initiale d'une fonctionnalité, il est très utile. Par exemple, nous observons la valeur maximale de la fonctionnalitéC est de 1019 mètres carrés, à un minimum de 2 mètres carrés, puis nous devons penser que cela est en fait, si cela ne signifie rien, ces données sont une valeur d'exception, affectera sérieusement la productivité de la marque du modèle. Bien sûr, il s'agit simplement d'une observation préliminaire, de suivi, nous utiliserons la visualisation des données pour afficher et confirmer clairement nos prévisions.
Nous avons constaté que la fonctionnalité d'identification n'est pas vraiment, alors retirez-la. Parce que les unités de logement sont plus pratiques, utilisez simplement le prix total / la zone, vous pouvez donc ajouter une nouvelle fonctionnalité de perprice (uniquement à analyser, pas une fonctionnalité prévisible). De plus, l'ordre des caractéristiques est également ajusté, il semble plus à l'aise.
Visualiser les données
# 添加新特征房屋均价df = lianjia_df.copy()df['PerPrice'] = lianjia_df['Price']/lianjia_df['Size']# 重新摆放列位置columns = ['Region', 'District', 'Garden', 'Layout', 'Floor', 'Year', 'Size', 'Elevator', 'Direction', 'Renovation', 'PerPrice', 'Price']df = pd.DataFrame(df, columns = columns)# 重新审视数据集display(df.head(n=2))
Analyse des caractéristiques de la zone
pour les caractéristiques régionales, nous pouvons analyser les tarifs des chambres. Et le nombre de zones différentes.
Utilisation de la fonction de perspective oraleUn panda, classer le paquet du groupe. Visualisez la zone de la zone directement à l'aide de Seamble Pont, utilisez la couleur du nombre de palettes, des pentes de couleur, plus les plus petits, plus.
Prix moyen de l'ancien logement
# 对二手房区域分组对比二手房数量和每平米房价df_house_count = df.groupby('Region')['Price'].count().sort_values(ascending=False).to_frame().reset_index()df_house_mean = df.groupby('Region')['PerPrice'].mean().sort_values(ascending=False).to_frame().reset_index()f, [ax1,ax2,ax3] = plt.subplots(3,1,figsize=(20,15))sns.barplot(x='Region', y='PerPrice', palette="Blues_d", data=df_house_mean, ax=ax1)ax1.set_title('北京各大区二手房每平米单价对比',fontsize=15)ax1.set_xlabel('区域')ax1.set_ylabel('每平米单价')sns.barplot(x='Region', y='Price', palette="Greens_d", data=df_house_count, ax=ax2)ax2.set_title('北京各大区二手房数量对比',fontsize=15)ax2.set_xlabel('区域')ax2.set_ylabel('数量')sns.boxplot(x='Region', y='Price', data=df, ax=ax3)ax3.set_title('北京各大区二手房房屋总价',fontsize=15)ax3.set_xlabel('区域')ax3.set_ylabel('房屋总价')plt.show()
: Le prix du lien le plus coûteux du district de Xicheng est d'environ 110 000 appartements, car Xicheng est au second tour et c'est un endroit centralisé à la célèbre école. Deuxièmement, Dongcheng est d'environ 100 000 habitants / appartements, puis Haidian, environ 85 000 appartements / appartements, et l'autre est inférieur à 80 000 / appartement. Ancien numéro de logement de l'ancien marché de logement quantitatif est maintenant plus chaud sur le marché. Le nombre d'anciens logements dans le comté de Haidian et de Chaoyang est principalement de 3 000 ensembles. Après tout, la demande est également grande. Après cela, le comté de Fengtai, au cours des dernières années, est en construction et a un grand potentiel de rattraper.
Prix total voir 60 millions de diagrammes de boîtes, montrant que les prix du logement ne sont pas idéaux. Caractéristiques de la taille
: Distribution de taille :
DessinFixez des colonnes en distribuant la distraction et en kdeplot, appartenant à la distribution de queues longues, indiquant qu'un grand nombre d'ancien boîtier est grand et dépassant la plage normale.
La relation entre la taille et le prix
:
Dessinez une parcelle dispersée entre la taille et le prix de la RegPlot et a constaté que la fonction de taille liée à calculer de manière significative avec les prix, en ligne avec Le bon sens fondamental, plus la région, plus le prix est élevé. Cependant, il y a deux points inhabituellement inhabituels: 1. Il y a moins de 10 mètres carrés, mais les prix dépassent 10 millions; 2. Un point un point dépasse 1000 mètres carrés, prix bas, nécessaire.
f, [ax1,ax2] = plt.subplots(1, 2, figsize=(15, 5))# 建房时间的分布情况sns.distplot(df['Size'], bins=20, ax=ax1, color='r')sns.kdeplot(df['Size'], shade=True, ax=ax1)# 建房时间和出售价格的关系sns.regplot(x='Size', y='Price', data=df, ax=ax2)plt.show()
Après avoir regardé la découverte, ce groupe de données est une villa, la raison est une structure spéciale spéciale (sans ascenseur sans ascenseur), Dinh, l'école est non seulement comme l'ancienne commerciale logement que la collection d'informations grimpe les mauvaises données. Il est également dans notre champ d'application en raison de notre ancien logement, il sera retiré à nouveau à quEnquête sur la répartition des relations de taille et de prix.
Cette vue inhabituelle observée n'est pas une vieille maison civile, peut-être une chambre de commerce, il y a donc une salle de 0 halls d'une superficie de plus de 1000 mètres carrés. Ici, vous choisissez de le supprimer.
Visualisation sans un score inhabituel clair.
df.loc[df['Size']< 10]
Cette caractéristique est vraiment inconnue et tous les types de combinaisons de halls sont mélangés, ainsi que 9 pièces 3 pièces. 4 chambres et autres structures étranges. Parmi eux, la 2e chambre a le plus grandi, puis la 3ème chambre, 2 chambres, 2 chambres, 3 chambres. Mais soigneusement observé beaucoup de noms irréguliers, tels que 2 chambres et 2 chambres 1 salle de bain et villa, aucun appels uniformes. Ces caractéristiques sont certainement incapables d'utiliser une entrée de données sous la forme d'un modèle de machine, le traitement correspondant requis par des fonctionnalités techniques.
df.loc[df['Size']>1000]
df = df[(df['Layout']!='叠拼别墅')&(df['Size']<1000)]
Hardcover 11345 Simplement finale 8497
Autres 3239
Northern 20
f, ax1= plt.subplots(figsize=(20,20))sns.countplot(y='Layout', data=df, ax=ax1)ax1.set_title('房屋户型',fontsize=15)ax1.set_xlabel('数量')ax1.set_ylabel('户型')plt.show()
Nom: Rénovation, DTYPE: INT64
df['Renovation'].value_counts()
# 去掉错误数据“南北“,因为爬虫过程中一些信息位置为空,导致“Direction“的特征出现在这里,需要清除或替换df['Renovation'] = df.loc[(df['Renovation'] != '南北'), 'Renovation']# 画幅设置f, [ax1,ax2,ax3] = plt.subplots(1, 3, figsize=(20, 5))sns.countplot(df['Renovation'], ax=ax1)sns.barplot(x='Renovation', y='Price', data=df, ax=ax2)sns.boxplot(x='Renovation', y='Price', data=df, ax=ax3)plt.show()
misn = len(df.loc[(df['Elevator'].isnull()), 'Elevator'])print('Elevator缺失值数量为:'+ str(misn))
# 由于存在个别类型错误,如简装和精装,特征值错位,故需要移除df['Elevator'] = df.loc[(df['Elevator'] == '有电梯')|(df['Elevator'] == '无电梯'), 'Elevator']# 填补Elevator缺失值df.loc[(df['Floor']>6)&(df['Elevator'].isnull()), 'Elevator'] = '有电梯'df.loc[(df['Floor']<=6)&(df['Elevator'].isnull()), 'Elevator'] = '无电梯'f, [ax1,ax2] = plt.subplots(1, 2, figsize=(20, 10))sns.countplot(df['Elevator'], ax=ax1)ax1.set_title('有无电梯数量对比',fontsize=15)ax1.set_xlabel('是否有电梯')ax1.set_ylabel('数量')sns.barplot(x='Elevator', y='Price', data=df, ax=ax2)ax2.set_title('有无电梯房价对比',fontsize=15)ax2.set_xlabel('是否有电梯')ax2.set_ylabel('总价')plt.show()
. ] Il existe une direction nord-sud dans les caractéristiques de rénovation, qui est le type d'orientation, qui peut être due à certaines informations dans le processus de reptiles est vide, orientée "direction" ici, donc C'est donc il doit être supprimé ou remplacé. ont observé que le nombre de vieux logements dans de belles décorations est le plus grand et le deuxième plus populaire. Pour les prix, le type de tambour est le plus élevé, puis bonne décoration. Analyse des caractéristiques de l'ascenseur Lorsque nous aurons probablement d'abord, nous avons constaté que ascenseurs Il existe un grand nombre de valeurs manquantes, très désavantagée, tout d'abord laissant un regard sur L'absence de valeur: Le nombre de valeurs manquées est: 8237 La valeur manque beaucoup quoi? Cela doit être considéré dans une situation réelle, les méthodes couramment utilisées sont pour combler le collègeH / Moyenne, élimination directe ou prédire le modèle selon d'autres caractéristiques. Ici, nous envisagons de remplir la loi, mais aucun ascenseur n'est pas une valeur, aucune valeur moyenne et un nombre moyen, comment le remplir? Ici, cela vous donne une pensée: Basé sur le sol pour déterminer s'il existe un ascenseur et que l'étage général a un ascenseur et aucun ascenseur dans 6 classes . Avec cette norme, après le simple pick-up. En conséquence, le nombre de vieilles maisons avec des ascenseurs était davantage, après tout, l'utilisation de terres de haute hauteur de haute hauteur, adaptées aux géants nord kinh, tandis que niveau a besoin d'ascenseurs. En conséquence, il y a un prix élevé de l'ancien logement dans l'ascenseur, car les frais de décoration avant et les coûts de maintenance suivants incluent à l'intérieur (mais ce prix n'est qu'un concept moyen, tel qu'un luxe de 6 étages sans ascenseur, bien sûr plus haut) . Cinq caractéristiques selon laConditions de classification de la rénovation et des ascenseurs, utilisant FACEGRID pour analyser cinq caractéristiques, les observations sont les suivantes: La tendance des prix de l'ancien logement augmente au fil du temps; L'ancien prix du logement a été construit après 2000 avec une augmentation significative des prix avant 2000; Presque sans ascenseur set avant 1980 données, pas d'ascenseurs à grande échelle avant 1980; Il n'y a pas d'ascenseurs dans la deuxième pièce avant 1980, le logement le plus utilisé, les grands uniformes et certains; On peut voir que le nombre de maisons anciennes est la caractéristique de plancher la plus, mais séparée n'a pas de sens, parce que le total Nombre de logements pour chaque communauté différente, nous devons connaître la signification relative du sol. De plus, le sol et la culture sont également très importants, tels que la culture chinoise sept, sept classes peuvent être courantes, le prix coûte également cher et aura 4 classes ou 18 étages. Bien sûr, le sol du milieu est relativement courant dans des conditions normales, des prix élevés, des pics basiques et basEt le prix est relativement faible.Par conséquent, le sol est une caractéristique très complexe et relativement importante pour les prix du logement. Ce partage est conçu pour permettre aux personnes de savoir comment utiliser Python pour effectuer une analyse de données simple.Les personnes qui viennent de contacter pour l'analyse de données sont définitivement une bonne pratique.Cependant, cette analyse présente encore de nombreux problèmes, tels que: Résoudre le problème exact des sources de données collectées par la collecte d'informations; Besoin de grimper ou de trouver plus de bonnes fonctionnalités de vente; Besoin de faire plus de techniques de travail, telles que le nettoyage des données, la sélection des fonctionnalités et le dépistage; Mettre en place un modèle de régression avec un modèle statistique pour prédire les prix;