import numpy as np
import pandas as pd
#提供一些有用的資料結構和讀取資料
import matplotlib.pyplot as plt #畫圖用
import seaborn as sns #畫圖用,是matplotlib的擴充套件
import os #獲取和更改工作路徑
from sklearn.model_selection import train_test_split #劃分訓練集測試集
os.getcwd() #獲取當前工作路徑
os.chdir('d:/tianchi') #將工作路徑更改到d:/tianchi,之後可直接讀取這路徑下的檔案
train= pd.read_csv('zhengqi_train.txt',sep='\t') #讀取工作路徑下的txt檔案
#注意,sep='\t'引數說明使用\t(即tab鍵生成的空格)作為分隔符,如果使用記事本開啟zhengqi_train.txt,
#可發現檔案中列與列之間是用tab鍵分開的,所以要指定sep='\t'
train.shape #考察資料維度
train.head() #返回資料的前5行
train.tail() #返回資料的後5行
train.columns #返回資料的列名
train.index #返回資料的索引(行名)
train.mean() #計算train中各列的均值
train.std() #標準差
#檢查train資料中是否有缺失值:
np.isnan(train).any().sum() #返回值為0,表明沒有缺失值
#若有缺失值,可以考慮兩種方法,一種是將含有缺失值的行刪除:
train.dropna(how='any') #how='any'表示有乙個缺失值的行都刪除
#另一種是用均值或者中位數填補,以v1列為例:
train['v1'].fillna(train['v1'].mean()) #均值填充
train['v1'].fillna(train['v1'].median()) #中位數填充
#直方圖:
#密度圖:
#首先將train資料中的**變數和響應變數分離:
x= train.iloc[:,:-1].copy() #將train的前38列作為x,iloc函式根據行標和列標來選取資料(:-1表示從第一列到倒數第2列,而方括號中逗號前只有乙個:表明選定所有行)
y= train.loc[:,'target'].copy() #提取出train資料的target列作為y,當使用列名來選定某些列時要使用loc函式
#注意複製要使用copy函式,否則當改變x和y的時候,train裡面相應的值也會改變,另外對dataframe型別的資料進行索引時必須使用loc或iloc函式,不能直接x[0:3,1:5]這樣
#劃分訓練集測試集:
x_train, x_test, y_train, y_test=train_test_split(x,y,test_size=0.2,random_state=1)
#test_size指定測試集的比例,random_state是隨機種子,相同的隨機種子抽樣結果相同
#線性回歸:
from sklearn.linear_model import linearregression
model= linearregression().fit(x_train,y_train)
#輸出模型在訓練集上的準確率:
print("在訓練集上的準確率為:%f" %(model.score(x_train,y_train)))
print("在測試集上的準確率為:%f" %(model.score(x_test,y_test)))
#print函式中%符號用於格式化輸出,%f表明等待乙個浮點數填充這個位置,
#而後面的%(model.score(x_test,y_test)))表明使用這個模型的得分作為填充
# 支援向量機:
from sklearn.svm import svr #引入支援向量機,如果是分類任務則from sklearn.svm import svc
model= svr().fit(x_train,y_train)
print("在訓練集上的準確率為:%f" %(model.score(x_train,y_train)))
#輸出模型在測試集上的準確率:
print("在測試集上的準確率為:%f" %(model.score(x_test,y_test)))
#其它像神經網路、決策樹、邏輯回歸等模型在sklearn庫中都有,使用方法大同小異,在此不贅述了。
以上就是使用python進行資料讀取、處理、視覺化、建模的最基本操作,其它更複雜的操作還是需要閱讀相關的書籍進行深入研究。 python讀取大資料csv R讀取並處理較大資料
1.概述 之前在讀取和處理較大的csv資料時,在嘗試了一次直接讀取處理後發現非常耗時,就改用匯入資料庫,再通過rmysql或者rodbc來讀取處理資料。今天來比較一下。載入相關packages library data.table library dplyr library sqldf librar...
Python讀取和處理nc檔案
首先進行一下更新,在anaconda prompt 開始選單欄 anaconda3檔案下 中輸入命令 conda update all 然後安裝讀nc檔案所需的模組netcdf4 conda install netcdf4 這樣就完成了hdf4模組的安裝。coding utf 8 spyder ed...
Python cora資料集的讀取和處理
參考資料 cora資料集介紹 python讀取 圖資料集之cora資料集介紹 用pyton處理 可用於gcn任務 cora資料集由機器學習 組成。這些 分為以下七個類別之一 import numpy as np import pandas as pd 讀入.content檔案 cora conten...